{"version":3,"file":"static/js/vendor.async.landing~ee5b3ab0.0bb8a4a9.chunk.js","mappings":"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","sources":["../../../../node_modules/.pnpm/@xstate+react@3.0.1_@types+react@17.0.69_react@17.0.1_xstate@4.34.0/node_modules/@xstate/react/es/useSpawn.js","../../../../node_modules/.pnpm/@xstate+react@3.0.1_@types+react@17.0.69_react@17.0.1_xstate@4.34.0/node_modules/@xstate/react/es/useActor.js","../../../../node_modules/.pnpm/@xstate+react@3.0.1_@types+react@17.0.69_react@17.0.1_xstate@4.34.0/node_modules/@xstate/react/es/useConstant.js","../../../../node_modules/.pnpm/@xstate+react@3.0.1_@types+react@17.0.69_react@17.0.1_xstate@4.34.0/node_modules/@xstate/react/es/useInterpret.js","../../../../node_modules/.pnpm/@xstate+react@3.0.1_@types+react@17.0.69_react@17.0.1_xstate@4.34.0/node_modules/@xstate/react/es/useMachine.js","../../../../node_modules/.pnpm/@xstate+react@3.0.1_@types+react@17.0.69_react@17.0.1_xstate@4.34.0/node_modules/@xstate/react/es/useSelector.js","../../../../node_modules/.pnpm/@xstate+react@3.0.1_@types+react@17.0.69_react@17.0.1_xstate@4.34.0/node_modules/@xstate/react/es/utils.js","../../../../node_modules/.pnpm/jquery.redirect@1.2.0/node_modules/jquery.redirect/jquery.redirect.js","../../../../node_modules/.pnpm/lolex@1.3.2/node_modules/lolex/src/lolex.js","../../../../node_modules/.pnpm/react-block-ui@1.3.5_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-block-ui/dist/reactblockui.es.js","../../../../node_modules/.pnpm/react-bootstrap@0.33.1_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-bootstrap/lib/InputGroup.js","../../../../node_modules/.pnpm/react-bootstrap@0.33.1_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-bootstrap/lib/InputGroupAddon.js","../../../../node_modules/.pnpm/react-bootstrap@0.33.1_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-bootstrap/lib/InputGroupButton.js","../../../../node_modules/.pnpm/react-bootstrap@0.33.1_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-bootstrap/lib/utils/StyleConfig.js","../../../../node_modules/.pnpm/react-bootstrap@0.33.1_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-bootstrap/lib/utils/bootstrapUtils.js","../../../../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-transition-group/esm/utils/ChildMapping.js","../../../../node_modules/.pnpm/react-transition-group@4.4.5_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/react-transition-group/esm/TransitionGroup.js","../../../../node_modules/.pnpm/urs@0.0.8_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/urs/dist/useRefState.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/types.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/utils.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/FetchContext.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/defaults.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/useFetchArgs.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/doFetchArgs.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/storage/localStorage.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/storage/memoryStorage.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/useCache.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/useFetch.js","../../../../node_modules/.pnpm/use-http@1.0.27_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-http/dist/esm/Provider.js","../../../../node_modules/.pnpm/use-isomorphic-layout-effect@1.1.2_@types+react@17.0.69_react@17.0.1/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../../../../node_modules/.pnpm/use-ssr@1.0.25_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/use-ssr/dist/useSSR.js","../../../../node_modules/.pnpm/use-sync-external-store@1.2.0_react@17.0.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../../node_modules/.pnpm/use-sync-external-store@1.2.0_react@17.0.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../../node_modules/.pnpm/use-sync-external-store@1.2.0_react@17.0.1/node_modules/use-sync-external-store/shim/index.js","../../../../node_modules/.pnpm/use-sync-external-store@1.2.0_react@17.0.1/node_modules/use-sync-external-store/shim/with-selector.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/Actor.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/Machine.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/State.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/invokeUtils.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/StateNode.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/_virtual/_tslib.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/actionTypes.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/actions.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/behaviors.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/constants.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/environment.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/mapState.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/match.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/schema.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/index.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/scheduler.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/registry.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/devTools.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/interpreter.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/serviceScope.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/stateUtils.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/types.js","../../../../node_modules/.pnpm/xstate@4.34.0/node_modules/xstate/es/utils.js","../../../../node_modules/.pnpm/swr@2.2.0_react@17.0.1/node_modules/swr/_internal/dist/index.mjs","../../../../node_modules/.pnpm/swr@2.2.0_react@17.0.1/node_modules/swr/core/dist/index.mjs"],"sourcesContent":["import { spawnBehavior } from 'xstate';\nimport useConstant from './useConstant';\n/**\n * React hook that spawns an `ActorRef` with the specified `behavior`.\n * The returned `ActorRef` can be used with the `useActor(actorRef)` hook.\n *\n * @param behavior The actor behavior to spawn\n * @returns An ActorRef with the specified `behavior`\n */\nexport function useSpawn(behavior) {\n var actorRef = useConstant(function () {\n return spawnBehavior(behavior);\n });\n return actorRef;\n}\n","import { useRef, useCallback } from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\nimport useConstant from './useConstant';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nexport function isActorWithState(actorRef) {\n return 'state' in actorRef;\n}\nfunction isDeferredActor(actorRef) {\n return 'deferred' in actorRef;\n}\nfunction defaultGetSnapshot(actorRef) {\n return 'getSnapshot' in actorRef\n ? actorRef.getSnapshot()\n : isActorWithState(actorRef)\n ? actorRef.state\n : undefined;\n}\nexport function useActor(actorRef, getSnapshot) {\n if (getSnapshot === void 0) { getSnapshot = defaultGetSnapshot; }\n var actorRefRef = useRef(actorRef);\n var deferredEventsRef = useRef([]);\n var subscribe = useCallback(function (handleStoreChange) {\n var unsubscribe = actorRef.subscribe(handleStoreChange).unsubscribe;\n return unsubscribe;\n }, [actorRef]);\n var boundGetSnapshot = useCallback(function () { return getSnapshot(actorRef); }, [\n actorRef,\n getSnapshot\n ]);\n var storeSnapshot = useSyncExternalStore(subscribe, boundGetSnapshot, boundGetSnapshot);\n var send = useConstant(function () { return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var event = args[0];\n if (process.env.NODE_ENV !== 'production' && args.length > 1) {\n console.warn(\"Unexpected payload: \".concat(JSON.stringify(args[1]), \". Only a single event object can be sent to actor send() functions.\"));\n }\n var currentActorRef = actorRefRef.current;\n // If the previous actor is a deferred actor,\n // queue the events so that they can be replayed\n // on the non-deferred actor.\n if (isDeferredActor(currentActorRef) && currentActorRef.deferred) {\n deferredEventsRef.current.push(event);\n }\n else {\n currentActorRef.send(event);\n }\n }; });\n useIsomorphicLayoutEffect(function () {\n actorRefRef.current = actorRef;\n // Dequeue deferred events from the previous deferred actorRef\n while (deferredEventsRef.current.length > 0) {\n var deferredEvent = deferredEventsRef.current.shift();\n actorRef.send(deferredEvent);\n }\n }, [actorRef]);\n return [storeSnapshot, send];\n}\n","import * as React from 'react';\nexport default function useConstant(fn) {\n var ref = React.useRef();\n if (!ref.current) {\n ref.current = { v: fn() };\n }\n return ref.current.v;\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { useEffect, useState } from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\nimport { interpret, InterpreterStatus, State, toObserver } from 'xstate';\nimport useConstant from './useConstant';\nexport function useIdleInterpreter(getMachine, options) {\n var machine = useConstant(function () {\n return typeof getMachine === 'function' ? getMachine() : getMachine;\n });\n if (process.env.NODE_ENV !== 'production' &&\n typeof getMachine !== 'function') {\n var _a = __read(useState(machine), 1), initialMachine = _a[0];\n if (getMachine !== initialMachine) {\n console.warn('Machine given to `useMachine` has changed between renders. This is not supported and might lead to unexpected results.\\n' +\n 'Please make sure that you pass the same Machine as argument each time.');\n }\n }\n var context = options.context, guards = options.guards, actions = options.actions, activities = options.activities, services = options.services, delays = options.delays, rehydratedState = options.state, interpreterOptions = __rest(options, [\"context\", \"guards\", \"actions\", \"activities\", \"services\", \"delays\", \"state\"]);\n var service = useConstant(function () {\n var machineConfig = {\n context: context,\n guards: guards,\n actions: actions,\n activities: activities,\n services: services,\n delays: delays\n };\n var machineWithConfig = machine.withConfig(machineConfig, function () { return (__assign(__assign({}, machine.context), context)); });\n return interpret(machineWithConfig, interpreterOptions);\n });\n // Make sure options are kept updated when they change.\n // This mutation assignment is safe because the service instance is only used\n // in one place -- this hook's caller.\n useIsomorphicLayoutEffect(function () {\n Object.assign(service.machine.options.actions, actions);\n Object.assign(service.machine.options.guards, guards);\n Object.assign(service.machine.options.activities, activities);\n Object.assign(service.machine.options.services, services);\n Object.assign(service.machine.options.delays, delays);\n }, [actions, guards, activities, services, delays]);\n return service;\n}\nexport function useInterpret(getMachine) {\n var _a = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n _a[_i - 1] = arguments[_i];\n }\n var _b = __read(_a, 2), _c = _b[0], options = _c === void 0 ? {} : _c, observerOrListener = _b[1];\n var service = useIdleInterpreter(getMachine, options);\n useEffect(function () {\n if (!observerOrListener) {\n return;\n }\n var sub = service.subscribe(toObserver(observerOrListener));\n return function () {\n sub.unsubscribe();\n };\n }, [observerOrListener]);\n useEffect(function () {\n var rehydratedState = options.state;\n service.start(rehydratedState ? State.create(rehydratedState) : undefined);\n return function () {\n service.stop();\n service.status = InterpreterStatus.NotStarted;\n };\n }, []);\n return service;\n}\n","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { useCallback, useEffect } from 'react';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { InterpreterStatus, State } from 'xstate';\nimport { useIdleInterpreter } from './useInterpret';\nfunction identity(a) {\n return a;\n}\nexport function useMachine(getMachine) {\n var _a = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n _a[_i - 1] = arguments[_i];\n }\n var _b = __read(_a, 1), _c = _b[0], options = _c === void 0 ? {} : _c;\n // using `useIdleInterpreter` allows us to subscribe to the service *before* we start it\n // so we don't miss any notifications\n var service = useIdleInterpreter(getMachine, options);\n var getSnapshot = useCallback(function () {\n if (service.status === InterpreterStatus.NotStarted) {\n return (options.state\n ? State.create(options.state)\n : service.machine.initialState);\n }\n return service.state;\n }, [service]);\n var isEqual = useCallback(function (prevState, nextState) {\n if (service.status === InterpreterStatus.NotStarted) {\n return true;\n }\n // Only change the current state if:\n // - the incoming state is the \"live\" initial state (since it might have new actors)\n // - OR the incoming state actually changed.\n //\n // The \"live\" initial state will have .changed === undefined.\n var initialStateChanged = nextState.changed === undefined &&\n (Object.keys(nextState.children).length > 0 ||\n typeof prevState.changed === 'boolean');\n return !(nextState.changed || initialStateChanged);\n }, [service]);\n var subscribe = useCallback(function (handleStoreChange) {\n var unsubscribe = service.subscribe(handleStoreChange).unsubscribe;\n return unsubscribe;\n }, [service]);\n var storeSnapshot = useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, identity, isEqual);\n useEffect(function () {\n var rehydratedState = options.state;\n service.start(rehydratedState ? State.create(rehydratedState) : undefined);\n return function () {\n service.stop();\n service.status = InterpreterStatus.NotStarted;\n };\n }, []);\n return [storeSnapshot, service.send, service];\n}\n","import { useCallback, useRef } from 'react';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { isActorWithState } from './useActor';\nimport { getServiceSnapshot } from './utils';\nfunction isService(actor) {\n return 'state' in actor && 'machine' in actor;\n}\nvar defaultCompare = function (a, b) { return a === b; };\nvar defaultGetSnapshot = function (a, initialStateCacheRef) {\n if (isService(a)) {\n // A status of 0 = interpreter not started\n if (a.status === 0 && initialStateCacheRef.current) {\n return initialStateCacheRef.current;\n }\n var snapshot = getServiceSnapshot(a);\n initialStateCacheRef.current = a.status === 0 ? snapshot : null;\n return snapshot;\n }\n return isActorWithState(a) ? a.state : undefined;\n};\nexport function useSelector(actor, selector, compare, getSnapshot) {\n if (compare === void 0) { compare = defaultCompare; }\n var initialStateCacheRef = useRef(null);\n var subscribe = useCallback(function (handleStoreChange) {\n var unsubscribe = actor.subscribe(handleStoreChange).unsubscribe;\n return unsubscribe;\n }, [actor]);\n var boundGetSnapshot = useCallback(function () {\n if (getSnapshot) {\n return getSnapshot(actor);\n }\n return defaultGetSnapshot(actor, initialStateCacheRef);\n }, [actor, getSnapshot]);\n var selectedSnapshot = useSyncExternalStoreWithSelector(subscribe, boundGetSnapshot, boundGetSnapshot, selector, compare);\n return selectedSnapshot;\n}\n","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nexport function partition(items, predicate) {\n var e_1, _a;\n var _b = __read([[], []], 2), truthy = _b[0], falsy = _b[1];\n try {\n for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n var item = items_1_1.value;\n if (predicate(item)) {\n truthy.push(item);\n }\n else {\n falsy.push(item);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return [truthy, falsy];\n}\nexport function getServiceSnapshot(service) {\n return service.status !== 0 ? service.state : service.machine.initialState;\n}\n// From https://github.com/reduxjs/react-redux/blob/master/src/utils/shallowEqual.ts\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n }\n else {\n return x !== x && y !== y;\n }\n}\nexport function shallowEqual(objA, objB) {\n if (is(objA, objB))\n return true;\n if (typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null) {\n return false;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length)\n return false;\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n","/*\njQuery Redirect v1.2.0\n\nCopyright (c) 2013-2022 Miguel Galante\nCopyright (c) 2011-2013 Nemanja Avramovic, www.avramovic.info\n\nLicensed under CC BY-SA 4.0 License: http://creativecommons.org/licenses/by-sa/4.0/\n\nThis means everyone is allowed to:\n\nShare - copy and redistribute the material in any medium or format\nAdapt - remix, transform, and build upon the material for any purpose, even commercially.\nUnder following conditions:\n\nAttribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.\nShareAlike - If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.\n*/\n; (function ($) {\n 'use strict';\n\n // Defaults configuration\n var defaults = {\n url: null,\n values: null,\n method: 'POST',\n target: null,\n traditional: false,\n redirectTop: false,\n shouldKeepBlankFields: false\n };\n\n /**\n * jQuery Redirect\n * @param {string} url - Url of the redirection\n * @param {Object} values - (optional) An object with the data to send. If not present will look for values as QueryString in the target url.\n * @param {string} method - (optional) The HTTP verb can be GET or POST (defaults to POST)\n * @param {string} target - (optional) The target of the form. \"_blank\" will open the url in a new window.\n * @param {boolean} traditional - (optional) This provides the same function as jquery's ajax function. The brackets are omitted on the field name if its an array. This allows arrays to work with MVC.net among others.\n * @param {boolean} redirectTop - (optional) If its called from a iframe, force to navigate the top window.\n * @param {boolean} shouldKeepBlankFields - (optional) If shouldKeepBlankFields is false, blank fields will be removed.\n *//**\n * jQuery Redirect\n * @param {string} opts - Options object\n * @param {string} opts.url - Url of the redirection\n * @param {Object} opts.values - (optional) An object with the data to send. If not present will look for values as QueryString in the target url.\n * @param {string} opts.method - (optional) The HTTP verb can be GET or POST (defaults to POST)\n * @param {string} opts.target - (optional) The target of the form. \"_blank\" will open the url in a new window.\n * @param {boolean} opts.traditional - (optional) This provides the same function as jquery's ajax function. The brackets are omitted on the field name if its an array. This allows arrays to work with MVC.net among others.\n * @param {boolean} opts.redirectTop - (optional) If its called from a iframe, force to navigate the top window.\n * @param {boolean} opts.shouldKeepBlankFields - (optional) If shouldKeepBlankFields is false, blank fields will be removed.\n */\n\n $.redirect = function (url, values, method, target, traditional, redirectTop, shouldKeepBlankFields) {\n var opts = url;\n if (typeof url !== 'object') {\n opts = {\n url: url,\n values: values,\n method: method,\n target: target,\n traditional: traditional,\n redirectTop: redirectTop,\n shouldKeepBlankFields: shouldKeepBlankFields\n };\n }\n\n var config = $.extend({}, defaults, opts);\n var generatedForm = $.redirect.getForm(config.url, config.values, config.method, config.target, config.traditional, config.shouldKeepBlankFields);\n $('body', config.redirectTop ? window.top.document : undefined).append(generatedForm.form);\n generatedForm.submit();\n generatedForm.form.remove();\n };\n\n $.redirect.getForm = function (url, values, method, target, traditional, shouldKeepBlankFields) {\n method = (method && ['GET', 'POST', 'PUT', 'DELETE'].indexOf(method.toUpperCase()) !== -1) ? method.toUpperCase() : 'POST';\n\n url = url.split('#');\n var hash = url[1] ? ('#' + url[1]) : '';\n url = url[0];\n\n if (!values) {\n var obj = $.parseUrl(url);\n url = obj.url;\n values = obj.params;\n }\n\n values = removeNulls(values, shouldKeepBlankFields);\n\n var form = $('
')\n .attr('method', method)\n .attr('action', url + hash);\n\n if (target) {\n form.attr('target', target);\n }\n\n var submit = form[0].submit;\n iterateValues(values, [], form, null, traditional);\n\n return { form: form, submit: function () { submit.call(form[0]); } };\n };\n\n // Utility Functions\n /**\n * Url and QueryString Parser.\n * @param {string} url - a Url to parse.\n * @returns {object} an object with the parsed url with the following structure {url: URL, params:{ KEY: VALUE }}\n */\n $.parseUrl = function (url) {\n if (url.indexOf('?') === -1) {\n return {\n url: url,\n params: {}\n };\n }\n var parts = url.split('?');\n var queryString = parts[1];\n var elems = queryString.split('&');\n url = parts[0];\n\n var i;\n var pair;\n var obj = {};\n for (i = 0; i < elems.length; i += 1) {\n pair = elems[i].split('=');\n obj[pair[0]] = pair[1];\n }\n\n return {\n url: url,\n params: obj\n };\n };\n\n // Private Functions\n var getInput = function (name, value, parent, array, traditional) {\n var parentString;\n if (parent.length > 0) {\n parentString = parent[0];\n var i;\n for (i = 1; i < parent.length; i += 1) {\n parentString += '[' + parent[i] + ']';\n }\n\n if (array) {\n if (traditional) {\n name = parentString;\n } else {\n name = parentString + '[' + name + ']';\n }\n } else {\n name = parentString + '[' + name + ']';\n }\n }\n\n return $('').attr('type', 'hidden')\n .attr('name', name)\n .attr('value', value);\n };\n\n var iterateValues = function (values, parent, form, isArray, traditional) {\n var iterateParent = [];\n Object.keys(values).forEach(function (i) {\n if (typeof values[i] === 'object') {\n iterateParent = parent.slice();\n iterateParent.push(i);\n iterateValues(values[i], iterateParent, form, Array.isArray(values[i]), traditional);\n } else {\n form.append(getInput(i, values[i], parent, isArray, traditional));\n }\n });\n };\n\n var removeNulls = function (values, shouldKeepBlankFields) {\n var propNames = Object.getOwnPropertyNames(values);\n for (var i = 0; i < propNames.length; i++) {\n var propName = propNames[i];\n if (values[propName] === null || values[propName] === undefined) {\n delete values[propName];\n } else if (typeof values[propName] === 'object') {\n values[propName] = removeNulls(values[propName], shouldKeepBlankFields);\n } else if (!shouldKeepBlankFields && values[propName].length < 1) {\n delete values[propName];\n }\n }\n return values;\n };\n}(window.jQuery || window.Zepto || window.jqlite));\n","/*global global, window*/\n/**\n * @author Christian Johansen (christian@cjohansen.no) and contributors\n * @license BSD\n *\n * Copyright (c) 2010-2014 Christian Johansen\n */\n\n(function (global) {\n \"use strict\";\n\n // Make properties writable in IE, as per\n // http://www.adequatelygood.com/Replacing-setTimeout-Globally.html\n // JSLint being anal\n var glbl = global;\n\n global.setTimeout = glbl.setTimeout;\n global.clearTimeout = glbl.clearTimeout;\n global.setInterval = glbl.setInterval;\n global.clearInterval = glbl.clearInterval;\n global.Date = glbl.Date;\n\n // setImmediate is not a standard function\n // avoid adding the prop to the window object if not present\n if('setImmediate' in global) {\n global.setImmediate = glbl.setImmediate;\n global.clearImmediate = glbl.clearImmediate;\n }\n\n // node expects setTimeout/setInterval to return a fn object w/ .ref()/.unref()\n // browsers, a number.\n // see https://github.com/cjohansen/Sinon.JS/pull/436\n\n var NOOP = function () { return undefined; };\n var timeoutResult = setTimeout(NOOP, 0);\n var addTimerReturnsObject = typeof timeoutResult === \"object\";\n clearTimeout(timeoutResult);\n\n var NativeDate = Date;\n var uniqueTimerId = 1;\n\n /**\n * Parse strings like \"01:10:00\" (meaning 1 hour, 10 minutes, 0 seconds) into\n * number of milliseconds. This is used to support human-readable strings passed\n * to clock.tick()\n */\n function parseTime(str) {\n if (!str) {\n return 0;\n }\n\n var strings = str.split(\":\");\n var l = strings.length, i = l;\n var ms = 0, parsed;\n\n if (l > 3 || !/^(\\d\\d:){0,2}\\d\\d?$/.test(str)) {\n throw new Error(\"tick only understands numbers and 'h:m:s'\");\n }\n\n while (i--) {\n parsed = parseInt(strings[i], 10);\n\n if (parsed >= 60) {\n throw new Error(\"Invalid time \" + str);\n }\n\n ms += parsed * Math.pow(60, (l - i - 1));\n }\n\n return ms * 1000;\n }\n\n /**\n * Used to grok the `now` parameter to createClock.\n */\n function getEpoch(epoch) {\n if (!epoch) { return 0; }\n if (typeof epoch.getTime === \"function\") { return epoch.getTime(); }\n if (typeof epoch === \"number\") { return epoch; }\n throw new TypeError(\"now should be milliseconds since UNIX epoch\");\n }\n\n function inRange(from, to, timer) {\n return timer && timer.callAt >= from && timer.callAt <= to;\n }\n\n function mirrorDateProperties(target, source) {\n var prop;\n for (prop in source) {\n if (source.hasOwnProperty(prop)) {\n target[prop] = source[prop];\n }\n }\n\n // set special now implementation\n if (source.now) {\n target.now = function now() {\n return target.clock.now;\n };\n } else {\n delete target.now;\n }\n\n // set special toSource implementation\n if (source.toSource) {\n target.toSource = function toSource() {\n return source.toSource();\n };\n } else {\n delete target.toSource;\n }\n\n // set special toString implementation\n target.toString = function toString() {\n return source.toString();\n };\n\n target.prototype = source.prototype;\n target.parse = source.parse;\n target.UTC = source.UTC;\n target.prototype.toUTCString = source.prototype.toUTCString;\n\n return target;\n }\n\n function createDate() {\n function ClockDate(year, month, date, hour, minute, second, ms) {\n // Defensive and verbose to avoid potential harm in passing\n // explicit undefined when user does not pass argument\n switch (arguments.length) {\n case 0:\n return new NativeDate(ClockDate.clock.now);\n case 1:\n return new NativeDate(year);\n case 2:\n return new NativeDate(year, month);\n case 3:\n return new NativeDate(year, month, date);\n case 4:\n return new NativeDate(year, month, date, hour);\n case 5:\n return new NativeDate(year, month, date, hour, minute);\n case 6:\n return new NativeDate(year, month, date, hour, minute, second);\n default:\n return new NativeDate(year, month, date, hour, minute, second, ms);\n }\n }\n\n return mirrorDateProperties(ClockDate, NativeDate);\n }\n\n function addTimer(clock, timer) {\n if (timer.func === undefined) {\n throw new Error(\"Callback must be provided to timer calls\");\n }\n\n if (!clock.timers) {\n clock.timers = {};\n }\n\n timer.id = uniqueTimerId++;\n timer.createdAt = clock.now;\n timer.callAt = clock.now + (timer.delay || (clock.duringTick ? 1 : 0));\n\n clock.timers[timer.id] = timer;\n\n if (addTimerReturnsObject) {\n return {\n id: timer.id,\n ref: NOOP,\n unref: NOOP\n };\n }\n\n return timer.id;\n }\n\n\n function compareTimers(a, b) {\n // Sort first by absolute timing\n if (a.callAt < b.callAt) {\n return -1;\n }\n if (a.callAt > b.callAt) {\n return 1;\n }\n\n // Sort next by immediate, immediate timers take precedence\n if (a.immediate && !b.immediate) {\n return -1;\n }\n if (!a.immediate && b.immediate) {\n return 1;\n }\n\n // Sort next by creation time, earlier-created timers take precedence\n if (a.createdAt < b.createdAt) {\n return -1;\n }\n if (a.createdAt > b.createdAt) {\n return 1;\n }\n\n // Sort next by id, lower-id timers take precedence\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n\n // As timer ids are unique, no fallback `0` is necessary\n }\n\n function firstTimerInRange(clock, from, to) {\n var timers = clock.timers,\n timer = null,\n id,\n isInRange;\n\n for (id in timers) {\n if (timers.hasOwnProperty(id)) {\n isInRange = inRange(from, to, timers[id]);\n\n if (isInRange && (!timer || compareTimers(timer, timers[id]) === 1)) {\n timer = timers[id];\n }\n }\n }\n\n return timer;\n }\n\n function callTimer(clock, timer) {\n var exception;\n\n if (typeof timer.interval === \"number\") {\n clock.timers[timer.id].callAt += timer.interval;\n } else {\n delete clock.timers[timer.id];\n }\n\n try {\n if (typeof timer.func === \"function\") {\n timer.func.apply(null, timer.args);\n } else {\n eval(timer.func);\n }\n } catch (e) {\n exception = e;\n }\n\n if (!clock.timers[timer.id]) {\n if (exception) {\n throw exception;\n }\n return;\n }\n\n if (exception) {\n throw exception;\n }\n }\n\n function timerType(timer) {\n if (timer.immediate) {\n return \"Immediate\";\n } else if (typeof timer.interval !== \"undefined\") {\n return \"Interval\";\n } else {\n return \"Timeout\";\n }\n }\n\n function clearTimer(clock, timerId, ttype) {\n if (!timerId) {\n // null appears to be allowed in most browsers, and appears to be\n // relied upon by some libraries, like Bootstrap carousel\n return;\n }\n\n if (!clock.timers) {\n clock.timers = [];\n }\n\n // in Node, timerId is an object with .ref()/.unref(), and\n // its .id field is the actual timer id.\n if (typeof timerId === \"object\") {\n timerId = timerId.id;\n }\n\n if (clock.timers.hasOwnProperty(timerId)) {\n // check that the ID matches a timer of the correct type\n var timer = clock.timers[timerId];\n if (timerType(timer) === ttype) {\n delete clock.timers[timerId];\n } else {\n\t\t\t\tthrow new Error(\"Cannot clear timer: timer created with set\" + ttype + \"() but cleared with clear\" + timerType(timer) + \"()\");\n\t\t\t}\n }\n }\n\n function uninstall(clock, target) {\n var method,\n i,\n l;\n\n for (i = 0, l = clock.methods.length; i < l; i++) {\n method = clock.methods[i];\n\n if (target[method].hadOwnProperty) {\n target[method] = clock[\"_\" + method];\n } else {\n try {\n delete target[method];\n } catch (ignore) {}\n }\n }\n\n // Prevent multiple executions which will completely remove these props\n clock.methods = [];\n }\n\n function hijackMethod(target, method, clock) {\n var prop;\n\n clock[method].hadOwnProperty = Object.prototype.hasOwnProperty.call(target, method);\n clock[\"_\" + method] = target[method];\n\n if (method === \"Date\") {\n var date = mirrorDateProperties(clock[method], target[method]);\n target[method] = date;\n } else {\n target[method] = function () {\n return clock[method].apply(clock, arguments);\n };\n\n for (prop in clock[method]) {\n if (clock[method].hasOwnProperty(prop)) {\n target[method][prop] = clock[method][prop];\n }\n }\n }\n\n target[method].clock = clock;\n }\n\n var timers = {\n setTimeout: setTimeout,\n clearTimeout: clearTimeout,\n setImmediate: global.setImmediate,\n clearImmediate: global.clearImmediate,\n setInterval: setInterval,\n clearInterval: clearInterval,\n Date: Date\n };\n\n var keys = Object.keys || function (obj) {\n var ks = [],\n key;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n ks.push(key);\n }\n }\n\n return ks;\n };\n\n exports.timers = timers;\n\n function createClock(now) {\n var clock = {\n now: getEpoch(now),\n timeouts: {},\n Date: createDate()\n };\n\n clock.Date.clock = clock;\n\n clock.setTimeout = function setTimeout(func, timeout) {\n return addTimer(clock, {\n func: func,\n args: Array.prototype.slice.call(arguments, 2),\n delay: timeout\n });\n };\n\n clock.clearTimeout = function clearTimeout(timerId) {\n return clearTimer(clock, timerId, \"Timeout\");\n };\n\n clock.setInterval = function setInterval(func, timeout) {\n return addTimer(clock, {\n func: func,\n args: Array.prototype.slice.call(arguments, 2),\n delay: timeout,\n interval: timeout\n });\n };\n\n clock.clearInterval = function clearInterval(timerId) {\n return clearTimer(clock, timerId, \"Interval\");\n };\n\n clock.setImmediate = function setImmediate(func) {\n return addTimer(clock, {\n func: func,\n args: Array.prototype.slice.call(arguments, 1),\n immediate: true\n });\n };\n\n clock.clearImmediate = function clearImmediate(timerId) {\n return clearTimer(clock, timerId, \"Immediate\");\n };\n\n clock.tick = function tick(ms) {\n ms = typeof ms === \"number\" ? ms : parseTime(ms);\n var tickFrom = clock.now, tickTo = clock.now + ms, previous = clock.now;\n var timer = firstTimerInRange(clock, tickFrom, tickTo);\n var oldNow;\n\n clock.duringTick = true;\n\n var firstException;\n while (timer && tickFrom <= tickTo) {\n if (clock.timers[timer.id]) {\n tickFrom = clock.now = timer.callAt;\n try {\n oldNow = clock.now;\n callTimer(clock, timer);\n // compensate for any setSystemTime() call during timer callback\n if (oldNow !== clock.now) {\n tickFrom += clock.now - oldNow;\n tickTo += clock.now - oldNow;\n previous += clock.now - oldNow;\n }\n } catch (e) {\n firstException = firstException || e;\n }\n }\n\n timer = firstTimerInRange(clock, previous, tickTo);\n previous = tickFrom;\n }\n\n clock.duringTick = false;\n clock.now = tickTo;\n\n if (firstException) {\n throw firstException;\n }\n\n return clock.now;\n };\n\n clock.reset = function reset() {\n clock.timers = {};\n };\n\n clock.setSystemTime = function setSystemTime(now) {\n // determine time difference\n var newNow = getEpoch(now);\n var difference = newNow - clock.now;\n\n // update 'system clock'\n clock.now = newNow;\n\n // update timers and intervals to keep them stable\n for (var id in clock.timers) {\n if (clock.timers.hasOwnProperty(id)) {\n var timer = clock.timers[id];\n timer.createdAt += difference;\n timer.callAt += difference;\n }\n }\n };\n\n return clock;\n }\n exports.createClock = createClock;\n\n exports.install = function install(target, now, toFake) {\n var i,\n l;\n\n if (typeof target === \"number\") {\n toFake = now;\n now = target;\n target = null;\n }\n\n if (!target) {\n target = global;\n }\n\n var clock = createClock(now);\n\n clock.uninstall = function () {\n uninstall(clock, target);\n };\n\n clock.methods = toFake || [];\n\n if (clock.methods.length === 0) {\n clock.methods = keys(timers);\n }\n\n for (i = 0, l = clock.methods.length; i < l; i++) {\n hijackMethod(target, clock.methods[i], clock);\n }\n\n return clock;\n };\n\n}(global || this));\n","import React, { Component } from 'react';\n\nfunction Loader(_ref) {\n var ariaLabel = _ref.ariaLabel;\n\n return React.createElement(\n 'div',\n { className: 'loading-indicator', 'aria-label': ariaLabel },\n React.createElement(\n 'span',\n { 'aria-hidden': 'true', className: 'loading-bullet' },\n '\\u2022'\n ),\n ' ',\n React.createElement(\n 'span',\n { 'aria-hidden': 'true', className: 'loading-bullet' },\n '\\u2022'\n ),\n ' ',\n React.createElement(\n 'span',\n { 'aria-hidden': 'true', className: 'loading-bullet' },\n '\\u2022'\n )\n );\n}\n\n// https://gist.github.com/Alex1990/046a6553dc83e22dd6f4\n/**\n * Get the current active element safely.\n * Ref: https://github.com/jquery/jquery-ui/blob/2b84531ae9331f60e4d739fabca6d78abde89ae1/ui/safe-active-element.js\n */\nfunction safeActiveElement(doc) {\n doc = doc || document;\n var activeElement = void 0;\n\n try {\n activeElement = document.activeElement;\n if (!activeElement || !activeElement.nodeName) {\n activeElement = doc.body;\n }\n } catch (error) {\n activeElement = doc.body;\n }\n\n return activeElement;\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar defaultProps = {\n tag: 'div',\n renderChildren: true,\n loader: Loader\n};\n\nvar BlockUi$1 = function (_Component) {\n inherits(BlockUi, _Component);\n\n function BlockUi(props) {\n classCallCheck(this, BlockUi);\n\n var _this = possibleConstructorReturn(this, (BlockUi.__proto__ || Object.getPrototypeOf(BlockUi)).call(this, props));\n\n _this.tabbedUpTop = _this.tabbedUpTop.bind(_this);\n _this.tabbedDownTop = _this.tabbedDownTop.bind(_this);\n _this.tabbedUpBottom = _this.tabbedUpBottom.bind(_this);\n _this.tabbedDownBottom = _this.tabbedDownBottom.bind(_this);\n _this.setHelper = _this.setRef.bind(_this, 'helper');\n _this.setBlocker = _this.setRef.bind(_this, 'blocker');\n _this.setTopFocus = _this.setRef.bind(_this, 'topFocus');\n _this.setContainer = _this.setRef.bind(_this, 'container');\n _this.setMessageContainer = _this.setRef.bind(_this, 'messageContainer');\n _this.handleScroll = _this.handleScroll.bind(_this);\n\n _this.state = { top: '50%' };\n return _this;\n }\n\n createClass(BlockUi, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n if (nextProps.blocking !== this.props.blocking) {\n if (nextProps.blocking) {\n // blocking started\n if (this.helper && this.helper.parentNode && this.helper.parentNode.contains && this.helper.parentNode.contains(safeActiveElement())) {\n this.focused = safeActiveElement();\n // https://www.tjvantoll.com/2013/08/30/bugs-with-document-activeelement-in-internet-explorer/#blurring-the-body-switches-windows-in-ie9-and-ie10\n if (this.focused && this.focused !== document.body) {\n (window.setImmediate || setTimeout)(function () {\n return _this2.focused && typeof _this2.focused.blur === 'function' && _this2.focused.blur();\n });\n }\n }\n } else {\n this.detachListeners();\n var ae = safeActiveElement();\n if (this.focused && (!ae || ae === document.body || ae === this.topFocus)) {\n if (typeof this.focused.focus === 'function') {\n this.focused.focus();\n }\n this.focused = null;\n }\n }\n }\n if (nextProps.keepInView && (nextProps.keepInView !== this.props.keepInView || nextProps.blocking && nextProps.blocking !== this.props.blocking)) {\n this.attachListeners();\n this.keepInView(nextProps);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.detachListeners();\n }\n }, {\n key: 'setRef',\n value: function setRef(name, ref) {\n this[name] = ref;\n if (ref && name === 'container') {\n this.keepInView();\n }\n }\n }, {\n key: 'attachListeners',\n value: function attachListeners() {\n window.addEventListener('scroll', this.handleScroll);\n }\n }, {\n key: 'detachListeners',\n value: function detachListeners() {\n window.removeEventListener('scroll', this.handleScroll);\n }\n }, {\n key: 'blockingTab',\n value: function blockingTab(e) {\n var withShift = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n // eslint-disable-next-line eqeqeq\n return this.props.blocking && (e.key === 'Tab' || e.keyCode === 9) && e.shiftKey == withShift;\n }\n }, {\n key: 'tabbedUpTop',\n value: function tabbedUpTop(e) {\n if (this.blockingTab(e)) {\n this.blocker.focus();\n }\n }\n }, {\n key: 'tabbedDownTop',\n value: function tabbedDownTop(e) {\n if (this.blockingTab(e)) {\n e.preventDefault();\n this.blocker.focus();\n }\n }\n }, {\n key: 'tabbedUpBottom',\n value: function tabbedUpBottom(e) {\n if (this.blockingTab(e, true)) {\n this.topFocus.focus();\n }\n }\n }, {\n key: 'tabbedDownBottom',\n value: function tabbedDownBottom(e) {\n if (this.blockingTab(e, true)) {\n e.preventDefault();\n this.topFocus.focus();\n }\n }\n }, {\n key: 'keepInView',\n value: function keepInView() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n if (props.blocking && props.keepInView && this.container) {\n var containerBounds = this.container.getBoundingClientRect();\n var windowHeight = window.innerHeight;\n if (containerBounds.top > windowHeight || containerBounds.bottom < 0) return;\n if (containerBounds.top >= 0 && containerBounds.bottom <= windowHeight) {\n if (this.state.top !== '50%') {\n this.setState({ top: '50%' });\n }\n return;\n }\n\n var messageBoundsHeight = this.messageContainer ? this.messageContainer.getBoundingClientRect().height : 0;\n var top = Math.max(Math.min(windowHeight, containerBounds.bottom) - Math.max(containerBounds.top, 0), messageBoundsHeight) / 2;\n if (containerBounds.top < 0) {\n top = Math.min(top - containerBounds.top, containerBounds.height - messageBoundsHeight / 2);\n }\n if (this.state.top !== top) {\n this.setState({ top: top });\n }\n }\n }\n }, {\n key: 'handleScroll',\n value: function handleScroll() {\n this.keepInView();\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n Tag = _props.tag,\n blocking = _props.blocking,\n className = _props.className,\n children = _props.children,\n message = _props.message,\n Loader$$1 = _props.loader,\n renderChildren = _props.renderChildren,\n keepInView = _props.keepInView,\n _props$ariaLabel = _props.ariaLabel,\n ariaLabel = _props$ariaLabel === undefined ? 'loading' : _props$ariaLabel,\n attributes = objectWithoutProperties(_props, ['tag', 'blocking', 'className', 'children', 'message', 'loader', 'renderChildren', 'keepInView', 'ariaLabel']);\n\n\n var classes = blocking ? 'block-ui ' + className : className;\n var renderChilds = !blocking || renderChildren;\n\n return React.createElement(\n Tag,\n _extends({}, attributes, { className: classes, 'aria-busy': blocking }),\n blocking && React.createElement('div', { tabIndex: '0', onKeyUp: this.tabbedUpTop, onKeyDown: this.tabbedDownTop, ref: this.setTopFocus }),\n renderChilds && children,\n blocking && React.createElement(\n 'div',\n { className: 'block-ui-container',\n tabIndex: '0',\n ref: this.setBlocker,\n onKeyUp: this.tabbedUpBottom,\n onKeyDown: this.tabbedDownBottom\n },\n React.createElement('div', { className: 'block-ui-overlay', ref: this.setContainer }),\n React.createElement(\n 'div',\n { className: 'block-ui-message-container',\n ref: this.setMessageContainer,\n style: { top: keepInView ? this.state.top : undefined }\n },\n React.createElement(\n 'div',\n { className: 'block-ui-message' },\n message,\n React.isValidElement(Loader$$1) ? Loader$$1 : React.createElement(Loader$$1, { ariaLabel: ariaLabel })\n )\n )\n ),\n React.createElement('span', { ref: this.setHelper })\n );\n }\n }]);\n return BlockUi;\n}(Component);\n\nBlockUi$1.defaultProps = defaultProps;\n\nexport default BlockUi$1;\n//# sourceMappingURL=reactblockui.es.js.map\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/inheritsLoose\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _InputGroupAddon = _interopRequireDefault(require(\"./InputGroupAddon\"));\n\nvar _InputGroupButton = _interopRequireDefault(require(\"./InputGroupButton\"));\n\nvar _bootstrapUtils = require(\"./utils/bootstrapUtils\");\n\nvar _StyleConfig = require(\"./utils/StyleConfig\");\n\nvar InputGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(InputGroup, _React$Component);\n\n function InputGroup() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = InputGroup.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"className\"]);\n\n var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = (0, _bootstrapUtils.getClassSet)(bsProps);\n return _react.default.createElement(\"span\", (0, _extends2.default)({}, elementProps, {\n className: (0, _classnames.default)(className, classes)\n }));\n };\n\n return InputGroup;\n}(_react.default.Component);\n\nInputGroup.Addon = _InputGroupAddon.default;\nInputGroup.Button = _InputGroupButton.default;\n\nvar _default = (0, _bootstrapUtils.bsClass)('input-group', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.LARGE, _StyleConfig.Size.SMALL], InputGroup));\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/inheritsLoose\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _bootstrapUtils = require(\"./utils/bootstrapUtils\");\n\nvar InputGroupAddon =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(InputGroupAddon, _React$Component);\n\n function InputGroupAddon() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = InputGroupAddon.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"className\"]);\n\n var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = (0, _bootstrapUtils.getClassSet)(bsProps);\n return _react.default.createElement(\"span\", (0, _extends2.default)({}, elementProps, {\n className: (0, _classnames.default)(className, classes)\n }));\n };\n\n return InputGroupAddon;\n}(_react.default.Component);\n\nvar _default = (0, _bootstrapUtils.bsClass)('input-group-addon', InputGroupAddon);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/inheritsLoose\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _bootstrapUtils = require(\"./utils/bootstrapUtils\");\n\nvar InputGroupButton =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(InputGroupButton, _React$Component);\n\n function InputGroupButton() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = InputGroupButton.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"className\"]);\n\n var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = (0, _bootstrapUtils.getClassSet)(bsProps);\n return _react.default.createElement(\"span\", (0, _extends2.default)({}, elementProps, {\n className: (0, _classnames.default)(className, classes)\n }));\n };\n\n return InputGroupButton;\n}(_react.default.Component);\n\nvar _default = (0, _bootstrapUtils.bsClass)('input-group-btn', InputGroupButton);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.Style = exports.State = exports.DEVICE_SIZES = exports.SIZE_MAP = exports.Size = void 0;\nvar Size = {\n LARGE: 'large',\n SMALL: 'small',\n XSMALL: 'xsmall'\n};\nexports.Size = Size;\nvar SIZE_MAP = {\n large: 'lg',\n medium: 'md',\n small: 'sm',\n xsmall: 'xs',\n lg: 'lg',\n md: 'md',\n sm: 'sm',\n xs: 'xs'\n};\nexports.SIZE_MAP = SIZE_MAP;\nvar DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];\nexports.DEVICE_SIZES = DEVICE_SIZES;\nvar State = {\n SUCCESS: 'success',\n WARNING: 'warning',\n DANGER: 'danger',\n INFO: 'info'\n};\nexports.State = State;\nvar Style = {\n DEFAULT: 'default',\n PRIMARY: 'primary',\n LINK: 'link',\n INVERSE: 'inverse'\n};\nexports.Style = Style;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.prefix = prefix;\nexports.getClassSet = getClassSet;\nexports.splitBsProps = splitBsProps;\nexports.splitBsPropsAndOmit = splitBsPropsAndOmit;\nexports.addStyle = addStyle;\nexports._curry = exports.bsSizes = exports.bsStyles = exports.bsClass = void 0;\n\nvar _entries = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/entries\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/extends\"));\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _StyleConfig = require(\"./StyleConfig\");\n\n// TODO: The publicly exposed parts of this should be in lib/BootstrapUtils.\nfunction curry(fn) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var last = args[args.length - 1];\n\n if (typeof last === 'function') {\n return fn.apply(void 0, args);\n }\n\n return function (Component) {\n return fn.apply(void 0, args.concat([Component]));\n };\n };\n}\n\nfunction prefix(props, variant) {\n var bsClass = (props.bsClass || '').trim();\n !(bsClass != null) ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'A `bsClass` prop is required for this component') : invariant(false) : void 0;\n return bsClass + (variant ? \"-\" + variant : '');\n}\n\nvar bsClass = curry(function (defaultClass, Component) {\n var propTypes = Component.propTypes || (Component.propTypes = {});\n var defaultProps = Component.defaultProps || (Component.defaultProps = {});\n propTypes.bsClass = _propTypes.default.string;\n defaultProps.bsClass = defaultClass;\n return Component;\n});\nexports.bsClass = bsClass;\nvar bsStyles = curry(function (styles, defaultStyle, Component) {\n if (typeof defaultStyle !== 'string') {\n Component = defaultStyle;\n defaultStyle = undefined;\n }\n\n var existing = Component.STYLES || [];\n var propTypes = Component.propTypes || {};\n styles.forEach(function (style) {\n if (existing.indexOf(style) === -1) {\n existing.push(style);\n }\n });\n\n var propType = _propTypes.default.oneOf(existing); // expose the values on the propType function for documentation\n\n\n Component.STYLES = existing;\n propType._values = existing;\n Component.propTypes = (0, _extends2.default)({}, propTypes, {\n bsStyle: propType\n });\n\n if (defaultStyle !== undefined) {\n var defaultProps = Component.defaultProps || (Component.defaultProps = {});\n defaultProps.bsStyle = defaultStyle;\n }\n\n return Component;\n});\nexports.bsStyles = bsStyles;\nvar bsSizes = curry(function (sizes, defaultSize, Component) {\n if (typeof defaultSize !== 'string') {\n Component = defaultSize;\n defaultSize = undefined;\n }\n\n var existing = Component.SIZES || [];\n var propTypes = Component.propTypes || {};\n sizes.forEach(function (size) {\n if (existing.indexOf(size) === -1) {\n existing.push(size);\n }\n });\n var values = [];\n existing.forEach(function (size) {\n var mappedSize = _StyleConfig.SIZE_MAP[size];\n\n if (mappedSize && mappedSize !== size) {\n values.push(mappedSize);\n }\n\n values.push(size);\n });\n\n var propType = _propTypes.default.oneOf(values);\n\n propType._values = values; // expose the values on the propType function for documentation\n\n Component.SIZES = existing;\n Component.propTypes = (0, _extends2.default)({}, propTypes, {\n bsSize: propType\n });\n\n if (defaultSize !== undefined) {\n if (!Component.defaultProps) {\n Component.defaultProps = {};\n }\n\n Component.defaultProps.bsSize = defaultSize;\n }\n\n return Component;\n});\nexports.bsSizes = bsSizes;\n\nfunction getClassSet(props) {\n var _classes;\n\n var classes = (_classes = {}, _classes[prefix(props)] = true, _classes);\n\n if (props.bsSize) {\n var bsSize = _StyleConfig.SIZE_MAP[props.bsSize] || props.bsSize;\n classes[prefix(props, bsSize)] = true;\n }\n\n if (props.bsStyle) {\n classes[prefix(props, props.bsStyle)] = true;\n }\n\n return classes;\n}\n\nfunction getBsProps(props) {\n return {\n bsClass: props.bsClass,\n bsSize: props.bsSize,\n bsStyle: props.bsStyle,\n bsRole: props.bsRole\n };\n}\n\nfunction isBsProp(propName) {\n return propName === 'bsClass' || propName === 'bsSize' || propName === 'bsStyle' || propName === 'bsRole';\n}\n\nfunction splitBsProps(props) {\n var elementProps = {};\n (0, _entries.default)(props).forEach(function (_ref) {\n var propName = _ref[0],\n propValue = _ref[1];\n\n if (!isBsProp(propName)) {\n elementProps[propName] = propValue;\n }\n });\n return [getBsProps(props), elementProps];\n}\n\nfunction splitBsPropsAndOmit(props, omittedPropNames) {\n var isOmittedProp = {};\n omittedPropNames.forEach(function (propName) {\n isOmittedProp[propName] = true;\n });\n var elementProps = {};\n (0, _entries.default)(props).forEach(function (_ref2) {\n var propName = _ref2[0],\n propValue = _ref2[1];\n\n if (!isBsProp(propName) && !isOmittedProp[propName]) {\n elementProps[propName] = propValue;\n }\n });\n return [getBsProps(props), elementProps];\n}\n/**\n * Add a style variant to a Component. Mutates the propTypes of the component\n * in order to validate the new variant.\n */\n\n\nfunction addStyle(Component) {\n for (var _len2 = arguments.length, styleVariant = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styleVariant[_key2 - 1] = arguments[_key2];\n }\n\n bsStyles(styleVariant)(Component);\n}\n\nvar _curry = curry;\nexports._curry = _curry;","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\n/**\n * Determines if the given param is an object. {}\n * @param obj\n */\nexports.isObject = function (obj) { return Object.prototype.toString.call(obj) === '[object Object]'; }; // eslint-disable-line\nvar useMounted = function () {\n var mounted = react_1.useRef(false);\n react_1.useEffect(function () {\n mounted.current = true;\n return function () {\n mounted.current = false;\n };\n }, []);\n return mounted;\n};\nfunction useRefState(initialState, blockIfUnmounted) {\n if (blockIfUnmounted === void 0) { blockIfUnmounted = true; }\n var mounted = useMounted();\n var _a = react_1.useState(initialState), reactState = _a[0], setReactState = _a[1];\n var state = react_1.useRef(reactState);\n var setState = react_1.useCallback(function (arg) {\n if (!mounted.current && blockIfUnmounted)\n return;\n state.current = (typeof arg === 'function') ? arg(state.current) : arg;\n setReactState(state.current);\n }, []);\n return [state, setState];\n}\nexports.useRefState = useRefState;\nexports.default = useRefState;\n","export var HTTPMethod;\n(function (HTTPMethod) {\n HTTPMethod[\"DELETE\"] = \"DELETE\";\n HTTPMethod[\"GET\"] = \"GET\";\n HTTPMethod[\"HEAD\"] = \"HEAD\";\n HTTPMethod[\"OPTIONS\"] = \"OPTIONS\";\n HTTPMethod[\"PATCH\"] = \"PATCH\";\n HTTPMethod[\"POST\"] = \"POST\";\n HTTPMethod[\"PUT\"] = \"PUT\";\n HTTPMethod[\"CONNECT\"] = \"CONNECT\";\n HTTPMethod[\"TRACE\"] = \"TRACE\";\n})(HTTPMethod || (HTTPMethod = {}));\n// https://www.apollographql.com/docs/react/api/react/hoc/#optionsfetchpolicy\nexport var CachePolicies;\n(function (CachePolicies) {\n /**\n * This is the default value where we always try reading data\n * from your cache first. If all the data needed to fulfill\n * your query is in the cache then that data will be returned.\n * useFetch will only fetch from the network if a cached result\n * is not available. This fetch policy aims to minimize the number\n * of network requests sent when rendering your component.\n */\n CachePolicies[\"CACHE_FIRST\"] = \"cache-first\";\n /**\n * This fetch policy will have useFetch first trying to read data\n * from your cache. If all the data needed to fulfill your query\n * is in the cache then that data will be returned. However,\n * regardless of whether or not the full data is in your cache\n * this fetchPolicy will always execute query with the network\n * interface unlike cache-first which will only execute your query\n * if the query data is not in your cache. This fetch policy optimizes\n * for users getting a quick response while also trying to keep\n * cached data consistent with your server data at the cost of extra\n * network requests.\n */\n CachePolicies[\"CACHE_AND_NETWORK\"] = \"cache-and-network\";\n /**\n * This fetch policy will never return your initial data from the\n * cache. Instead it will always make a request using your network\n * interface to the server. This fetch policy optimizes for data\n * consistency with the server, but at the cost of an instant response\n * to the user when one is available.\n */\n CachePolicies[\"NETWORK_ONLY\"] = \"network-only\";\n /**\n * This fetch policy will never execute a query using your network\n * interface. Instead it will always try reading from the cache. If the\n * data for your query does not exist in the cache then an error will be\n * thrown. This fetch policy allows you to only interact with data in\n * your local client cache without making any network requests which\n * keeps your component fast, but means your local data might not be\n * consistent with what is on the server.\n */\n CachePolicies[\"CACHE_ONLY\"] = \"cache-only\";\n /**\n * This fetch policy will never return your initial data from the cache.\n * Instead it will always make a request using your network interface to\n * the server. Unlike the network-only policy, it also will not write\n * any data to the cache after the query completes.\n */\n CachePolicies[\"NO_CACHE\"] = \"no-cache\";\n CachePolicies[\"EXACT_CACHE_AND_NETWORK\"] = \"exact-cache-and-network\";\n})(CachePolicies || (CachePolicies = {}));\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useEffect, useRef, useCallback } from 'react';\nimport useSSR from 'use-ssr';\n/**\n * Used for error checking. If the condition is false, throw an error\n */\nexport function invariant(condition, format, a, b, c, d, e, f) {\n if (a === void 0) { a = ''; }\n if (b === void 0) { b = ''; }\n if (c === void 0) { c = ''; }\n if (d === void 0) { d = ''; }\n if (e === void 0) { e = ''; }\n if (f === void 0) { f = ''; }\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n if (!condition) {\n var error = void 0;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.');\n }\n else {\n var args_1 = [a, b, c, d, e, f];\n var argIndex_1 = 0;\n error = new Error(format.replace(/%s/g, function () { return args_1[argIndex_1++]; }));\n error.name = 'Invariant Violation';\n }\n throw error;\n }\n}\nexport var useExampleURL = function () {\n var isBrowser = useSSR().isBrowser;\n return useMemo(function () {\n return isBrowser ? window.location.origin : 'https://example.com';\n }, [isBrowser]);\n};\nexport function useURLRequiredInvariant(condition, method, optionalMessage) {\n var exampleURL = useExampleURL();\n useEffect(function () {\n invariant(condition, method + \" requires a URL to be set as the 1st argument,\\n\\n unless you wrap your app like:\\n\\n \\n\\n \" + optionalMessage);\n }, [condition, exampleURL, method, optionalMessage]);\n}\nexport var isString = function (x) { return typeof x === 'string'; }; // eslint-disable-line\n/**\n * Determines if the given param is an object. {}\n * @param obj\n */\nexport var isObject = function (obj) { return Object.prototype.toString.call(obj) === '[object Object]'; }; // eslint-disable-line\n/**\n * Determines if the given param is an object that can be used as a request body.\n * Returns true for native objects or arrays.\n * @param obj\n */\nexport var isBodyObject = function (obj) { return isObject(obj) || Array.isArray(obj); };\nexport var isFunction = function (v) { return typeof v === 'function'; };\nexport var isNumber = function (v) { return Object.prototype.toString.call(v) === '[object Number]'; };\n// const requestFields = Object.getOwnPropertyNames(Object.getPrototypeOf(new Request('')))\n// const responseFields = Object.getOwnPropertyNames(Object.getPrototypeOf(new Response()))\n// export const customResponseFields = [...responseFields, 'data']\n// TODO: come back and fix the \"anys\" in this http://bit.ly/2Lm3OLi\n/**\n * Makes an object that will match the standards of a normal fetch's options\n * aka: pulls out all useFetch's special options like \"onMount\"\n */\nexport var pullOutRequestInit = function (options) {\n if (!options)\n return {};\n var requestInitFields = [\n 'body',\n 'cache',\n 'credentials',\n 'headers',\n 'integrity',\n 'keepalive',\n 'method',\n 'mode',\n 'redirect',\n 'referrer',\n 'referrerPolicy',\n 'signal',\n 'window'\n ];\n return requestInitFields.reduce(function (acc, key) {\n if (key in options)\n acc[key] = options[key];\n return acc;\n }, {});\n};\nexport var isEmpty = function (x) { return x === undefined || x === null; };\nexport var Device;\n(function (Device) {\n Device[\"Browser\"] = \"browser\";\n Device[\"Server\"] = \"server\";\n Device[\"Native\"] = \"native\";\n})(Device || (Device = {}));\nvar Browser = Device.Browser, Server = Device.Server, Native = Device.Native;\nvar canUseDOM = !!(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nvar canUseNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';\nvar device = canUseNative ? Native : canUseDOM ? Browser : Server;\nexport var isBrowser = device === Browser;\nexport var isServer = device === Server;\nexport var isNative = device === Native;\nexport var tryGetData = function (res, defaultData, responseType) { return __awaiter(void 0, void 0, void 0, function () {\n var types, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (typeof res === 'undefined')\n throw Error('Response cannot be undefined... 😵');\n if (typeof responseType === 'undefined')\n throw Error('responseType cannot be undefined... 😵');\n types = (Array.isArray(responseType) ? responseType : [responseType]);\n if (types[0] == null)\n throw Error('could not parse data from response 😵');\n return [4 /*yield*/, tryRetry(res, types)];\n case 1:\n data = _a.sent();\n return [2 /*return*/, !isEmpty(defaultData) && isEmpty(data) ? defaultData : data];\n }\n });\n}); };\nvar tryRetry = function (res, types, i) {\n if (i === void 0) { i = 0; }\n return __awaiter(void 0, void 0, void 0, function () {\n var error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, res.clone()[types[i]]()];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n error_1 = _a.sent();\n if (types.length - 1 === i)\n throw error_1;\n return [2 /*return*/, tryRetry(res.clone(), types, ++i)];\n case 3: return [2 /*return*/];\n }\n });\n });\n};\nexport var responseFields = ['headers', 'ok', 'redirected', 'trailer', 'status', 'statusText', 'type', 'url', 'body', 'bodyUsed', 'data'];\nexport var responseMethods = ['clone', 'arrayBuffer', 'blob', 'formData', 'json', 'text'];\nexport var responseKeys = __spreadArrays(responseFields, responseMethods);\nexport var toResponseObject = function (res, data) { return Object.defineProperties({}, responseKeys.reduce(function (acc, field) {\n if (responseFields.includes(field)) {\n acc[field] = {\n get: function () {\n var response = res instanceof Response ? res : res && res.current;\n if (!response)\n return;\n if (field === 'data')\n return data.current;\n var clonedResponse = ('clone' in response ? response.clone() : {});\n return clonedResponse[field];\n },\n enumerable: true\n };\n }\n else if (responseMethods.includes(field)) {\n acc[field] = {\n value: function () {\n var response = res instanceof Response ? res : res && res.current;\n if (!response)\n return;\n var clonedResponse = ('clone' in response ? response.clone() : {});\n return clonedResponse[field]();\n },\n enumerable: true\n };\n }\n return acc;\n}, {})); };\nexport var emptyCustomResponse = toResponseObject();\n// TODO: switch this to .reduce()\nvar headersAsObject = function (headers) {\n var obj = {};\n headers.forEach(function (value, key) {\n obj[key] = value;\n });\n return obj;\n};\nexport var serializeResponse = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var body, status, statusText, headers;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, response.text()];\n case 1:\n body = _a.sent();\n status = response.status, statusText = response.statusText;\n headers = headersAsObject(response.headers);\n return [2 /*return*/, {\n body: body,\n status: status,\n statusText: statusText,\n headers: headers\n }];\n }\n });\n}); };\nfunction useDeepCompareMemoize(value) {\n var ref = useRef();\n if (JSON.stringify(value) !== JSON.stringify(ref.current))\n ref.current = value;\n return ref.current;\n}\nexport var useDeepCallback = function (cb, deps) { return useCallback(cb, useDeepCompareMemoize(deps)); };\nexport var sleep = function (ms) { return new Promise(function (resolve) { return setTimeout(resolve, ms); }); };\nexport var isPositiveNumber = function (n) { return Number.isInteger(n) && n > 0; };\nexport var makeError = function (name, message) {\n var error = new Error(message);\n error.name = name + '';\n return error;\n};\n/**\n * Determines if we need to add a slash to front\n * of a path, and adds it if we do.\n * Cases:\n * (path = '', url = '' || null | undefined) => ''\n * (path = '?foo=bar', url = 'a.com') => '?foo=bar'\n * (path = '?foo=bar', url = 'a.com/') => '?foo=bar'\n * (path = 'bar', url = 'a.com/?foo=') => 'bar'\n * (path = 'foo', url = 'a.com') => '/foo'\n * (path = 'foo', url = 'a.com/') => 'foo'\n * (path = '/foo', url = 'a.com') => '/foo'\n * (path = '/foo', url = 'a.com/') => 'foo'\n * (path = '?foo=bar') => '?foo=bar'\n * (path = 'foo') => '/foo'\n * (path = '/foo') => '/foo'\n * (path = '&foo=bar', url = 'a.com?b=k') => '&foo=bar'\n * (path = '&foo=bar') => '&foo=bar'\n */\nexport var addSlash = function (input, url) {\n if (!input)\n return '';\n if (!url) {\n if (input.startsWith('?') || input.startsWith('&') || input.startsWith('/'))\n return input;\n return \"/\" + input;\n }\n if (url.endsWith('/') && input.startsWith('/'))\n return input.substr(1);\n if (!url.endsWith('/') && !input.startsWith('/') && !input.startsWith('?') && !input.startsWith('&') && !url.includes('?'))\n return \"/\" + input;\n return input;\n};\n","import { createContext } from 'react';\nexport var FetchContext = createContext({\n url: '',\n options: {},\n graphql: false // TODO: this will make it so useFetch(QUERY || MUTATION) will work\n});\nexport default FetchContext;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { CachePolicies } from './types';\nimport { isObject } from './utils';\nexport var useFetchArgsDefaults = {\n host: '',\n path: undefined,\n customOptions: {\n cacheLife: 0,\n cachePolicy: CachePolicies.CACHE_FIRST,\n interceptors: {},\n onAbort: function () { },\n onError: function () { },\n onNewData: function (currData, newData) { return newData; },\n onTimeout: function () { },\n perPage: 0,\n persist: false,\n responseType: ['json', 'text', 'blob', 'arrayBuffer'],\n retries: 0,\n retryDelay: 1000,\n retryOn: [],\n suspense: false,\n timeout: 0,\n // defaults\n data: undefined,\n loading: false\n },\n requestInit: {\n headers: {\n Accept: 'application/json, text/plain, */*'\n }\n },\n dependencies: undefined\n};\nexport default Object.entries(useFetchArgsDefaults).reduce(function (acc, _a) {\n var _b;\n var key = _a[0], value = _a[1];\n if (isObject(value))\n return __assign(__assign({}, acc), value);\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n}, {});\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { isString, isObject, invariant, pullOutRequestInit, isFunction, isPositiveNumber } from './utils';\nimport { useContext, useMemo } from 'react';\nimport FetchContext from './FetchContext';\nimport defaults, { useFetchArgsDefaults } from './defaults';\nexport default function useFetchArgs(urlOrPathOrOptionsOrOverwriteGlobalOptions, optionsOrOverwriteGlobalOrDeps, deps) {\n invariant(!(isObject(urlOrPathOrOptionsOrOverwriteGlobalOptions) && isObject(optionsOrOverwriteGlobalOrDeps)), 'You cannot have a 2nd parameter of useFetch as object when your first argument is an object.');\n var context = useContext(FetchContext);\n var host = useMemo(function () {\n var maybeHost = urlOrPathOrOptionsOrOverwriteGlobalOptions;\n if (isString(maybeHost) && maybeHost.includes('://'))\n return maybeHost;\n if (context.url)\n return context.url;\n return defaults.host;\n }, [context.url, urlOrPathOrOptionsOrOverwriteGlobalOptions]);\n var path = useMemo(function () {\n var maybePath = urlOrPathOrOptionsOrOverwriteGlobalOptions;\n if (isString(maybePath) && !maybePath.includes('://'))\n return maybePath;\n }, [urlOrPathOrOptionsOrOverwriteGlobalOptions]);\n var overwriteGlobalOptions = useMemo(function () {\n if (isFunction(urlOrPathOrOptionsOrOverwriteGlobalOptions))\n return urlOrPathOrOptionsOrOverwriteGlobalOptions;\n if (isFunction(optionsOrOverwriteGlobalOrDeps))\n return optionsOrOverwriteGlobalOrDeps;\n }, []);\n var options = useMemo(function () {\n var localOptions = { headers: {} };\n if (isObject(urlOrPathOrOptionsOrOverwriteGlobalOptions)) {\n localOptions = urlOrPathOrOptionsOrOverwriteGlobalOptions;\n }\n else if (isObject(optionsOrOverwriteGlobalOrDeps)) {\n localOptions = optionsOrOverwriteGlobalOrDeps;\n }\n var globalOptions = context.options;\n var finalOptions = __assign(__assign(__assign(__assign({}, defaults), globalOptions), localOptions), { headers: __assign(__assign(__assign({}, defaults.headers), globalOptions.headers), localOptions.headers), interceptors: __assign(__assign(__assign({}, defaults.interceptors), globalOptions.interceptors), localOptions.interceptors) });\n if (overwriteGlobalOptions)\n return overwriteGlobalOptions(finalOptions);\n return finalOptions;\n }, [urlOrPathOrOptionsOrOverwriteGlobalOptions, overwriteGlobalOptions, context.options]);\n var requestInit = useMemo(function () { return pullOutRequestInit(options); }, [options]);\n var dependencies = useMemo(function () {\n if (Array.isArray(optionsOrOverwriteGlobalOrDeps))\n return optionsOrOverwriteGlobalOrDeps;\n if (Array.isArray(deps))\n return deps;\n return defaults.dependencies;\n }, [optionsOrOverwriteGlobalOrDeps, deps]);\n var cacheLife = options.cacheLife, retries = options.retries, retryDelay = options.retryDelay, retryOn = options.retryOn;\n invariant(Number.isInteger(cacheLife) && cacheLife >= 0, '`cacheLife` must be a number >= 0');\n invariant(Number.isInteger(retries) && retries >= 0, '`retries` must be a number >= 0');\n invariant(isFunction(retryDelay) || Number.isInteger(retryDelay) && retryDelay >= 0, '`retryDelay` must be a positive number or a function returning a positive number.');\n var isValidRetryOn = isFunction(retryOn) || (Array.isArray(retryOn) && retryOn.every(isPositiveNumber));\n invariant(isValidRetryOn, '`retryOn` must be an array of positive numbers or a function returning a boolean.');\n var loading = options.loading || Array.isArray(dependencies);\n var interceptors = useMemo(function () {\n var final = {};\n if ('request' in options.interceptors)\n final.request = options.interceptors.request;\n if ('response' in options.interceptors)\n final.response = options.interceptors.response;\n return final;\n }, [options]);\n var customOptions = useMemo(function () {\n var customOptionKeys = Object.keys(useFetchArgsDefaults.customOptions); // Array\n var customOptions = customOptionKeys.reduce(function (opts, key) {\n opts[key] = options[key];\n return opts;\n }, {});\n return __assign(__assign({}, customOptions), { interceptors: interceptors, loading: loading });\n }, [interceptors, loading]);\n return {\n host: host,\n path: path,\n customOptions: customOptions,\n requestInit: requestInit,\n dependencies: dependencies\n };\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { HTTPMethod } from './types';\nimport { invariant, isServer, isString, isBodyObject, addSlash } from './utils';\nvar GET = HTTPMethod.GET;\nexport default function doFetchArgs(initialOptions, method, controller, cacheLife, cache, host, path, routeOrBody, bodyAs2ndParam, requestInterceptor) {\n return __awaiter(this, void 0, void 0, function () {\n var route, url, body, headers, options, responseID, _a, _b;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n invariant(!(isBodyObject(routeOrBody) && isBodyObject(bodyAs2ndParam)), \"If first argument of \" + method.toLowerCase() + \"() is an object, you cannot have a 2nd argument. \\uD83D\\uDE1C\");\n invariant(!(method === GET && isBodyObject(routeOrBody)), 'You can only have query params as 1st argument of request.get()');\n invariant(!(method === GET && bodyAs2ndParam !== undefined), 'You can only have query params as 1st argument of request.get()');\n route = (function () {\n if (!isServer && routeOrBody instanceof URLSearchParams)\n return \"?\" + routeOrBody;\n if (isString(routeOrBody))\n return routeOrBody;\n return '';\n })();\n url = \"\" + host + addSlash(path, host) + addSlash(route);\n body = (function () {\n // FormData instanceof check should go first, because React Native's FormData implementation\n // is indistinguishable from plain object when using isBodyObject check\n if (routeOrBody instanceof FormData)\n return routeOrBody;\n if (isBodyObject(routeOrBody))\n return JSON.stringify(routeOrBody);\n if (!isServer &&\n (bodyAs2ndParam instanceof FormData ||\n bodyAs2ndParam instanceof URLSearchParams))\n return bodyAs2ndParam;\n if (isBodyObject(bodyAs2ndParam) || isString(bodyAs2ndParam))\n return JSON.stringify(bodyAs2ndParam);\n if (isBodyObject(initialOptions.body) || isString(bodyAs2ndParam))\n return JSON.stringify(initialOptions.body);\n return null;\n })();\n headers = (function () {\n var contentType = (initialOptions.headers || {})['Content-Type'];\n var shouldAddContentType = !!contentType || [HTTPMethod.POST, HTTPMethod.PUT, HTTPMethod.PATCH].includes(method) && !(body instanceof FormData);\n var headers = __assign({}, initialOptions.headers);\n if (shouldAddContentType) {\n // default content types http://bit.ly/2N2ovOZ\n // Accept: 'application/json',\n // roughly, should only add for POST and PUT http://bit.ly/2NJNt3N\n // unless specified by the user\n headers['Content-Type'] = contentType || 'application/json';\n }\n else if (Object.keys(headers).length === 0) {\n return null;\n }\n return headers;\n })();\n return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {\n var opts, interceptor;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n opts = __assign(__assign({}, initialOptions), { method: method, signal: controller.signal });\n if (headers !== null) {\n opts.headers = headers;\n }\n else {\n delete opts.headers;\n }\n if (body !== null)\n opts.body = body;\n if (!requestInterceptor) return [3 /*break*/, 2];\n return [4 /*yield*/, requestInterceptor({ options: opts, url: host, path: path, route: route })];\n case 1:\n interceptor = _a.sent();\n return [2 /*return*/, interceptor];\n case 2: return [2 /*return*/, opts];\n }\n });\n }); })()\n // TODO: if the body is a file, and this is a large file, it might exceed the size\n // limit of the key size. Potential solution: base64 the body\n // used to tell if a request has already been made\n ];\n case 1:\n options = _c.sent();\n responseID = Object.entries({ url: url, method: method, body: options.body || '' })\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return key + \":\" + value;\n }).join('||');\n _a = {\n url: url,\n options: options\n };\n _b = {};\n return [4 /*yield*/, cache.has(responseID)];\n case 2:\n _b.isCached = _c.sent(),\n _b.id = responseID;\n return [4 /*yield*/, cache.get(responseID)];\n case 3: return [2 /*return*/, (_a.response = (_b.cached = (_c.sent()),\n _b),\n _a)];\n }\n });\n });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { serializeResponse } from '../utils';\nvar cacheName = 'useHTTPcache';\nvar getCache = function () {\n try {\n return JSON.parse(localStorage.getItem(cacheName) || '{}');\n }\n catch (err) {\n localStorage.removeItem(cacheName);\n return {};\n }\n};\nvar getLocalStorage = function (_a) {\n var cacheLife = _a.cacheLife;\n var remove = function () {\n var responseIDs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n responseIDs[_i] = arguments[_i];\n }\n return __awaiter(void 0, void 0, void 0, function () {\n var cache;\n return __generator(this, function (_a) {\n cache = getCache();\n responseIDs.forEach(function (id) { return delete cache[id]; });\n localStorage.setItem(cacheName, JSON.stringify(cache));\n return [2 /*return*/];\n });\n });\n };\n var isExpired = function (responseID) {\n var cache = getCache();\n var _a = (cache[responseID] || {}), expiration = _a.expiration, response = _a.response;\n var expired = expiration > 0 && expiration < Date.now();\n if (expired)\n remove(responseID);\n return expired || !response;\n };\n var has = function (responseID) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, !isExpired(responseID)];\n }); }); };\n var get = function (responseID) { return __awaiter(void 0, void 0, void 0, function () {\n var cache, _a, body, headers, status, statusText;\n return __generator(this, function (_b) {\n if (isExpired(responseID))\n return [2 /*return*/];\n cache = getCache();\n _a = cache[responseID].response, body = _a.body, headers = _a.headers, status = _a.status, statusText = _a.statusText;\n return [2 /*return*/, new Response(body, {\n status: status,\n statusText: statusText,\n headers: new Headers(headers || {})\n })];\n });\n }); };\n var set = function (responseID, response) { return __awaiter(void 0, void 0, void 0, function () {\n var cache, _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n cache = getCache();\n _a = cache;\n _b = responseID;\n _c = {};\n return [4 /*yield*/, serializeResponse(response)];\n case 1:\n _a[_b] = (_c.response = _d.sent(),\n _c.expiration = Date.now() + cacheLife,\n _c);\n localStorage.setItem(cacheName, JSON.stringify(cache));\n return [2 /*return*/];\n }\n });\n }); };\n var clear = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n localStorage.setItem(cacheName, JSON.stringify({}));\n return [2 /*return*/];\n });\n }); };\n return Object.defineProperties(getCache(), {\n get: { value: get, writable: false },\n set: { value: set, writable: false },\n has: { value: has, writable: false },\n delete: { value: remove, writable: false },\n clear: { value: clear, writable: false }\n });\n};\nexport default getLocalStorage;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar inMemoryStorage = {};\nvar getMemoryStorage = function (_a) {\n var cacheLife = _a.cacheLife;\n var remove = function () {\n var responseIDs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n responseIDs[_i] = arguments[_i];\n }\n return __awaiter(void 0, void 0, void 0, function () {\n var _a, responseIDs_1, responseID;\n return __generator(this, function (_b) {\n for (_a = 0, responseIDs_1 = responseIDs; _a < responseIDs_1.length; _a++) {\n responseID = responseIDs_1[_a];\n delete inMemoryStorage[responseID];\n delete inMemoryStorage[responseID + \":ts\"];\n }\n return [2 /*return*/];\n });\n });\n };\n var isExpired = function (responseID) {\n var expiration = inMemoryStorage[responseID + \":ts\"];\n var expired = expiration > 0 && expiration < Date.now();\n if (expired)\n remove(responseID);\n return expired || !inMemoryStorage[responseID];\n };\n var get = function (responseID) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (isExpired(responseID))\n return [2 /*return*/];\n return [2 /*return*/, inMemoryStorage[responseID]];\n });\n }); };\n var set = function (responseID, res) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n inMemoryStorage[responseID] = res;\n inMemoryStorage[responseID + \":ts\"] = cacheLife > 0 ? Date.now() + cacheLife : 0;\n return [2 /*return*/];\n });\n }); };\n var has = function (responseID) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, !isExpired(responseID)];\n }); }); };\n var clear = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n inMemoryStorage = {};\n return [2 /*return*/];\n });\n }); };\n return Object.defineProperties(inMemoryStorage, {\n get: { value: get, writable: false, configurable: true },\n set: { value: set, writable: false, configurable: true },\n has: { value: has, writable: false, configurable: true },\n delete: { value: remove, writable: false, configurable: true },\n clear: { value: clear, writable: false, configurable: true }\n });\n};\nexport default getMemoryStorage;\n","import useSSR from 'use-ssr';\nimport { invariant } from './utils';\nimport { CachePolicies } from './types';\nimport getLocalStorage from './storage/localStorage';\nimport getMemoryStorage from './storage/memoryStorage';\nvar NETWORK_ONLY = CachePolicies.NETWORK_ONLY, NO_CACHE = CachePolicies.NO_CACHE;\nvar useCache = function (_a) {\n var persist = _a.persist, cacheLife = _a.cacheLife, cachePolicy = _a.cachePolicy;\n var _b = useSSR(), isNative = _b.isNative, isServer = _b.isServer;\n invariant(!(isServer && persist), 'There is no persistent storage on the Server currently! 🙅‍♂️');\n invariant(!(isNative && persist), 'React Native support for persistent cache is not yet implemented. 🙅‍♂️');\n invariant(!(persist && [NO_CACHE, NETWORK_ONLY].includes(cachePolicy)), \"You cannot use option 'persist' with cachePolicy: \" + cachePolicy + \" \\uD83D\\uDE45\\u200D\\u2642\\uFE0F\");\n // right now we're not worrying about react-native\n if (persist)\n return getLocalStorage({ cacheLife: cacheLife || (24 * 3600000) });\n return getMemoryStorage({ cacheLife: cacheLife });\n};\nexport default useCache;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useEffect, useCallback, useRef, useReducer, useMemo } from 'react';\nimport useSSR from 'use-ssr';\nimport useRefState from 'urs';\nimport { HTTPMethod, CachePolicies } from './types';\nimport useFetchArgs from './useFetchArgs';\nimport doFetchArgs from './doFetchArgs';\nimport { invariant, tryGetData, toResponseObject, useDeepCallback, isFunction, sleep, makeError } from './utils';\nimport useCache from './useCache';\nvar CACHE_FIRST = CachePolicies.CACHE_FIRST;\nfunction useFetch() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a = useFetchArgs.apply(void 0, args), host = _a.host, path = _a.path, customOptions = _a.customOptions, requestInit = _a.requestInit, dependencies = _a.dependencies;\n var cacheLife = customOptions.cacheLife, cachePolicy = customOptions.cachePolicy, // 'cache-first' by default\n interceptors = customOptions.interceptors, onAbort = customOptions.onAbort, onError = customOptions.onError, onNewData = customOptions.onNewData, onTimeout = customOptions.onTimeout, perPage = customOptions.perPage, persist = customOptions.persist, responseType = customOptions.responseType, retries = customOptions.retries, retryDelay = customOptions.retryDelay, retryOn = customOptions.retryOn, suspense = customOptions.suspense, timeout = customOptions.timeout, defaults = __rest(customOptions, [\"cacheLife\", \"cachePolicy\", \"interceptors\", \"onAbort\", \"onError\", \"onNewData\", \"onTimeout\", \"perPage\", \"persist\", \"responseType\", \"retries\", \"retryDelay\", \"retryOn\", \"suspense\", \"timeout\"]);\n var cache = useCache({ persist: persist, cacheLife: cacheLife, cachePolicy: cachePolicy });\n var isServer = useSSR().isServer;\n var controller = useRef();\n var res = useRef({});\n var data = useRef(defaults.data);\n var timedout = useRef(false);\n var attempt = useRef(0);\n var error = useRef();\n var hasMore = useRef(true);\n var suspenseStatus = useRef('pending');\n var suspender = useRef();\n var mounted = useRef(false);\n var _b = useRefState(defaults.loading), loading = _b[0], setLoading = _b[1];\n var forceUpdate = useReducer(function () { return ({}); }, [])[1];\n var makeFetch = useDeepCallback(function (method) {\n var doFetch = function (routeOrBody, body) { return __awaiter(_this, void 0, void 0, function () {\n var theController, _a, url, options, response, timer, newData, newRes, _b, _c, opts, shouldRetry, _d, _e, theData, err_1, opts, shouldRetry, _f, _g, theData;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n if (isServer)\n return [2 /*return*/]; // for now, we don't do anything on the server\n controller.current = new AbortController();\n controller.current.signal.onabort = onAbort;\n theController = controller.current;\n return [4 /*yield*/, doFetchArgs(requestInit, method, theController, cacheLife, cache, host, path, routeOrBody, body, interceptors.request)];\n case 1:\n _a = _h.sent(), url = _a.url, options = _a.options, response = _a.response;\n error.current = undefined;\n // don't perform the request if there is no more data to fetch (pagination)\n if (perPage > 0 && !hasMore.current && !error.current)\n return [2 /*return*/, data.current];\n if (!suspense)\n setLoading(true);\n timer = timeout && setTimeout(function () {\n timedout.current = true;\n theController.abort();\n if (onTimeout)\n onTimeout();\n }, timeout);\n _h.label = 2;\n case 2:\n _h.trys.push([2, 17, 23, 24]);\n if (!(response.isCached && cachePolicy === CACHE_FIRST)) return [3 /*break*/, 3];\n newRes = response.cached;\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, fetch(url, options)];\n case 4:\n newRes = (_h.sent()).clone();\n _h.label = 5;\n case 5:\n res.current = newRes.clone();\n return [4 /*yield*/, tryGetData(newRes, defaults.data, responseType)];\n case 6:\n newData = _h.sent();\n res.current.data = onNewData(data.current, newData);\n _b = res;\n if (!interceptors.response) return [3 /*break*/, 8];\n return [4 /*yield*/, interceptors.response({ response: res.current, request: requestInit })];\n case 7:\n _c = _h.sent();\n return [3 /*break*/, 9];\n case 8:\n _c = res.current;\n _h.label = 9;\n case 9:\n _b.current = _c;\n invariant('data' in res.current, 'You must have `data` field on the Response returned from your `interceptors.response`');\n data.current = res.current.data;\n opts = { attempt: attempt.current, response: newRes };\n // if we just have `retries` set with NO `retryOn` then\n // automatically retry on fail until attempts run out\n _d = !isFunction(retryOn) && Array.isArray(retryOn) && retryOn.length < 1 && (newRes === null || newRes === void 0 ? void 0 : newRes.ok) === false\n // otherwise only retry when is specified\n || Array.isArray(retryOn) && retryOn.includes(newRes.status);\n if (_d) \n // if we just have `retries` set with NO `retryOn` then\n // automatically retry on fail until attempts run out\n return [3 /*break*/, 12];\n _e = isFunction(retryOn);\n if (!_e) return [3 /*break*/, 11];\n return [4 /*yield*/, retryOn(opts)];\n case 10:\n _e = (_h.sent());\n _h.label = 11;\n case 11:\n _d = _e;\n _h.label = 12;\n case 12:\n shouldRetry = (_d) && retries > 0 && retries > attempt.current;\n if (!shouldRetry) return [3 /*break*/, 14];\n return [4 /*yield*/, retry(opts, routeOrBody, body)];\n case 13:\n theData = _h.sent();\n return [2 /*return*/, theData];\n case 14:\n if (!(cachePolicy === CACHE_FIRST && !response.isCached)) return [3 /*break*/, 16];\n return [4 /*yield*/, cache.set(response.id, newRes.clone())];\n case 15:\n _h.sent();\n _h.label = 16;\n case 16:\n if (Array.isArray(data.current) && !!(data.current.length % perPage))\n hasMore.current = false;\n return [3 /*break*/, 24];\n case 17:\n err_1 = _h.sent();\n if (attempt.current >= retries && timedout.current)\n error.current = makeError('AbortError', 'Timeout Error');\n opts = { attempt: attempt.current, error: err_1 };\n // if we just have `retries` set with NO `retryOn` then\n // automatically retry on fail until attempts run out\n _f = !isFunction(retryOn) && Array.isArray(retryOn) && retryOn.length < 1;\n if (_f) \n // if we just have `retries` set with NO `retryOn` then\n // automatically retry on fail until attempts run out\n return [3 /*break*/, 20];\n _g = isFunction(retryOn);\n if (!_g) return [3 /*break*/, 19];\n return [4 /*yield*/, retryOn(opts)];\n case 18:\n _g = (_h.sent());\n _h.label = 19;\n case 19:\n _f = _g;\n _h.label = 20;\n case 20:\n shouldRetry = (_f) && retries > 0 && retries > attempt.current;\n if (!shouldRetry) return [3 /*break*/, 22];\n return [4 /*yield*/, retry(opts, routeOrBody, body)];\n case 21:\n theData = _h.sent();\n return [2 /*return*/, theData];\n case 22:\n if (err_1.name !== 'AbortError') {\n error.current = err_1;\n }\n return [3 /*break*/, 24];\n case 23:\n timedout.current = false;\n if (timer)\n clearTimeout(timer);\n controller.current = undefined;\n return [7 /*endfinally*/];\n case 24:\n if (newRes && !newRes.ok && !error.current)\n error.current = makeError(newRes.status, newRes.statusText);\n if (!suspense)\n setLoading(false);\n if (attempt.current === retries)\n attempt.current = 0;\n if (error.current)\n onError({ error: error.current });\n return [2 /*return*/, data.current];\n }\n });\n }); }; // end of doFetch()\n var retry = function (opts, routeOrBody, body) { return __awaiter(_this, void 0, void 0, function () {\n var delay, d;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n delay = (isFunction(retryDelay) ? retryDelay(opts) : retryDelay);\n if (!(Number.isInteger(delay) && delay >= 0)) {\n console.error('retryDelay must be a number >= 0! If you\\'re using it as a function, it must also return a number >= 0.');\n }\n attempt.current++;\n if (!delay) return [3 /*break*/, 2];\n return [4 /*yield*/, sleep(delay)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [4 /*yield*/, doFetch(routeOrBody, body)];\n case 3:\n d = _a.sent();\n return [2 /*return*/, d];\n }\n });\n }); };\n if (suspense) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(_this, void 0, void 0, function () {\n var newData;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n suspender.current = doFetch.apply(void 0, args).then(function (newData) {\n suspenseStatus.current = 'success';\n return newData;\n }, function () {\n suspenseStatus.current = 'error';\n });\n forceUpdate();\n return [4 /*yield*/, suspender.current];\n case 1:\n newData = _a.sent();\n return [2 /*return*/, newData];\n }\n });\n });\n };\n }\n return doFetch;\n }, [isServer, onAbort, requestInit, host, path, interceptors, cachePolicy, perPage, timeout, persist, cacheLife, onTimeout, defaults.data, onNewData, forceUpdate, suspense]);\n var post = useCallback(makeFetch(HTTPMethod.POST), [makeFetch]);\n var del = useCallback(makeFetch(HTTPMethod.DELETE), [makeFetch]);\n var request = useMemo(function () { return Object.defineProperties({\n get: makeFetch(HTTPMethod.GET),\n post: post,\n patch: makeFetch(HTTPMethod.PATCH),\n put: makeFetch(HTTPMethod.PUT),\n options: makeFetch(HTTPMethod.OPTIONS),\n head: makeFetch(HTTPMethod.HEAD),\n connect: makeFetch(HTTPMethod.CONNECT),\n trace: makeFetch(HTTPMethod.TRACE),\n del: del,\n delete: del,\n abort: function () { return controller.current && controller.current.abort(); },\n query: function (query, variables) { return post({ query: query, variables: variables }); },\n mutate: function (mutation, variables) { return post({ mutation: mutation, variables: variables }); },\n cache: cache\n }, {\n loading: { get: function () { return loading.current; } },\n error: { get: function () { return error.current; } },\n data: { get: function () { return data.current; } },\n }); }, [makeFetch]);\n var response = useMemo(function () { return toResponseObject(res, data); }, []);\n // onMount/onUpdate\n useEffect(function () {\n mounted.current = true;\n if (Array.isArray(dependencies)) {\n var methodName = requestInit.method || HTTPMethod.GET;\n var methodLower = methodName.toLowerCase();\n var req = request[methodLower];\n req();\n }\n return function () { return mounted.current = false; };\n }, dependencies);\n // Cancel any running request when unmounting to avoid updating state after component has unmounted\n // This can happen if a request's promise resolves after component unmounts\n useEffect(function () { return request.abort; }, []);\n if (suspense && suspender.current) {\n if (isServer)\n throw new Error('Suspense on server side is not yet supported! 🙅‍♂️');\n switch (suspenseStatus.current) {\n case 'pending':\n throw suspender.current;\n case 'error':\n throw error.current;\n }\n }\n return Object.assign([request, response, loading.current, error.current], __assign(__assign({ request: request, response: response }, request), { loading: loading.current, data: data.current, error: error.current }));\n}\nexport { useFetch };\nexport default useFetch;\n","import React, { useMemo } from 'react';\nimport useSSR from 'use-ssr';\nimport FetchContext from './FetchContext';\nexport var Provider = function (_a) {\n var url = _a.url, options = _a.options, _b = _a.graphql, graphql = _b === void 0 ? false : _b, children = _a.children;\n var isBrowser = useSSR().isBrowser;\n var defaults = useMemo(function () { return ({\n url: url || (isBrowser ? window.location.origin : ''),\n options: options || {},\n graphql: graphql // TODO: this will make it so useFetch(QUERY || MUTATION) will work\n }); }, [options, graphql, isBrowser, url]);\n return (React.createElement(FetchContext.Provider, { value: defaults }, children));\n};\n","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport default index;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Device;\n(function (Device) {\n Device[\"Browser\"] = \"browser\";\n Device[\"Server\"] = \"server\";\n Device[\"Native\"] = \"native\";\n})(Device = exports.Device || (exports.Device = {}));\nvar Browser = Device.Browser, Server = Device.Server, Native = Device.Native;\nvar canUseDOM = !!(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nvar canUseNative = typeof navigator != 'undefined' && navigator.product == 'ReactNative';\nvar device = canUseNative ? Native : canUseDOM ? Browser : Server;\nvar SSRObject = {\n isBrowser: device === Browser,\n isServer: device === Server,\n isNative: device === Native,\n device: device,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: device === Browser && !!window.addEventListener,\n canUseViewport: device === Browser && !!window.screen,\n};\n// TODO: instead of this, do a polyfill for `Object.assign` https://www.npmjs.com/package/es6-object-assign\nvar assign = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.reduce(function (acc, obj) { return (__assign(__assign({}, acc), obj)); }, {});\n};\nvar values = function (obj) { return Object.keys(obj).map(function (key) { return obj[key]; }); };\nvar toArrayObject = function () { return assign((values(SSRObject), SSRObject)); };\nvar useSSRObject = toArrayObject();\nexports.weAreServer = function () {\n SSRObject.isServer = true;\n useSSRObject = toArrayObject();\n};\nexports.useSSR = function () { return useSSRObject; };\nexports.default = exports.useSSR;\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { __assign } from './_virtual/_tslib.js';\nimport { symbolObservable, toInvokeSource, mapContext, isMachine } from './utils.js';\nimport { provide } from './serviceScope.js';\n\nfunction createNullActor(id) {\n var _a;\n\n return _a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a;\n}\n/**\r\n * Creates a deferred actor that is able to be invoked given the provided\r\n * invocation information in its `.meta` value.\r\n *\r\n * @param invokeDefinition The meta information needed to invoke the actor.\r\n */\n\nfunction createInvocableActor(invokeDefinition, machine, context, _event) {\n var _a;\n\n var invokeSrc = toInvokeSource(invokeDefinition.src);\n var serviceCreator = (_a = machine === null || machine === void 0 ? void 0 : machine.options.services) === null || _a === void 0 ? void 0 : _a[invokeSrc.type];\n var resolvedData = invokeDefinition.data ? mapContext(invokeDefinition.data, context, _event) : undefined;\n var tempActor = serviceCreator ? createDeferredActor(serviceCreator, invokeDefinition.id, resolvedData) : createNullActor(invokeDefinition.id); // @ts-ignore\n\n tempActor.meta = invokeDefinition;\n return tempActor;\n}\nfunction createDeferredActor(entity, id, data) {\n var tempActor = createNullActor(id); // @ts-ignore\n\n tempActor.deferred = true;\n\n if (isMachine(entity)) {\n // \"mute\" the existing service scope so potential spawned actors within the `.initialState` stay deferred here\n var initialState_1 = tempActor.state = provide(undefined, function () {\n return (data ? entity.withContext(data) : entity).initialState;\n });\n\n tempActor.getSnapshot = function () {\n return initialState_1;\n };\n }\n\n return tempActor;\n}\nfunction isActor(item) {\n try {\n return typeof item.send === 'function';\n } catch (e) {\n return false;\n }\n}\nfunction isSpawnedActor(item) {\n return isActor(item) && 'id' in item;\n} // TODO: refactor the return type, this could be written in a better way but it's best to avoid unneccessary breaking changes now\n\nfunction toActorRef(actorRefLike) {\n var _a;\n\n return __assign((_a = {\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n id: 'anonymous',\n getSnapshot: function () {\n return undefined;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a), actorRefLike);\n}\n\nexport { createDeferredActor, createInvocableActor, createNullActor, isActor, isSpawnedActor, toActorRef };\n","import { StateNode } from './StateNode.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar warned = false;\nfunction Machine(config, options, initialContext) {\n if (initialContext === void 0) {\n initialContext = config.context;\n }\n\n return new StateNode(config, options, initialContext);\n}\nfunction createMachine(config, options) {\n if (!IS_PRODUCTION && !config.predictableActionArguments && !warned) {\n warned = true;\n console.warn('It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html');\n }\n\n return new StateNode(config, options);\n}\n\nexport { Machine, createMachine };\n","import { __assign, __spreadArray, __read, __rest } from './_virtual/_tslib.js';\nimport { EMPTY_ACTIVITY_MAP } from './constants.js';\nimport { isString, matchesState, warn } from './utils.js';\nimport { getMeta, nextEvents } from './stateUtils.js';\nimport { initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nfunction stateValuesEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a === undefined || b === undefined) {\n return false;\n }\n\n if (isString(a) || isString(b)) {\n return a === b;\n }\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n return aKeys.length === bKeys.length && aKeys.every(function (key) {\n return stateValuesEqual(a[key], b[key]);\n });\n}\nfunction isStateConfig(state) {\n if (typeof state !== 'object' || state === null) {\n return false;\n }\n\n return 'value' in state && '_event' in state;\n}\n/**\r\n * @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.\r\n */\n\nvar isState = isStateConfig;\nfunction bindActionToState(action, state) {\n var exec = action.exec;\n\n var boundAction = __assign(__assign({}, action), {\n exec: exec !== undefined ? function () {\n return exec(state.context, state.event, {\n action: action,\n state: state,\n _event: state._event\n });\n } : undefined\n });\n\n return boundAction;\n}\n\nvar State =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new State instance.\r\n * @param value The state value\r\n * @param context The extended state\r\n * @param historyValue The tree representing historical values of the state nodes\r\n * @param history The previous state\r\n * @param actions An array of action objects to execute as side-effects\r\n * @param activities A mapping of activities and whether they are started (`true`) or stopped (`false`).\r\n * @param meta\r\n * @param events Internal event queue. Should be empty with run-to-completion semantics.\r\n * @param configuration\r\n */\n function State(config) {\n var _this = this;\n\n var _a;\n\n this.actions = [];\n this.activities = EMPTY_ACTIVITY_MAP;\n this.meta = {};\n this.events = [];\n this.value = config.value;\n this.context = config.context;\n this._event = config._event;\n this._sessionid = config._sessionid;\n this.event = this._event.data;\n this.historyValue = config.historyValue;\n this.history = config.history;\n this.actions = config.actions || [];\n this.activities = config.activities || EMPTY_ACTIVITY_MAP;\n this.meta = getMeta(config.configuration);\n this.events = config.events || [];\n this.matches = this.matches.bind(this);\n this.toStrings = this.toStrings.bind(this);\n this.configuration = config.configuration;\n this.transitions = config.transitions;\n this.children = config.children;\n this.done = !!config.done;\n this.tags = (_a = Array.isArray(config.tags) ? new Set(config.tags) : config.tags) !== null && _a !== void 0 ? _a : new Set();\n this.machine = config.machine;\n Object.defineProperty(this, 'nextEvents', {\n get: function () {\n return nextEvents(_this.configuration);\n }\n });\n }\n /**\r\n * Creates a new State instance for the given `stateValue` and `context`.\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.from = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (stateValue.context !== context) {\n return new State({\n value: stateValue.value,\n context: context,\n _event: stateValue._event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n actions: [],\n activities: stateValue.activities,\n meta: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n }\n\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: undefined,\n history: undefined,\n actions: [],\n activities: undefined,\n meta: undefined,\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n };\n /**\r\n * Creates a new State instance for the given `config`.\r\n * @param config The state config\r\n */\n\n\n State.create = function (config) {\n return new State(config);\n };\n /**\r\n * Creates a new `State` instance for the given `stateValue` and `context` with no actions (side-effects).\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.inert = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (!stateValue.actions.length) {\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue.value,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n activities: stateValue.activities,\n configuration: stateValue.configuration,\n transitions: [],\n children: {}\n });\n }\n\n return State.from(stateValue, context);\n };\n /**\r\n * Returns an array of all the string leaf state node paths.\r\n * @param stateValue\r\n * @param delimiter The character(s) that separate each subpath in the string state node path.\r\n */\n\n\n State.prototype.toStrings = function (stateValue, delimiter) {\n var _this = this;\n\n if (stateValue === void 0) {\n stateValue = this.value;\n }\n\n if (delimiter === void 0) {\n delimiter = '.';\n }\n\n if (isString(stateValue)) {\n return [stateValue];\n }\n\n var valueKeys = Object.keys(stateValue);\n return valueKeys.concat.apply(valueKeys, __spreadArray([], __read(valueKeys.map(function (key) {\n return _this.toStrings(stateValue[key], delimiter).map(function (s) {\n return key + delimiter + s;\n });\n })), false));\n };\n\n State.prototype.toJSON = function () {\n var _a = this;\n _a.configuration;\n _a.transitions;\n var tags = _a.tags;\n _a.machine;\n var jsonValues = __rest(_a, [\"configuration\", \"transitions\", \"tags\", \"machine\"]);\n\n return __assign(__assign({}, jsonValues), {\n tags: Array.from(tags)\n });\n };\n\n State.prototype.matches = function (parentStateValue) {\n return matchesState(parentStateValue, this.value);\n };\n /**\r\n * Whether the current state configuration has a state node with the specified `tag`.\r\n * @param tag\r\n */\n\n\n State.prototype.hasTag = function (tag) {\n return this.tags.has(tag);\n };\n /**\r\n * Determines whether sending the `event` will cause a non-forbidden transition\r\n * to be selected, even if the transitions have no actions nor\r\n * change the state value.\r\n *\r\n * @param event The event to test\r\n * @returns Whether the event will cause a transition\r\n */\n\n\n State.prototype.can = function (event) {\n var _a;\n\n if (IS_PRODUCTION) {\n warn(!!this.machine, \"state.can(...) used outside of a machine-created State object; this will always return false.\");\n }\n\n var transitionData = (_a = this.machine) === null || _a === void 0 ? void 0 : _a.getTransitionData(this, event);\n return !!(transitionData === null || transitionData === void 0 ? void 0 : transitionData.transitions.length) && // Check that at least one transition is not forbidden\n transitionData.transitions.some(function (t) {\n return t.target !== undefined || t.actions.length;\n });\n };\n\n return State;\n}();\n\nexport { State, bindActionToState, isState, isStateConfig, stateValuesEqual };\n","import { __assign, __rest } from './_virtual/_tslib.js';\nimport './types.js';\nimport { invoke } from './actionTypes.js';\nimport './utils.js';\nimport './environment.js';\n\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n var simpleSrc = {\n type: src\n };\n\n simpleSrc.toString = function () {\n return src;\n }; // v4 compat - TODO: remove in v5\n\n\n return simpleSrc;\n }\n\n return src;\n}\nfunction toInvokeDefinition(invokeConfig) {\n return __assign(__assign({\n type: invoke\n }, invokeConfig), {\n toJSON: function () {\n invokeConfig.onDone;\n invokeConfig.onError;\n var invokeDef = __rest(invokeConfig, [\"onDone\", \"onError\"]);\n\n return __assign(__assign({}, invokeDef), {\n type: invoke,\n src: toInvokeSource(invokeConfig.src)\n });\n }\n });\n}\n\nexport { toInvokeDefinition, toInvokeSource };\n","import { __assign, __spreadArray, __read, __values, __rest } from './_virtual/_tslib.js';\nimport { isFunction, mapValues, isArray, flatten, toArray, toStateValue, isString, getEventType, toSCXMLEvent, matchesState, path, evaluateGuard, mapContext, pathToStateValue, isBuiltInEvent, partition, updateHistoryValue, toStatePath, mapFilterValues, warn, toStatePaths, nestedPath, normalizeTarget, toGuard, toTransitionConfigArray, isMachine, createInvokeId } from './utils.js';\nimport { SpecialTargets } from './types.js';\nimport { State, stateValuesEqual } from './State.js';\nimport { raise as raise$1, send, start as start$1, stop as stop$1, invoke, update, nullEvent } from './actionTypes.js';\nimport { done, start, toActionObjects, raise, stop, resolveActions, doneInvoke, error, toActionObject, toActivityDefinition, after, send as send$1, cancel, initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { STATE_DELIMITER } from './constants.js';\nimport { getAllStateNodes, getConfiguration, isInFinalState, getTagsFromConfiguration, has, getChildren, getValue, isLeafNode, getAllChildren } from './stateUtils.js';\nimport { createInvocableActor } from './Actor.js';\nimport { toInvokeDefinition } from './invokeUtils.js';\n\nvar NULL_EVENT = '';\nvar STATE_IDENTIFIER = '#';\nvar WILDCARD = '*';\nvar EMPTY_OBJECT = {};\n\nvar isStateId = function (str) {\n return str[0] === STATE_IDENTIFIER;\n};\n\nvar createDefaultOptions = function () {\n return {\n actions: {},\n guards: {},\n services: {},\n activities: {},\n delays: {}\n };\n};\n\nvar validateArrayifiedTransitions = function (stateNode, event, transitions) {\n var hasNonLastUnguardedTarget = transitions.slice(0, -1).some(function (transition) {\n return !('cond' in transition) && !('in' in transition) && (isString(transition.target) || isMachine(transition.target));\n });\n var eventText = event === NULL_EVENT ? 'the transient event' : \"event '\".concat(event, \"'\");\n warn(!hasNonLastUnguardedTarget, \"One or more transitions for \".concat(eventText, \" on state '\").concat(stateNode.id, \"' are unreachable. \") + \"Make sure that the default transition is the last one defined.\");\n};\n\nvar StateNode =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function StateNode(\n /**\r\n * The raw config used to create the machine.\r\n */\n config, options,\n /**\r\n * The initial extended state\r\n */\n _context, // TODO: this is unsafe, but we're removing it in v5 anyway\n _stateInfo) {\n if (_context === void 0) {\n _context = 'context' in config ? config.context : undefined;\n }\n\n var _this = this;\n\n var _a;\n\n this.config = config;\n this._context = _context;\n /**\r\n * The order this state node appears. Corresponds to the implicit SCXML document order.\r\n */\n\n this.order = -1;\n this.__xstatenode = true;\n this.__cache = {\n events: undefined,\n relativeValue: new Map(),\n initialStateValue: undefined,\n initialState: undefined,\n on: undefined,\n transitions: undefined,\n candidates: {},\n delayedTransitions: undefined\n };\n this.idMap = {};\n this.tags = [];\n this.options = Object.assign(createDefaultOptions(), options);\n this.parent = _stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.parent;\n this.key = this.config.key || (_stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.key) || this.config.id || '(machine)';\n this.machine = this.parent ? this.parent.machine : this;\n this.path = this.parent ? this.parent.path.concat(this.key) : [];\n this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : STATE_DELIMITER);\n this.id = this.config.id || __spreadArray([this.machine.key], __read(this.path), false).join(this.delimiter);\n this.version = this.parent ? this.parent.version : this.config.version;\n this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');\n this.schema = this.parent ? this.machine.schema : (_a = this.config.schema) !== null && _a !== void 0 ? _a : {};\n this.description = this.config.description;\n\n if (!IS_PRODUCTION) {\n warn(!('parallel' in this.config), \"The \\\"parallel\\\" property is deprecated and will be removed in version 4.1. \".concat(this.config.parallel ? \"Replace with `type: 'parallel'`\" : \"Use `type: '\".concat(this.type, \"'`\"), \" in the config for state node '\").concat(this.id, \"' instead.\"));\n }\n\n this.initial = this.config.initial;\n this.states = this.config.states ? mapValues(this.config.states, function (stateConfig, key) {\n var _a;\n\n var stateNode = new StateNode(stateConfig, {}, undefined, {\n parent: _this,\n key: key\n });\n Object.assign(_this.idMap, __assign((_a = {}, _a[stateNode.id] = stateNode, _a), stateNode.idMap));\n return stateNode;\n }) : EMPTY_OBJECT; // Document order\n\n var order = 0;\n\n function dfs(stateNode) {\n var e_1, _a;\n\n stateNode.order = order++;\n\n try {\n for (var _b = __values(getAllChildren(stateNode)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n dfs(child);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n\n dfs(this); // History config\n\n this.history = this.config.history === true ? 'shallow' : this.config.history || false;\n this._transient = !!this.config.always || (!this.config.on ? false : Array.isArray(this.config.on) ? this.config.on.some(function (_a) {\n var event = _a.event;\n return event === NULL_EVENT;\n }) : NULL_EVENT in this.config.on);\n this.strict = !!this.config.strict; // TODO: deprecate (entry)\n\n this.onEntry = toArray(this.config.entry || this.config.onEntry).map(function (action) {\n return toActionObject(action);\n }); // TODO: deprecate (exit)\n\n this.onExit = toArray(this.config.exit || this.config.onExit).map(function (action) {\n return toActionObject(action);\n });\n this.meta = this.config.meta;\n this.doneData = this.type === 'final' ? this.config.data : undefined;\n this.invoke = toArray(this.config.invoke).map(function (invokeConfig, i) {\n var _a, _b;\n\n if (isMachine(invokeConfig)) {\n var invokeId = createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_a = {}, _a[invokeId] = invokeConfig, _a), _this.machine.options.services);\n return toInvokeDefinition({\n src: invokeId,\n id: invokeId\n });\n } else if (isString(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n return toInvokeDefinition(__assign(__assign({}, invokeConfig), {\n id: invokeId,\n src: invokeConfig.src\n }));\n } else if (isMachine(invokeConfig.src) || isFunction(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_b = {}, _b[invokeId] = invokeConfig.src, _b), _this.machine.options.services);\n return toInvokeDefinition(__assign(__assign({\n id: invokeId\n }, invokeConfig), {\n src: invokeId\n }));\n } else {\n var invokeSource = invokeConfig.src;\n return toInvokeDefinition(__assign(__assign({\n id: createInvokeId(_this.id, i)\n }, invokeConfig), {\n src: invokeSource\n }));\n }\n });\n this.activities = toArray(this.config.activities).concat(this.invoke).map(function (activity) {\n return toActivityDefinition(activity);\n });\n this.transition = this.transition.bind(this);\n this.tags = toArray(this.config.tags); // TODO: this is the real fix for initialization once\n // state node getters are deprecated\n // if (!this.parent) {\n // this._init();\n // }\n }\n\n StateNode.prototype._init = function () {\n if (this.__cache.transitions) {\n return;\n }\n\n getAllStateNodes(this).forEach(function (stateNode) {\n return stateNode.on;\n });\n };\n /**\r\n * Clones this state machine with custom options and context.\r\n *\r\n * @param options Options (actions, guards, activities, services) to recursively merge with the existing options.\r\n * @param context Custom context (will override predefined context)\r\n */\n\n\n StateNode.prototype.withConfig = function (options, context) {\n var _a = this.options,\n actions = _a.actions,\n activities = _a.activities,\n guards = _a.guards,\n services = _a.services,\n delays = _a.delays;\n return new StateNode(this.config, {\n actions: __assign(__assign({}, actions), options.actions),\n activities: __assign(__assign({}, activities), options.activities),\n guards: __assign(__assign({}, guards), options.guards),\n services: __assign(__assign({}, services), options.services),\n delays: __assign(__assign({}, delays), options.delays)\n }, context !== null && context !== void 0 ? context : this.context);\n };\n /**\r\n * Clones this state machine with custom context.\r\n *\r\n * @param context Custom context (will override predefined context, not recursive)\r\n */\n\n\n StateNode.prototype.withContext = function (context) {\n return new StateNode(this.config, this.options, context);\n };\n\n Object.defineProperty(StateNode.prototype, \"context\", {\n get: function () {\n return isFunction(this._context) ? this._context() : this._context;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"definition\", {\n /**\r\n * The well-structured state node definition.\r\n */\n get: function () {\n return {\n id: this.id,\n key: this.key,\n version: this.version,\n context: this.context,\n type: this.type,\n initial: this.initial,\n history: this.history,\n states: mapValues(this.states, function (state) {\n return state.definition;\n }),\n on: this.on,\n transitions: this.transitions,\n entry: this.onEntry,\n exit: this.onExit,\n activities: this.activities || [],\n meta: this.meta,\n order: this.order || -1,\n data: this.doneData,\n invoke: this.invoke,\n description: this.description,\n tags: this.tags\n };\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.toJSON = function () {\n return this.definition;\n };\n\n Object.defineProperty(StateNode.prototype, \"on\", {\n /**\r\n * The mapping of events to transitions.\r\n */\n get: function () {\n if (this.__cache.on) {\n return this.__cache.on;\n }\n\n var transitions = this.transitions;\n return this.__cache.on = transitions.reduce(function (map, transition) {\n map[transition.eventType] = map[transition.eventType] || [];\n map[transition.eventType].push(transition);\n return map;\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"after\", {\n get: function () {\n return this.__cache.delayedTransitions || (this.__cache.delayedTransitions = this.getDelayedTransitions(), this.__cache.delayedTransitions);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"transitions\", {\n /**\r\n * All the transitions that can be taken from this state node.\r\n */\n get: function () {\n return this.__cache.transitions || (this.__cache.transitions = this.formatTransitions(), this.__cache.transitions);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getCandidates = function (eventName) {\n if (this.__cache.candidates[eventName]) {\n return this.__cache.candidates[eventName];\n }\n\n var transient = eventName === NULL_EVENT;\n var candidates = this.transitions.filter(function (transition) {\n var sameEventType = transition.eventType === eventName; // null events should only match against eventless transitions\n\n return transient ? sameEventType : sameEventType || transition.eventType === WILDCARD;\n });\n this.__cache.candidates[eventName] = candidates;\n return candidates;\n };\n /**\r\n * All delayed transitions from the config.\r\n */\n\n\n StateNode.prototype.getDelayedTransitions = function () {\n var _this = this;\n\n var afterConfig = this.config.after;\n\n if (!afterConfig) {\n return [];\n }\n\n var mutateEntryExit = function (delay, i) {\n var delayRef = isFunction(delay) ? \"\".concat(_this.id, \":delay[\").concat(i, \"]\") : delay;\n var eventType = after(delayRef, _this.id);\n\n _this.onEntry.push(send$1(eventType, {\n delay: delay\n }));\n\n _this.onExit.push(cancel(eventType));\n\n return eventType;\n };\n\n var delayedTransitions = isArray(afterConfig) ? afterConfig.map(function (transition, i) {\n var eventType = mutateEntryExit(transition.delay, i);\n return __assign(__assign({}, transition), {\n event: eventType\n });\n }) : flatten(Object.keys(afterConfig).map(function (delay, i) {\n var configTransition = afterConfig[delay];\n var resolvedTransition = isString(configTransition) ? {\n target: configTransition\n } : configTransition;\n var resolvedDelay = !isNaN(+delay) ? +delay : delay;\n var eventType = mutateEntryExit(resolvedDelay, i);\n return toArray(resolvedTransition).map(function (transition) {\n return __assign(__assign({}, transition), {\n event: eventType,\n delay: resolvedDelay\n });\n });\n }));\n return delayedTransitions.map(function (delayedTransition) {\n var delay = delayedTransition.delay;\n return __assign(__assign({}, _this.formatTransition(delayedTransition)), {\n delay: delay\n });\n });\n };\n /**\r\n * Returns the state nodes represented by the current state value.\r\n *\r\n * @param state The state value or State instance\r\n */\n\n\n StateNode.prototype.getStateNodes = function (state) {\n var _a;\n\n var _this = this;\n\n if (!state) {\n return [];\n }\n\n var stateValue = state instanceof State ? state.value : toStateValue(state, this.delimiter);\n\n if (isString(stateValue)) {\n var initialStateValue = this.getStateNode(stateValue).initial;\n return initialStateValue !== undefined ? this.getStateNodes((_a = {}, _a[stateValue] = initialStateValue, _a)) : [this, this.states[stateValue]];\n }\n\n var subStateKeys = Object.keys(stateValue);\n var subStateNodes = [this];\n subStateNodes.push.apply(subStateNodes, __spreadArray([], __read(flatten(subStateKeys.map(function (subStateKey) {\n return _this.getStateNode(subStateKey).getStateNodes(stateValue[subStateKey]);\n }))), false));\n return subStateNodes;\n };\n /**\r\n * Returns `true` if this state node explicitly handles the given event.\r\n *\r\n * @param event The event in question\r\n */\n\n\n StateNode.prototype.handles = function (event) {\n var eventType = getEventType(event);\n return this.events.includes(eventType);\n };\n /**\r\n * Resolves the given `state` to a new `State` instance relative to this machine.\r\n *\r\n * This ensures that `.events` and `.nextEvents` represent the correct values.\r\n *\r\n * @param state The state to resolve\r\n */\n\n\n StateNode.prototype.resolveState = function (state) {\n var stateFromConfig = state instanceof State ? state : State.create(state);\n var configuration = Array.from(getConfiguration([], this.getStateNodes(stateFromConfig.value)));\n return new State(__assign(__assign({}, stateFromConfig), {\n value: this.resolve(stateFromConfig.value),\n configuration: configuration,\n done: isInFinalState(configuration, this),\n tags: getTagsFromConfiguration(configuration),\n machine: this.machine\n }));\n };\n\n StateNode.prototype.transitionLeafNode = function (stateValue, state, _event) {\n var stateNode = this.getStateNode(stateValue);\n var next = stateNode.next(state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionCompoundNode = function (stateValue, state, _event) {\n var subStateKeys = Object.keys(stateValue);\n var stateNode = this.getStateNode(subStateKeys[0]);\n\n var next = stateNode._transition(stateValue[subStateKeys[0]], state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionParallelNode = function (stateValue, state, _event) {\n var e_2, _a;\n\n var transitionMap = {};\n\n try {\n for (var _b = __values(Object.keys(stateValue)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var subStateKey = _c.value;\n var subStateValue = stateValue[subStateKey];\n\n if (!subStateValue) {\n continue;\n }\n\n var subStateNode = this.getStateNode(subStateKey);\n\n var next = subStateNode._transition(subStateValue, state, _event);\n\n if (next) {\n transitionMap[subStateKey] = next;\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n var stateTransitions = Object.keys(transitionMap).map(function (key) {\n return transitionMap[key];\n });\n var enabledTransitions = flatten(stateTransitions.map(function (st) {\n return st.transitions;\n }));\n var willTransition = stateTransitions.some(function (st) {\n return st.transitions.length > 0;\n });\n\n if (!willTransition) {\n return this.next(state, _event);\n }\n\n var entryNodes = flatten(stateTransitions.map(function (t) {\n return t.entrySet;\n }));\n var configuration = flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].configuration;\n }));\n return {\n transitions: enabledTransitions,\n entrySet: entryNodes,\n exitSet: flatten(stateTransitions.map(function (t) {\n return t.exitSet;\n })),\n configuration: configuration,\n source: state,\n actions: flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].actions;\n }))\n };\n };\n\n StateNode.prototype._transition = function (stateValue, state, _event) {\n // leaf node\n if (isString(stateValue)) {\n return this.transitionLeafNode(stateValue, state, _event);\n } // hierarchical node\n\n\n if (Object.keys(stateValue).length === 1) {\n return this.transitionCompoundNode(stateValue, state, _event);\n } // orthogonal node\n\n\n return this.transitionParallelNode(stateValue, state, _event);\n };\n\n StateNode.prototype.getTransitionData = function (state, event) {\n return this._transition(state.value, state, toSCXMLEvent(event));\n };\n\n StateNode.prototype.next = function (state, _event) {\n var e_3, _a;\n\n var _this = this;\n\n var eventName = _event.name;\n var actions = [];\n var nextStateNodes = [];\n var selectedTransition;\n\n try {\n for (var _b = __values(this.getCandidates(eventName)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var candidate = _c.value;\n var cond = candidate.cond,\n stateIn = candidate.in;\n var resolvedContext = state.context;\n var isInState = stateIn ? isString(stateIn) && isStateId(stateIn) ? // Check if in state by ID\n state.matches(toStateValue(this.getStateNodeById(stateIn).path, this.delimiter)) : // Check if in state by relative grandparent\n matchesState(toStateValue(stateIn, this.delimiter), path(this.path.slice(0, -2))(state.value)) : true;\n var guardPassed = false;\n\n try {\n guardPassed = !cond || evaluateGuard(this.machine, cond, resolvedContext, _event, state);\n } catch (err) {\n throw new Error(\"Unable to evaluate guard '\".concat(cond.name || cond.type, \"' in transition for event '\").concat(eventName, \"' in state node '\").concat(this.id, \"':\\n\").concat(err.message));\n }\n\n if (guardPassed && isInState) {\n if (candidate.target !== undefined) {\n nextStateNodes = candidate.target;\n }\n\n actions.push.apply(actions, __spreadArray([], __read(candidate.actions), false));\n selectedTransition = candidate;\n break;\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n if (!selectedTransition) {\n return undefined;\n }\n\n if (!nextStateNodes.length) {\n return {\n transitions: [selectedTransition],\n entrySet: [],\n exitSet: [],\n configuration: state.value ? [this] : [],\n source: state,\n actions: actions\n };\n }\n\n var allNextStateNodes = flatten(nextStateNodes.map(function (stateNode) {\n return _this.getRelativeStateNodes(stateNode, state.historyValue);\n }));\n var isInternal = !!selectedTransition.internal;\n var reentryNodes = [];\n\n if (!isInternal) {\n nextStateNodes.forEach(function (targetNode) {\n reentryNodes.push.apply(reentryNodes, __spreadArray([], __read(_this.getExternalReentryNodes(targetNode)), false));\n });\n }\n\n return {\n transitions: [selectedTransition],\n entrySet: reentryNodes,\n exitSet: isInternal ? [] : [this],\n configuration: allNextStateNodes,\n source: state,\n actions: actions\n };\n };\n\n StateNode.prototype.getExternalReentryNodes = function (targetNode) {\n var nodes = [];\n\n var _a = __read(targetNode.order > this.order ? [targetNode, this] : [this, targetNode], 2),\n marker = _a[0],\n possibleAncestor = _a[1];\n\n while (marker && marker !== possibleAncestor) {\n nodes.push(marker);\n marker = marker.parent;\n }\n\n if (marker !== possibleAncestor) {\n // we never got to `possibleAncestor`, therefore the initial `marker` \"escapes\" it\n // it's in a different part of the tree so no states will be reentered for such an external transition\n return [];\n }\n\n nodes.push(possibleAncestor);\n return nodes;\n };\n\n StateNode.prototype.getActions = function (resolvedConfig, isDone, transition, currentContext, _event, prevState, predictableExec) {\n var e_4, _a, e_5, _b;\n\n var _this = this;\n\n var prevConfig = getConfiguration([], prevState ? this.getStateNodes(prevState.value) : [this]);\n\n try {\n for (var resolvedConfig_1 = __values(resolvedConfig), resolvedConfig_1_1 = resolvedConfig_1.next(); !resolvedConfig_1_1.done; resolvedConfig_1_1 = resolvedConfig_1.next()) {\n var sn = resolvedConfig_1_1.value;\n\n if (!has(prevConfig, sn) || has(transition.entrySet, sn.parent) && !has(transition.entrySet, sn)) {\n transition.entrySet.push(sn);\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (resolvedConfig_1_1 && !resolvedConfig_1_1.done && (_a = resolvedConfig_1.return)) _a.call(resolvedConfig_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n try {\n for (var prevConfig_1 = __values(prevConfig), prevConfig_1_1 = prevConfig_1.next(); !prevConfig_1_1.done; prevConfig_1_1 = prevConfig_1.next()) {\n var sn = prevConfig_1_1.value;\n\n if (!has(resolvedConfig, sn) || has(transition.exitSet, sn.parent)) {\n transition.exitSet.push(sn);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (prevConfig_1_1 && !prevConfig_1_1.done && (_b = prevConfig_1.return)) _b.call(prevConfig_1);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n var doneEvents = flatten(transition.entrySet.map(function (sn) {\n var events = [];\n\n if (sn.type !== 'final') {\n return events;\n }\n\n var parent = sn.parent;\n\n if (!parent.parent) {\n return events;\n }\n\n events.push(done(sn.id, sn.doneData), // TODO: deprecate - final states should not emit done events for their own state.\n done(parent.id, sn.doneData ? mapContext(sn.doneData, currentContext, _event) : undefined));\n var grandparent = parent.parent;\n\n if (grandparent.type === 'parallel') {\n if (getChildren(grandparent).every(function (parentNode) {\n return isInFinalState(transition.configuration, parentNode);\n })) {\n events.push(done(grandparent.id));\n }\n }\n\n return events;\n }));\n transition.exitSet.sort(function (a, b) {\n return b.order - a.order;\n });\n transition.entrySet.sort(function (a, b) {\n return a.order - b.order;\n });\n var entryStates = new Set(transition.entrySet);\n var exitStates = new Set(transition.exitSet);\n var entryActions = Array.from(entryStates).map(function (stateNode) {\n var entryActions = stateNode.onEntry;\n var invokeActions = stateNode.activities.map(function (activity) {\n return start(activity);\n });\n return toActionObjects(predictableExec ? __spreadArray(__spreadArray([], __read(entryActions), false), __read(invokeActions), false) : __spreadArray(__spreadArray([], __read(invokeActions), false), __read(entryActions), false), _this.machine.options.actions);\n }).concat([doneEvents.map(raise)]);\n var exitActions = Array.from(exitStates).map(function (stateNode) {\n return toActionObjects(__spreadArray(__spreadArray([], __read(stateNode.onExit), false), __read(stateNode.activities.map(function (activity) {\n return stop(activity);\n })), false), _this.machine.options.actions);\n });\n var actions = exitActions.concat([toActionObjects(transition.actions, this.machine.options.actions)]).concat(entryActions);\n\n if (isDone) {\n var stopActions = toActionObjects(flatten(__spreadArray([], __read(resolvedConfig), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return stateNode.onExit;\n })), this.machine.options.actions).filter(function (action) {\n return action.type !== raise$1 && (action.type !== send || !!action.to && action.to !== SpecialTargets.Internal);\n });\n return actions.concat([stopActions]);\n }\n\n return actions;\n };\n /**\r\n * Determines the next state given the current `state` and sent `event`.\r\n *\r\n * @param state The current State instance or state value\r\n * @param event The event that was sent at the current state\r\n * @param context The current context (extended state) of the current state\r\n */\n\n\n StateNode.prototype.transition = function (state, event, context, exec) {\n if (state === void 0) {\n state = this.initialState;\n }\n\n var _event = toSCXMLEvent(event);\n\n var currentState;\n\n if (state instanceof State) {\n currentState = context === undefined ? state : this.resolveState(State.from(state, context));\n } else {\n var resolvedStateValue = isString(state) ? this.resolve(pathToStateValue(this.getResolvedPath(state))) : this.resolve(state);\n var resolvedContext = context !== null && context !== void 0 ? context : this.machine.context;\n currentState = this.resolveState(State.from(resolvedStateValue, resolvedContext));\n }\n\n if (!IS_PRODUCTION && _event.name === WILDCARD) {\n throw new Error(\"An event cannot have the wildcard type ('\".concat(WILDCARD, \"')\"));\n }\n\n if (this.strict) {\n if (!this.events.includes(_event.name) && !isBuiltInEvent(_event.name)) {\n throw new Error(\"Machine '\".concat(this.id, \"' does not accept event '\").concat(_event.name, \"'\"));\n }\n }\n\n var stateTransition = this._transition(currentState.value, currentState, _event) || {\n transitions: [],\n configuration: [],\n entrySet: [],\n exitSet: [],\n source: currentState,\n actions: []\n };\n var prevConfig = getConfiguration([], this.getStateNodes(currentState.value));\n var resolvedConfig = stateTransition.configuration.length ? getConfiguration(prevConfig, stateTransition.configuration) : prevConfig;\n stateTransition.configuration = __spreadArray([], __read(resolvedConfig), false);\n return this.resolveTransition(stateTransition, currentState, currentState.context, exec, _event);\n };\n\n StateNode.prototype.resolveRaisedTransition = function (state, _event, originalEvent, predictableExec) {\n var _a;\n\n var currentActions = state.actions;\n state = this.transition(state, _event, undefined, predictableExec); // Save original event to state\n // TODO: this should be the raised event! Delete in V5 (breaking)\n\n state._event = originalEvent;\n state.event = originalEvent.data;\n\n (_a = state.actions).unshift.apply(_a, __spreadArray([], __read(currentActions), false));\n\n return state;\n };\n\n StateNode.prototype.resolveTransition = function (stateTransition, currentState, context, predictableExec, _event) {\n var e_6, _a, e_7, _b;\n\n var _this = this;\n\n if (_event === void 0) {\n _event = initEvent;\n }\n\n var configuration = stateTransition.configuration; // Transition will \"apply\" if:\n // - this is the initial state (there is no current state)\n // - OR there are transitions\n\n var willTransition = !currentState || stateTransition.transitions.length > 0;\n var resolvedConfiguration = willTransition ? stateTransition.configuration : currentState ? currentState.configuration : [];\n var isDone = isInFinalState(resolvedConfiguration, this);\n var resolvedStateValue = willTransition ? getValue(this.machine, configuration) : undefined;\n var historyValue = currentState ? currentState.historyValue ? currentState.historyValue : stateTransition.source ? this.machine.historyValue(currentState.value) : undefined : undefined;\n var actionBlocks = this.getActions(new Set(resolvedConfiguration), isDone, stateTransition, context, _event, currentState, predictableExec);\n var activities = currentState ? __assign({}, currentState.activities) : {};\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n\n try {\n for (var block_1 = (e_7 = void 0, __values(block)), block_1_1 = block_1.next(); !block_1_1.done; block_1_1 = block_1.next()) {\n var action = block_1_1.value;\n\n if (action.type === start$1) {\n activities[action.activity.id || action.activity.type] = action;\n } else if (action.type === stop$1) {\n activities[action.activity.id || action.activity.type] = false;\n }\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (block_1_1 && !block_1_1.done && (_b = block_1.return)) _b.call(block_1);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n var _c = __read(resolveActions(this, currentState, context, _event, actionBlocks, predictableExec, this.machine.config.predictableActionArguments || this.machine.config.preserveActionOrder), 2),\n resolvedActions = _c[0],\n updatedContext = _c[1];\n\n var _d = __read(partition(resolvedActions, function (action) {\n return action.type === raise$1 || action.type === send && action.to === SpecialTargets.Internal;\n }), 2),\n raisedEvents = _d[0],\n nonRaisedActions = _d[1];\n\n var invokeActions = resolvedActions.filter(function (action) {\n var _a;\n\n return action.type === start$1 && ((_a = action.activity) === null || _a === void 0 ? void 0 : _a.type) === invoke;\n });\n var children = invokeActions.reduce(function (acc, action) {\n acc[action.activity.id] = createInvocableActor(action.activity, _this.machine, updatedContext, _event);\n return acc;\n }, currentState ? __assign({}, currentState.children) : {});\n var nextState = new State({\n value: resolvedStateValue || currentState.value,\n context: updatedContext,\n _event: _event,\n // Persist _sessionid between states\n _sessionid: currentState ? currentState._sessionid : null,\n historyValue: resolvedStateValue ? historyValue ? updateHistoryValue(historyValue, resolvedStateValue) : undefined : currentState ? currentState.historyValue : undefined,\n history: !resolvedStateValue || stateTransition.source ? currentState : undefined,\n actions: resolvedStateValue ? nonRaisedActions : [],\n activities: resolvedStateValue ? activities : currentState ? currentState.activities : {},\n events: [],\n configuration: resolvedConfiguration,\n transitions: stateTransition.transitions,\n children: children,\n done: isDone,\n tags: getTagsFromConfiguration(resolvedConfiguration),\n machine: this\n });\n var didUpdateContext = context !== updatedContext;\n nextState.changed = _event.name === update || didUpdateContext; // Dispose of penultimate histories to prevent memory leaks\n\n var history = nextState.history;\n\n if (history) {\n delete history.history;\n } // There are transient transitions if the machine is not in a final state\n // and if some of the state nodes have transient (\"always\") transitions.\n\n\n var hasAlwaysTransitions = !isDone && (this._transient || configuration.some(function (stateNode) {\n return stateNode._transient;\n })); // If there are no enabled transitions, check if there are transient transitions.\n // If there are transient transitions, continue checking for more transitions\n // because an transient transition should be triggered even if there are no\n // enabled transitions.\n //\n // If we're already working on an transient transition then stop to prevent an infinite loop.\n //\n // Otherwise, if there are no enabled nor transient transitions, we are done.\n\n if (!willTransition && (!hasAlwaysTransitions || _event.name === NULL_EVENT)) {\n return nextState;\n }\n\n var maybeNextState = nextState;\n\n if (!isDone) {\n if (hasAlwaysTransitions) {\n maybeNextState = this.resolveRaisedTransition(maybeNextState, {\n type: nullEvent\n }, _event, predictableExec);\n }\n\n while (raisedEvents.length) {\n var raisedEvent = raisedEvents.shift();\n maybeNextState = this.resolveRaisedTransition(maybeNextState, raisedEvent._event, _event, predictableExec);\n }\n } // Detect if state changed\n\n\n var changed = maybeNextState.changed || (history ? !!maybeNextState.actions.length || didUpdateContext || typeof history.value !== typeof maybeNextState.value || !stateValuesEqual(maybeNextState.value, history.value) : undefined);\n maybeNextState.changed = changed; // Preserve original history after raised events\n\n maybeNextState.history = history;\n return maybeNextState;\n };\n /**\r\n * Returns the child state node from its relative `stateKey`, or throws.\r\n */\n\n\n StateNode.prototype.getStateNode = function (stateKey) {\n if (isStateId(stateKey)) {\n return this.machine.getStateNodeById(stateKey);\n }\n\n if (!this.states) {\n throw new Error(\"Unable to retrieve child state '\".concat(stateKey, \"' from '\").concat(this.id, \"'; no child states exist.\"));\n }\n\n var result = this.states[stateKey];\n\n if (!result) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return result;\n };\n /**\r\n * Returns the state node with the given `stateId`, or throws.\r\n *\r\n * @param stateId The state ID. The prefix \"#\" is removed.\r\n */\n\n\n StateNode.prototype.getStateNodeById = function (stateId) {\n var resolvedStateId = isStateId(stateId) ? stateId.slice(STATE_IDENTIFIER.length) : stateId;\n\n if (resolvedStateId === this.id) {\n return this;\n }\n\n var stateNode = this.machine.idMap[resolvedStateId];\n\n if (!stateNode) {\n throw new Error(\"Child state node '#\".concat(resolvedStateId, \"' does not exist on machine '\").concat(this.id, \"'\"));\n }\n\n return stateNode;\n };\n /**\r\n * Returns the relative state node from the given `statePath`, or throws.\r\n *\r\n * @param statePath The string or string array relative path to the state node.\r\n */\n\n\n StateNode.prototype.getStateNodeByPath = function (statePath) {\n if (typeof statePath === 'string' && isStateId(statePath)) {\n try {\n return this.getStateNodeById(statePath.slice(1));\n } catch (e) {// try individual paths\n // throw e;\n }\n }\n\n var arrayStatePath = toStatePath(statePath, this.delimiter).slice();\n var currentStateNode = this;\n\n while (arrayStatePath.length) {\n var key = arrayStatePath.shift();\n\n if (!key.length) {\n break;\n }\n\n currentStateNode = currentStateNode.getStateNode(key);\n }\n\n return currentStateNode;\n };\n /**\r\n * Resolves a partial state value with its full representation in this machine.\r\n *\r\n * @param stateValue The partial state value to resolve.\r\n */\n\n\n StateNode.prototype.resolve = function (stateValue) {\n var _a;\n\n var _this = this;\n\n if (!stateValue) {\n return this.initialStateValue || EMPTY_OBJECT; // TODO: type-specific properties\n }\n\n switch (this.type) {\n case 'parallel':\n return mapValues(this.initialStateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(stateValue[subStateKey] || subStateValue) : EMPTY_OBJECT;\n });\n\n case 'compound':\n if (isString(stateValue)) {\n var subStateNode = this.getStateNode(stateValue);\n\n if (subStateNode.type === 'parallel' || subStateNode.type === 'compound') {\n return _a = {}, _a[stateValue] = subStateNode.initialStateValue, _a;\n }\n\n return stateValue;\n }\n\n if (!Object.keys(stateValue).length) {\n return this.initialStateValue || {};\n }\n\n return mapValues(stateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(subStateValue) : EMPTY_OBJECT;\n });\n\n default:\n return stateValue || EMPTY_OBJECT;\n }\n };\n\n StateNode.prototype.getResolvedPath = function (stateIdentifier) {\n if (isStateId(stateIdentifier)) {\n var stateNode = this.machine.idMap[stateIdentifier.slice(STATE_IDENTIFIER.length)];\n\n if (!stateNode) {\n throw new Error(\"Unable to find state node '\".concat(stateIdentifier, \"'\"));\n }\n\n return stateNode.path;\n }\n\n return toStatePath(stateIdentifier, this.delimiter);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateValue\", {\n get: function () {\n var _a;\n\n if (this.__cache.initialStateValue) {\n return this.__cache.initialStateValue;\n }\n\n var initialStateValue;\n\n if (this.type === 'parallel') {\n initialStateValue = mapFilterValues(this.states, function (state) {\n return state.initialStateValue || EMPTY_OBJECT;\n }, function (stateNode) {\n return !(stateNode.type === 'history');\n });\n } else if (this.initial !== undefined) {\n if (!this.states[this.initial]) {\n throw new Error(\"Initial state '\".concat(this.initial, \"' not found on '\").concat(this.key, \"'\"));\n }\n\n initialStateValue = isLeafNode(this.states[this.initial]) ? this.initial : (_a = {}, _a[this.initial] = this.states[this.initial].initialStateValue, _a);\n } else {\n // The finite state value of a machine without child states is just an empty object\n initialStateValue = {};\n }\n\n this.__cache.initialStateValue = initialStateValue;\n return this.__cache.initialStateValue;\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getInitialState = function (stateValue, context) {\n this._init(); // TODO: this should be in the constructor (see note in constructor)\n\n\n var configuration = this.getStateNodes(stateValue);\n return this.resolveTransition({\n configuration: configuration,\n entrySet: configuration,\n exitSet: [],\n transitions: [],\n source: undefined,\n actions: []\n }, undefined, context !== null && context !== void 0 ? context : this.machine.context, undefined);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialState\", {\n /**\r\n * The initial State instance, which includes all actions to be executed from\r\n * entering the initial state.\r\n */\n get: function () {\n var initialStateValue = this.initialStateValue;\n\n if (!initialStateValue) {\n throw new Error(\"Cannot retrieve initial state from simple state '\".concat(this.id, \"'.\"));\n }\n\n return this.getInitialState(initialStateValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"target\", {\n /**\r\n * The target state value of the history state node, if it exists. This represents the\r\n * default state value to transition to if no history value exists yet.\r\n */\n get: function () {\n var target;\n\n if (this.type === 'history') {\n var historyConfig = this.config;\n\n if (isString(historyConfig.target)) {\n target = isStateId(historyConfig.target) ? pathToStateValue(this.machine.getStateNodeById(historyConfig.target).path.slice(this.path.length - 1)) : historyConfig.target;\n } else {\n target = historyConfig.target;\n }\n }\n\n return target;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Returns the leaf nodes from a state path relative to this state node.\r\n *\r\n * @param relativeStateId The relative state path to retrieve the state nodes\r\n * @param history The previous state to retrieve history\r\n * @param resolve Whether state nodes should resolve to initial child state nodes\r\n */\n\n StateNode.prototype.getRelativeStateNodes = function (relativeStateId, historyValue, resolve) {\n if (resolve === void 0) {\n resolve = true;\n }\n\n return resolve ? relativeStateId.type === 'history' ? relativeStateId.resolveHistory(historyValue) : relativeStateId.initialStateNodes : [relativeStateId];\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateNodes\", {\n get: function () {\n var _this = this;\n\n if (isLeafNode(this)) {\n return [this];\n } // Case when state node is compound but no initial state is defined\n\n\n if (this.type === 'compound' && !this.initial) {\n if (!IS_PRODUCTION) {\n warn(false, \"Compound state node '\".concat(this.id, \"' has no initial state.\"));\n }\n\n return [this];\n }\n\n var initialStateNodePaths = toStatePaths(this.initialStateValue);\n return flatten(initialStateNodePaths.map(function (initialPath) {\n return _this.getFromRelativePath(initialPath);\n }));\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Retrieves state nodes from a relative path to this state node.\r\n *\r\n * @param relativePath The relative path from this state node\r\n * @param historyValue\r\n */\n\n StateNode.prototype.getFromRelativePath = function (relativePath) {\n if (!relativePath.length) {\n return [this];\n }\n\n var _a = __read(relativePath),\n stateKey = _a[0],\n childStatePath = _a.slice(1);\n\n if (!this.states) {\n throw new Error(\"Cannot retrieve subPath '\".concat(stateKey, \"' from node with no states\"));\n }\n\n var childStateNode = this.getStateNode(stateKey);\n\n if (childStateNode.type === 'history') {\n return childStateNode.resolveHistory();\n }\n\n if (!this.states[stateKey]) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return this.states[stateKey].getFromRelativePath(childStatePath);\n };\n\n StateNode.prototype.historyValue = function (relativeStateValue) {\n if (!Object.keys(this.states).length) {\n return undefined;\n }\n\n return {\n current: relativeStateValue || this.initialStateValue,\n states: mapFilterValues(this.states, function (stateNode, key) {\n if (!relativeStateValue) {\n return stateNode.historyValue();\n }\n\n var subStateValue = isString(relativeStateValue) ? undefined : relativeStateValue[key];\n return stateNode.historyValue(subStateValue || stateNode.initialStateValue);\n }, function (stateNode) {\n return !stateNode.history;\n })\n };\n };\n /**\r\n * Resolves to the historical value(s) of the parent state node,\r\n * represented by state nodes.\r\n *\r\n * @param historyValue\r\n */\n\n\n StateNode.prototype.resolveHistory = function (historyValue) {\n var _this = this;\n\n if (this.type !== 'history') {\n return [this];\n }\n\n var parent = this.parent;\n\n if (!historyValue) {\n var historyTarget = this.target;\n return historyTarget ? flatten(toStatePaths(historyTarget).map(function (relativeChildPath) {\n return parent.getFromRelativePath(relativeChildPath);\n })) : parent.initialStateNodes;\n }\n\n var subHistoryValue = nestedPath(parent.path, 'states')(historyValue).current;\n\n if (isString(subHistoryValue)) {\n return [parent.getStateNode(subHistoryValue)];\n }\n\n return flatten(toStatePaths(subHistoryValue).map(function (subStatePath) {\n return _this.history === 'deep' ? parent.getFromRelativePath(subStatePath) : [parent.states[subStatePath[0]]];\n }));\n };\n\n Object.defineProperty(StateNode.prototype, \"stateIds\", {\n /**\r\n * All the state node IDs of this state node and its descendant state nodes.\r\n */\n get: function () {\n var _this = this;\n\n var childStateIds = flatten(Object.keys(this.states).map(function (stateKey) {\n return _this.states[stateKey].stateIds;\n }));\n return [this.id].concat(childStateIds);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"events\", {\n /**\r\n * All the event types accepted by this state node and its descendants.\r\n */\n get: function () {\n var e_8, _a, e_9, _b;\n\n if (this.__cache.events) {\n return this.__cache.events;\n }\n\n var states = this.states;\n var events = new Set(this.ownEvents);\n\n if (states) {\n try {\n for (var _c = __values(Object.keys(states)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var stateId = _d.value;\n var state = states[stateId];\n\n if (state.states) {\n try {\n for (var _e = (e_9 = void 0, __values(state.events)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var event_1 = _f.value;\n events.add(\"\".concat(event_1));\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n }\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n }\n\n return this.__cache.events = Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"ownEvents\", {\n /**\r\n * All the events that have transitions directly from this state node.\r\n *\r\n * Excludes any inert events.\r\n */\n get: function () {\n var events = new Set(this.transitions.filter(function (transition) {\n return !(!transition.target && !transition.actions.length && transition.internal);\n }).map(function (transition) {\n return transition.eventType;\n }));\n return Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.resolveTarget = function (_target) {\n var _this = this;\n\n if (_target === undefined) {\n // an undefined target signals that the state node should not transition from that state when receiving that event\n return undefined;\n }\n\n return _target.map(function (target) {\n if (!isString(target)) {\n return target;\n }\n\n var isInternalTarget = target[0] === _this.delimiter; // If internal target is defined on machine,\n // do not include machine key on target\n\n if (isInternalTarget && !_this.parent) {\n return _this.getStateNodeByPath(target.slice(1));\n }\n\n var resolvedTarget = isInternalTarget ? _this.key + target : target;\n\n if (_this.parent) {\n try {\n var targetStateNode = _this.parent.getStateNodeByPath(resolvedTarget);\n\n return targetStateNode;\n } catch (err) {\n throw new Error(\"Invalid transition definition for state node '\".concat(_this.id, \"':\\n\").concat(err.message));\n }\n } else {\n return _this.getStateNodeByPath(resolvedTarget);\n }\n });\n };\n\n StateNode.prototype.formatTransition = function (transitionConfig) {\n var _this = this;\n\n var normalizedTarget = normalizeTarget(transitionConfig.target);\n var internal = 'internal' in transitionConfig ? transitionConfig.internal : normalizedTarget ? normalizedTarget.some(function (_target) {\n return isString(_target) && _target[0] === _this.delimiter;\n }) : true;\n var guards = this.machine.options.guards;\n var target = this.resolveTarget(normalizedTarget);\n\n var transition = __assign(__assign({}, transitionConfig), {\n actions: toActionObjects(toArray(transitionConfig.actions)),\n cond: toGuard(transitionConfig.cond, guards),\n target: target,\n source: this,\n internal: internal,\n eventType: transitionConfig.event,\n toJSON: function () {\n return __assign(__assign({}, transition), {\n target: transition.target ? transition.target.map(function (t) {\n return \"#\".concat(t.id);\n }) : undefined,\n source: \"#\".concat(_this.id)\n });\n }\n });\n\n return transition;\n };\n\n StateNode.prototype.formatTransitions = function () {\n var e_10, _a;\n\n var _this = this;\n\n var onConfig;\n\n if (!this.config.on) {\n onConfig = [];\n } else if (Array.isArray(this.config.on)) {\n onConfig = this.config.on;\n } else {\n var _b = this.config.on,\n _c = WILDCARD,\n _d = _b[_c],\n wildcardConfigs = _d === void 0 ? [] : _d,\n strictTransitionConfigs_1 = __rest(_b, [typeof _c === \"symbol\" ? _c : _c + \"\"]);\n\n onConfig = flatten(Object.keys(strictTransitionConfigs_1).map(function (key) {\n if (!IS_PRODUCTION && key === NULL_EVENT) {\n warn(false, \"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. \" + \"Please check the `on` configuration for \\\"#\".concat(_this.id, \"\\\".\"));\n }\n\n var transitionConfigArray = toTransitionConfigArray(key, strictTransitionConfigs_1[key]);\n\n if (!IS_PRODUCTION) {\n validateArrayifiedTransitions(_this, key, transitionConfigArray);\n }\n\n return transitionConfigArray;\n }).concat(toTransitionConfigArray(WILDCARD, wildcardConfigs)));\n }\n\n var eventlessConfig = this.config.always ? toTransitionConfigArray('', this.config.always) : [];\n var doneConfig = this.config.onDone ? toTransitionConfigArray(String(done(this.id)), this.config.onDone) : [];\n\n if (!IS_PRODUCTION) {\n warn(!(this.config.onDone && !this.parent), \"Root nodes cannot have an \\\".onDone\\\" transition. Please check the config of \\\"\".concat(this.id, \"\\\".\"));\n }\n\n var invokeConfig = flatten(this.invoke.map(function (invokeDef) {\n var settleTransitions = [];\n\n if (invokeDef.onDone) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(doneInvoke(invokeDef.id)), invokeDef.onDone)), false));\n }\n\n if (invokeDef.onError) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(error(invokeDef.id)), invokeDef.onError)), false));\n }\n\n return settleTransitions;\n }));\n var delayedTransitions = this.after;\n var formattedTransitions = flatten(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(doneConfig), false), __read(invokeConfig), false), __read(onConfig), false), __read(eventlessConfig), false).map(function (transitionConfig) {\n return toArray(transitionConfig).map(function (transition) {\n return _this.formatTransition(transition);\n });\n }));\n\n try {\n for (var delayedTransitions_1 = __values(delayedTransitions), delayedTransitions_1_1 = delayedTransitions_1.next(); !delayedTransitions_1_1.done; delayedTransitions_1_1 = delayedTransitions_1.next()) {\n var delayedTransition = delayedTransitions_1_1.value;\n formattedTransitions.push(delayedTransition);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (delayedTransitions_1_1 && !delayedTransitions_1_1.done && (_a = delayedTransitions_1.return)) _a.call(delayedTransitions_1);\n } finally {\n if (e_10) throw e_10.error;\n }\n }\n\n return formattedTransitions;\n };\n\n return StateNode;\n}();\n\nexport { StateNode };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nexport { __assign, __read, __rest, __spreadArray, __values };\n","import { ActionTypes } from './types.js';\n\nvar start = ActionTypes.Start;\nvar stop = ActionTypes.Stop;\nvar raise = ActionTypes.Raise;\nvar send = ActionTypes.Send;\nvar cancel = ActionTypes.Cancel;\nvar nullEvent = ActionTypes.NullEvent;\nvar assign = ActionTypes.Assign;\nvar after = ActionTypes.After;\nvar doneState = ActionTypes.DoneState;\nvar log = ActionTypes.Log;\nvar init = ActionTypes.Init;\nvar invoke = ActionTypes.Invoke;\nvar errorExecution = ActionTypes.ErrorExecution;\nvar errorPlatform = ActionTypes.ErrorPlatform;\nvar error = ActionTypes.ErrorCustom;\nvar update = ActionTypes.Update;\nvar choose = ActionTypes.Choose;\nvar pure = ActionTypes.Pure;\n\nexport { after, assign, cancel, choose, doneState, error, errorExecution, errorPlatform, init, invoke, log, nullEvent, pure, raise, send, start, stop, update };\n","import { __assign, __spreadArray, __read, __values } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { init, send as send$1, raise as raise$1, update, log as log$1, cancel as cancel$1, assign as assign$1, error as error$1, stop as stop$1, pure as pure$1, choose as choose$1 } from './actionTypes.js';\nimport * as actionTypes from './actionTypes.js';\nexport { actionTypes };\nimport { toSCXMLEvent, isString, isFunction, toEventObject, getEventType, updateContext, flatten, isArray, toArray, toGuard, evaluateGuard, warn } from './utils.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar initEvent = /*#__PURE__*/toSCXMLEvent({\n type: init\n});\nfunction getActionFunction(actionType, actionFunctionMap) {\n return actionFunctionMap ? actionFunctionMap[actionType] || undefined : undefined;\n}\nfunction toActionObject(action, actionFunctionMap) {\n var actionObject;\n\n if (isString(action) || typeof action === 'number') {\n var exec = getActionFunction(action, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = {\n type: action,\n exec: exec\n };\n } else if (exec) {\n actionObject = exec;\n } else {\n actionObject = {\n type: action,\n exec: undefined\n };\n }\n } else if (isFunction(action)) {\n actionObject = {\n // Convert action to string if unnamed\n type: action.name || action.toString(),\n exec: action\n };\n } else {\n var exec = getActionFunction(action.type, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = __assign(__assign({}, action), {\n exec: exec\n });\n } else if (exec) {\n var actionType = exec.type || action.type;\n actionObject = __assign(__assign(__assign({}, exec), action), {\n type: actionType\n });\n } else {\n actionObject = action;\n }\n }\n\n return actionObject;\n}\nvar toActionObjects = function (action, actionFunctionMap) {\n if (!action) {\n return [];\n }\n\n var actions = isArray(action) ? action : [action];\n return actions.map(function (subAction) {\n return toActionObject(subAction, actionFunctionMap);\n });\n};\nfunction toActivityDefinition(action) {\n var actionObject = toActionObject(action);\n return __assign(__assign({\n id: isString(action) ? action : actionObject.id\n }, actionObject), {\n type: actionObject.type\n });\n}\n/**\r\n * Raises an event. This places the event in the internal event queue, so that\r\n * the event is immediately consumed by the machine in the current step.\r\n *\r\n * @param eventType The event to raise.\r\n */\n\nfunction raise(event) {\n if (!isString(event)) {\n return send(event, {\n to: SpecialTargets.Internal\n });\n }\n\n return {\n type: raise$1,\n event: event\n };\n}\nfunction resolveRaise(action) {\n return {\n type: raise$1,\n _event: toSCXMLEvent(action.event)\n };\n}\n/**\r\n * Sends an event. This returns an action that will be read by an interpreter to\r\n * send the event in the next step, after the current step is finished executing.\r\n *\r\n * @param event The event to send.\r\n * @param options Options to pass into the send event:\r\n * - `id` - The unique send event identifier (used with `cancel()`).\r\n * - `delay` - The number of milliseconds to delay the sending of the event.\r\n * - `to` - The target of this event (by default, the machine the event was sent from).\r\n */\n\nfunction send(event, options) {\n return {\n to: options ? options.to : undefined,\n type: send$1,\n event: isFunction(event) ? event : toEventObject(event),\n delay: options ? options.delay : undefined,\n id: options && options.id !== undefined ? options.id : isFunction(event) ? event.name : getEventType(event)\n };\n}\nfunction resolveSend(action, ctx, _event, delaysMap) {\n var meta = {\n _event: _event\n }; // TODO: helper function for resolving Expr\n\n var resolvedEvent = toSCXMLEvent(isFunction(action.event) ? action.event(ctx, _event.data, meta) : action.event);\n var resolvedDelay;\n\n if (isString(action.delay)) {\n var configDelay = delaysMap && delaysMap[action.delay];\n resolvedDelay = isFunction(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;\n } else {\n resolvedDelay = isFunction(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;\n }\n\n var resolvedTarget = isFunction(action.to) ? action.to(ctx, _event.data, meta) : action.to;\n return __assign(__assign({}, action), {\n to: resolvedTarget,\n _event: resolvedEvent,\n event: resolvedEvent.data,\n delay: resolvedDelay\n });\n}\n/**\r\n * Sends an event to this machine's parent.\r\n *\r\n * @param event The event to send to the parent machine.\r\n * @param options Options to pass into the send event.\r\n */\n\nfunction sendParent(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\n/**\r\n * Sends an event to an actor.\r\n *\r\n * @param actor The `ActorRef` to send the event to.\r\n * @param event The event to send, or an expression that evaluates to the event to send\r\n * @param options Send action options\r\n * @returns An XState send action object\r\n */\n\nfunction sendTo(actor, event, options) {\n return send(event, __assign(__assign({}, options), {\n to: actor\n }));\n}\n/**\r\n * Sends an update event to this machine's parent.\r\n */\n\nfunction sendUpdate() {\n return sendParent(update);\n}\n/**\r\n * Sends an event back to the sender of the original event.\r\n *\r\n * @param event The event to send back to the sender\r\n * @param options Options to pass into the send event\r\n */\n\nfunction respond(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: function (_, __, _a) {\n var _event = _a._event;\n return _event.origin; // TODO: handle when _event.origin is undefined\n }\n }));\n}\n\nvar defaultLogExpr = function (context, event) {\n return {\n context: context,\n event: event\n };\n};\n/**\r\n *\r\n * @param expr The expression function to evaluate which will be logged.\r\n * Takes in 2 arguments:\r\n * - `ctx` - the current state context\r\n * - `event` - the event that caused this action to be executed.\r\n * @param label The label to give to the logged expression.\r\n */\n\n\nfunction log(expr, label) {\n if (expr === void 0) {\n expr = defaultLogExpr;\n }\n\n return {\n type: log$1,\n label: label,\n expr: expr\n };\n}\nvar resolveLog = function (action, ctx, _event) {\n return __assign(__assign({}, action), {\n value: isString(action.expr) ? action.expr : action.expr(ctx, _event.data, {\n _event: _event\n })\n });\n};\n/**\r\n * Cancels an in-flight `send(...)` action. A canceled sent action will not\r\n * be executed, nor will its event be sent, unless it has already been sent\r\n * (e.g., if `cancel(...)` is called after the `send(...)` action's `delay`).\r\n *\r\n * @param sendId The `id` of the `send(...)` action to cancel.\r\n */\n\nvar cancel = function (sendId) {\n return {\n type: cancel$1,\n sendId: sendId\n };\n};\n/**\r\n * Starts an activity.\r\n *\r\n * @param activity The activity to start.\r\n */\n\nfunction start(activity) {\n var activityDef = toActivityDefinition(activity);\n return {\n type: ActionTypes.Start,\n activity: activityDef,\n exec: undefined\n };\n}\n/**\r\n * Stops an activity.\r\n *\r\n * @param actorRef The activity to stop.\r\n */\n\nfunction stop(actorRef) {\n var activity = isFunction(actorRef) ? actorRef : toActivityDefinition(actorRef);\n return {\n type: ActionTypes.Stop,\n activity: activity,\n exec: undefined\n };\n}\nfunction resolveStop(action, context, _event) {\n var actorRefOrString = isFunction(action.activity) ? action.activity(context, _event.data) : action.activity;\n var resolvedActorRef = typeof actorRefOrString === 'string' ? {\n id: actorRefOrString\n } : actorRefOrString;\n var actionObject = {\n type: ActionTypes.Stop,\n activity: resolvedActorRef\n };\n return actionObject;\n}\n/**\r\n * Updates the current context of the machine.\r\n *\r\n * @param assignment An object that represents the partial context to update.\r\n */\n\nvar assign = function (assignment) {\n return {\n type: assign$1,\n assignment: assignment\n };\n};\nfunction isActionObject(action) {\n return typeof action === 'object' && 'type' in action;\n}\n/**\r\n * Returns an event type that represents an implicit event that\r\n * is sent after the specified `delay`.\r\n *\r\n * @param delayRef The delay in milliseconds\r\n * @param id The state node ID where this event is handled\r\n */\n\nfunction after(delayRef, id) {\n var idSuffix = id ? \"#\".concat(id) : '';\n return \"\".concat(ActionTypes.After, \"(\").concat(delayRef, \")\").concat(idSuffix);\n}\n/**\r\n * Returns an event that represents that a final state node\r\n * has been reached in the parent state node.\r\n *\r\n * @param id The final state node's parent state node `id`\r\n * @param data The data to pass into the event\r\n */\n\nfunction done(id, data) {\n var type = \"\".concat(ActionTypes.DoneState, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\n/**\r\n * Returns an event that represents that an invoked service has terminated.\r\n *\r\n * An invoked service is terminated when it has reached a top-level final state node,\r\n * but not when it is canceled.\r\n *\r\n * @param id The final state node ID\r\n * @param data The data to pass into the event\r\n */\n\nfunction doneInvoke(id, data) {\n var type = \"\".concat(ActionTypes.DoneInvoke, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction error(id, data) {\n var type = \"\".concat(ActionTypes.ErrorPlatform, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction pure(getActions) {\n return {\n type: ActionTypes.Pure,\n get: getActions\n };\n}\n/**\r\n * Forwards (sends) an event to a specified service.\r\n *\r\n * @param target The target service to forward the event to.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction forwardTo(target, options) {\n if (!IS_PRODUCTION && (!target || typeof target === 'function')) {\n var originalTarget_1 = target;\n\n target = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var resolvedTarget = typeof originalTarget_1 === 'function' ? originalTarget_1.apply(void 0, __spreadArray([], __read(args), false)) : originalTarget_1;\n\n if (!resolvedTarget) {\n throw new Error(\"Attempted to forward event to undefined actor. This risks an infinite loop in the sender.\");\n }\n\n return resolvedTarget;\n };\n }\n\n return send(function (_, event) {\n return event;\n }, __assign(__assign({}, options), {\n to: target\n }));\n}\n/**\r\n * Escalates an error by sending it as an event to this machine's parent.\r\n *\r\n * @param errorData The error data to send, or the expression function that\r\n * takes in the `context`, `event`, and `meta`, and returns the error data to send.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction escalate(errorData, options) {\n return sendParent(function (context, event, meta) {\n return {\n type: error$1,\n data: isFunction(errorData) ? errorData(context, event, meta) : errorData\n };\n }, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\nfunction choose(conds) {\n return {\n type: ActionTypes.Choose,\n conds: conds\n };\n}\n\nvar pluckAssigns = function (actionBlocks) {\n var e_1, _a;\n\n var assignActions = [];\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n var i = 0;\n\n while (i < block.length) {\n if (block[i].type === assign$1) {\n assignActions.push(block[i]);\n block.splice(i, 1);\n continue;\n }\n\n i++;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return assignActions;\n};\n\nfunction resolveActions(machine, currentState, currentContext, _event, actionBlocks, predictableExec, preserveActionOrder) {\n if (preserveActionOrder === void 0) {\n preserveActionOrder = false;\n }\n\n var assignActions = preserveActionOrder ? [] : pluckAssigns(actionBlocks);\n var updatedContext = assignActions.length ? updateContext(currentContext, _event, assignActions, currentState) : currentContext;\n var preservedContexts = preserveActionOrder ? [currentContext] : undefined;\n var deferredToBlockEnd = [];\n\n function handleAction(actionObject) {\n var _a;\n\n switch (actionObject.type) {\n case raise$1:\n {\n return resolveRaise(actionObject);\n }\n\n case send$1:\n var sendAction = resolveSend(actionObject, updatedContext, _event, machine.options.delays); // TODO: fix ActionTypes.Init\n\n if (!IS_PRODUCTION) {\n // warn after resolving as we can create better contextual message here\n warn(!isString(actionObject.delay) || typeof sendAction.delay === 'number', // tslint:disable-next-line:max-line-length\n \"No delay reference for delay expression '\".concat(actionObject.delay, \"' was found on machine '\").concat(machine.id, \"'\"));\n }\n\n if (predictableExec && sendAction.to !== SpecialTargets.Internal) {\n deferredToBlockEnd.push(sendAction);\n }\n\n return sendAction;\n\n case log$1:\n {\n var resolved = resolveLog(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, updatedContext, _event);\n return resolved;\n }\n\n case choose$1:\n {\n var chooseAction = actionObject;\n var matchedActions = (_a = chooseAction.conds.find(function (condition) {\n var guard = toGuard(condition.cond, machine.options.guards);\n return !guard || evaluateGuard(machine, guard, updatedContext, _event, !predictableExec ? currentState : undefined);\n })) === null || _a === void 0 ? void 0 : _a.actions;\n\n if (!matchedActions) {\n return [];\n }\n\n var _b = __read(resolveActions(machine, currentState, updatedContext, _event, [toActionObjects(toArray(matchedActions), machine.options.actions)], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromChoose = _b[0],\n resolvedContextFromChoose = _b[1];\n\n updatedContext = resolvedContextFromChoose;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromChoose;\n }\n\n case pure$1:\n {\n var matchedActions = actionObject.get(updatedContext, _event.data);\n\n if (!matchedActions) {\n return [];\n }\n\n var _c = __read(resolveActions(machine, currentState, updatedContext, _event, [toActionObjects(toArray(matchedActions), machine.options.actions)], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromPure = _c[0],\n resolvedContext = _c[1];\n\n updatedContext = resolvedContext;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromPure;\n }\n\n case stop$1:\n {\n var resolved = resolveStop(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, currentContext, _event);\n return resolved;\n }\n\n case assign$1:\n {\n updatedContext = updateContext(updatedContext, _event, [actionObject], !predictableExec ? currentState : undefined);\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n break;\n }\n\n default:\n var resolvedActionObject = toActionObject(actionObject, machine.options.actions);\n var exec_1 = resolvedActionObject.exec;\n\n if (predictableExec) {\n predictableExec(resolvedActionObject, updatedContext, _event);\n } else if (exec_1 && preservedContexts) {\n var contextIndex_1 = preservedContexts.length - 1;\n resolvedActionObject = __assign(__assign({}, resolvedActionObject), {\n exec: function (_ctx) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n exec_1.apply(void 0, __spreadArray([preservedContexts[contextIndex_1]], __read(args), false));\n }\n });\n }\n\n return resolvedActionObject;\n }\n }\n\n function processBlock(block) {\n var e_2, _a;\n\n var resolvedActions = [];\n\n try {\n for (var block_1 = __values(block), block_1_1 = block_1.next(); !block_1_1.done; block_1_1 = block_1.next()) {\n var action = block_1_1.value;\n var resolved = handleAction(action);\n\n if (resolved) {\n resolvedActions = resolvedActions.concat(resolved);\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (block_1_1 && !block_1_1.done && (_a = block_1.return)) _a.call(block_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n deferredToBlockEnd.forEach(function (action) {\n predictableExec(action, updatedContext, _event);\n });\n deferredToBlockEnd.length = 0;\n return resolvedActions;\n }\n\n var resolvedActions = flatten(actionBlocks.map(processBlock));\n return [resolvedActions, updatedContext];\n}\n\nexport { after, assign, cancel, choose, done, doneInvoke, error, escalate, forwardTo, getActionFunction, initEvent, isActionObject, log, pure, raise, resolveActions, resolveLog, resolveRaise, resolveSend, resolveStop, respond, send, sendParent, sendTo, sendUpdate, start, stop, toActionObject, toActionObjects, toActivityDefinition };\n","import { error, doneInvoke } from './actions.js';\nimport { toActorRef } from './Actor.js';\nimport { toObserver } from './utils.js';\n\n/**\r\n * Returns an actor behavior from a reducer and its initial state.\r\n *\r\n * @param transition The pure reducer that returns the next state given the current state and event.\r\n * @param initialState The initial state of the reducer.\r\n * @returns An actor behavior\r\n */\n\nfunction fromReducer(transition, initialState) {\n return {\n transition: transition,\n initialState: initialState\n };\n}\nfunction fromPromise(promiseFn) {\n var initialState = {\n error: undefined,\n data: undefined,\n status: 'pending'\n };\n return {\n transition: function (state, event, _a) {\n var parent = _a.parent,\n id = _a.id,\n observers = _a.observers;\n\n switch (event.type) {\n case 'fulfill':\n parent === null || parent === void 0 ? void 0 : parent.send(doneInvoke(id, event.data));\n return {\n error: undefined,\n data: event.data,\n status: 'fulfilled'\n };\n\n case 'reject':\n parent === null || parent === void 0 ? void 0 : parent.send(error(id, event.error));\n observers.forEach(function (observer) {\n observer.error(event.error);\n });\n return {\n error: event.error,\n data: undefined,\n status: 'rejected'\n };\n\n default:\n return state;\n }\n },\n initialState: initialState,\n start: function (_a) {\n var self = _a.self;\n promiseFn().then(function (data) {\n self.send({\n type: 'fulfill',\n data: data\n });\n }, function (reason) {\n self.send({\n type: 'reject',\n error: reason\n });\n });\n return initialState;\n }\n };\n}\nfunction spawnBehavior(behavior, options) {\n if (options === void 0) {\n options = {};\n }\n\n var state = behavior.initialState;\n var observers = new Set();\n var mailbox = [];\n var flushing = false;\n\n var flush = function () {\n if (flushing) {\n return;\n }\n\n flushing = true;\n\n while (mailbox.length > 0) {\n var event_1 = mailbox.shift();\n state = behavior.transition(state, event_1, actorCtx);\n observers.forEach(function (observer) {\n return observer.next(state);\n });\n }\n\n flushing = false;\n };\n\n var actor = toActorRef({\n id: options.id,\n send: function (event) {\n mailbox.push(event);\n flush();\n },\n getSnapshot: function () {\n return state;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n observers.add(observer);\n observer.next(state);\n return {\n unsubscribe: function () {\n observers.delete(observer);\n }\n };\n }\n });\n var actorCtx = {\n parent: options.parent,\n self: actor,\n id: options.id || 'anonymous',\n observers: observers\n };\n state = behavior.start ? behavior.start(actorCtx) : state;\n return actor;\n}\n\nexport { fromPromise, fromReducer, spawnBehavior };\n","var STATE_DELIMITER = '.';\nvar EMPTY_ACTIVITY_MAP = {};\nvar DEFAULT_GUARD_TYPE = 'xstate.guard';\nvar TARGETLESS_KEY = '';\n\nexport { DEFAULT_GUARD_TYPE, EMPTY_ACTIVITY_MAP, STATE_DELIMITER, TARGETLESS_KEY };\n","var IS_PRODUCTION = process.env.NODE_ENV === 'production';\n\nexport { IS_PRODUCTION };\n","import { __values } from './_virtual/_tslib.js';\nimport { matchesState } from './utils.js';\n\nfunction mapState(stateMap, stateId) {\n var e_1, _a;\n\n var foundStateId;\n\n try {\n for (var _b = __values(Object.keys(stateMap)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var mappedStateId = _c.value;\n\n if (matchesState(mappedStateId, stateId) && (!foundStateId || stateId.length > foundStateId.length)) {\n foundStateId = mappedStateId;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return stateMap[foundStateId];\n}\n\nexport { mapState };\n","import { __values, __read } from './_virtual/_tslib.js';\nimport { State } from './State.js';\n\nfunction matchState(state, patterns, defaultValue) {\n var e_1, _a;\n\n var resolvedState = State.from(state, state instanceof State ? state.context : undefined);\n\n try {\n for (var patterns_1 = __values(patterns), patterns_1_1 = patterns_1.next(); !patterns_1_1.done; patterns_1_1 = patterns_1.next()) {\n var _b = __read(patterns_1_1.value, 2),\n stateValue = _b[0],\n getValue = _b[1];\n\n if (resolvedState.matches(stateValue)) {\n return getValue(resolvedState);\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (patterns_1_1 && !patterns_1_1.done && (_a = patterns_1.return)) _a.call(patterns_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return defaultValue(resolvedState);\n}\n\nexport { matchState };\n","function createSchema(schema) {\n return schema;\n}\nvar t = createSchema;\n\nexport { createSchema, t };\n","import { assign as assign$1, send as send$1, sendTo as sendTo$1, sendParent as sendParent$1, sendUpdate as sendUpdate$1, forwardTo as forwardTo$1, doneInvoke as doneInvoke$1, raise as raise$1 } from './actions.js';\nimport * as actions from './actions.js';\nexport { actions };\nexport { toActorRef } from './Actor.js';\nexport { Interpreter, InterpreterStatus, interpret, spawn } from './interpreter.js';\nexport { Machine, createMachine } from './Machine.js';\nexport { mapState } from './mapState.js';\nexport { matchState } from './match.js';\nexport { createSchema, t } from './schema.js';\nexport { State } from './State.js';\nexport { StateNode } from './StateNode.js';\nexport { spawnBehavior } from './behaviors.js';\nexport { ActionTypes, SpecialTargets } from './types.js';\nexport { matchesState, toEventObject, toObserver, toSCXMLEvent } from './utils.js';\n\nvar assign = assign$1,\n send = send$1,\n sendTo = sendTo$1,\n sendParent = sendParent$1,\n sendUpdate = sendUpdate$1,\n forwardTo = forwardTo$1,\n doneInvoke = doneInvoke$1,\n raise = raise$1;\n\nexport { assign, doneInvoke, forwardTo, raise, send, sendParent, sendTo, sendUpdate };\n","import { __assign } from './_virtual/_tslib.js';\n\nvar defaultOptions = {\n deferEvents: false\n};\n\nvar Scheduler =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function Scheduler(options) {\n this.processingEvent = false;\n this.queue = [];\n this.initialized = false;\n this.options = __assign(__assign({}, defaultOptions), options);\n }\n\n Scheduler.prototype.initialize = function (callback) {\n this.initialized = true;\n\n if (callback) {\n if (!this.options.deferEvents) {\n this.schedule(callback);\n return;\n }\n\n this.process(callback);\n }\n\n this.flushEvents();\n };\n\n Scheduler.prototype.schedule = function (task) {\n if (!this.initialized || this.processingEvent) {\n this.queue.push(task);\n return;\n }\n\n if (this.queue.length !== 0) {\n throw new Error('Event queue should be empty when it is not processing events');\n }\n\n this.process(task);\n this.flushEvents();\n };\n\n Scheduler.prototype.clear = function () {\n this.queue = [];\n };\n\n Scheduler.prototype.flushEvents = function () {\n var nextCallback = this.queue.shift();\n\n while (nextCallback) {\n this.process(nextCallback);\n nextCallback = this.queue.shift();\n }\n };\n\n Scheduler.prototype.process = function (callback) {\n this.processingEvent = true;\n\n try {\n callback();\n } catch (e) {\n // there is no use to keep the future events\n // as the situation is not anymore the same\n this.clear();\n throw e;\n } finally {\n this.processingEvent = false;\n }\n };\n\n return Scheduler;\n}();\n\nexport { Scheduler };\n","var children = /*#__PURE__*/new Map();\nvar sessionIdIndex = 0;\nvar registry = {\n bookId: function () {\n return \"x:\".concat(sessionIdIndex++);\n },\n register: function (id, actor) {\n children.set(id, actor);\n return id;\n },\n get: function (id) {\n return children.get(id);\n },\n free: function (id) {\n children.delete(id);\n }\n};\n\nexport { registry };\n","import { IS_PRODUCTION } from './environment.js';\n\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n if (!IS_PRODUCTION) {\n console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');\n }\n}\n\nfunction getDevTools() {\n var global = getGlobal();\n\n if (global && '__xstate__' in global) {\n return global.__xstate__;\n }\n\n return undefined;\n}\n\nfunction registerService(service) {\n if (!getGlobal()) {\n return;\n }\n\n var devTools = getDevTools();\n\n if (devTools) {\n devTools.register(service);\n }\n}\n\nexport { getGlobal, registerService };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { isStateConfig, State, bindActionToState } from './State.js';\nimport { raise, send, errorPlatform, update, error as error$1, log, stop, start, cancel } from './actionTypes.js';\nimport { initEvent, doneInvoke, toActionObjects, resolveActions, error, getActionFunction } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { warn, mapContext, toObserver, isFunction, toSCXMLEvent, flatten, isPromiseLike, isObservable, isMachine, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, toInvokeSource, uniqueId } from './utils.js';\nimport { Scheduler } from './scheduler.js';\nimport { createDeferredActor, isSpawnedActor } from './Actor.js';\nimport { registry } from './registry.js';\nimport { getGlobal, registerService } from './devTools.js';\nimport { provide, consume } from './serviceScope.js';\nimport { spawnBehavior } from './behaviors.js';\n\nvar DEFAULT_SPAWN_OPTIONS = {\n sync: false,\n autoForward: false\n};\nvar InterpreterStatus;\n\n(function (InterpreterStatus) {\n InterpreterStatus[InterpreterStatus[\"NotStarted\"] = 0] = \"NotStarted\";\n InterpreterStatus[InterpreterStatus[\"Running\"] = 1] = \"Running\";\n InterpreterStatus[InterpreterStatus[\"Stopped\"] = 2] = \"Stopped\";\n})(InterpreterStatus || (InterpreterStatus = {}));\n\nvar Interpreter =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new Interpreter instance (i.e., service) for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to be interpreted\r\n * @param options Interpreter options\r\n */\n function Interpreter(machine, options) {\n if (options === void 0) {\n options = Interpreter.defaultOptions;\n }\n\n var _this = this;\n\n this.machine = machine;\n this.delayedEventsMap = {};\n this.listeners = new Set();\n this.contextListeners = new Set();\n this.stopListeners = new Set();\n this.doneListeners = new Set();\n this.eventListeners = new Set();\n this.sendListeners = new Set();\n /**\r\n * Whether the service is started.\r\n */\n\n this.initialized = false;\n this.status = InterpreterStatus.NotStarted;\n this.children = new Map();\n this.forwardTo = new Set();\n this._outgoingQueue = [];\n /**\r\n * Alias for Interpreter.prototype.start\r\n */\n\n this.init = this.start;\n /**\r\n * Sends an event to the running interpreter to trigger a transition.\r\n *\r\n * An array of events (batched) can be sent as well, which will send all\r\n * batched events to the running interpreter. The listeners will be\r\n * notified only **once** when all events are processed.\r\n *\r\n * @param event The event(s) to send\r\n */\n\n this.send = function (event, payload) {\n if (isArray(event)) {\n _this.batch(event);\n\n return _this.state;\n }\n\n var _event = toSCXMLEvent(toEventObject(event, payload));\n\n if (_this.status === InterpreterStatus.Stopped) {\n // do nothing\n if (!IS_PRODUCTION) {\n warn(false, \"Event \\\"\".concat(_event.name, \"\\\" was sent to stopped service \\\"\").concat(_this.machine.id, \"\\\". This service has already reached its final state, and will not transition.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n return _this.state;\n }\n\n if (_this.status !== InterpreterStatus.Running && !_this.options.deferEvents) {\n throw new Error(\"Event \\\"\".concat(_event.name, \"\\\" was sent to uninitialized service \\\"\").concat(_this.machine.id // tslint:disable-next-line:max-line-length\n , \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n _this.scheduler.schedule(function () {\n // Forward copy of event to child actors\n _this.forward(_event);\n\n var nextState = _this._nextState(_event);\n\n _this.update(nextState, _event);\n });\n\n return _this._state; // TODO: deprecate (should return void)\n // tslint:disable-next-line:semicolon\n };\n\n this.sendTo = function (event, to, immediate) {\n var isParent = _this.parent && (to === SpecialTargets.Parent || _this.parent.id === to);\n var target = isParent ? _this.parent : isString(to) ? _this.children.get(to) || registry.get(to) : isActor(to) ? to : undefined;\n\n if (!target) {\n if (!isParent) {\n throw new Error(\"Unable to send event to child '\".concat(to, \"' from service '\").concat(_this.id, \"'.\"));\n } // tslint:disable-next-line:no-console\n\n\n if (!IS_PRODUCTION) {\n warn(false, \"Service '\".concat(_this.id, \"' has no parent: unable to send event \").concat(event.type));\n }\n\n return;\n }\n\n if ('machine' in target) {\n // perhaps those events should be rejected in the parent\n // but atm it doesn't have easy access to all of the information that is required to do it reliably\n if (_this.status !== InterpreterStatus.Stopped || _this.parent !== target || // we need to send events to the parent from exit handlers of a machine that reached its final state\n _this.state.done) {\n // Send SCXML events to machines\n var scxmlEvent = __assign(__assign({}, event), {\n name: event.name === error$1 ? \"\".concat(error(_this.id)) : event.name,\n origin: _this.sessionId\n });\n\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, scxmlEvent]);\n } else {\n target.send(scxmlEvent);\n }\n }\n } else {\n // Send normal events to other targets\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, event.data]);\n } else {\n target.send(event.data);\n }\n }\n };\n\n this._exec = function (action, context, _event, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = _this.machine.options.actions;\n }\n\n var actionOrExec = action.exec || getActionFunction(action.type, actionFunctionMap);\n var exec = isFunction(actionOrExec) ? actionOrExec : actionOrExec ? actionOrExec.exec : action.exec;\n\n if (exec) {\n try {\n return exec(context, _event.data, !_this.machine.config.predictableActionArguments ? {\n action: action,\n state: _this.state,\n _event: _event\n } : {\n action: action,\n _event: _event\n });\n } catch (err) {\n if (_this.parent) {\n _this.parent.send({\n type: 'xstate.error',\n data: err\n });\n }\n\n throw err;\n }\n }\n\n switch (action.type) {\n case send:\n var sendAction = action;\n\n if (typeof sendAction.delay === 'number') {\n _this.defer(sendAction);\n\n return;\n } else {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, _event === initEvent);\n } else {\n _this.send(sendAction._event);\n }\n }\n\n break;\n\n case cancel:\n _this.cancel(action.sendId);\n\n break;\n\n case start:\n {\n if (_this.status !== InterpreterStatus.Running) {\n return;\n }\n\n var activity = action.activity; // If the activity will be stopped right after it's started\n // (such as in transient states)\n // don't bother starting the activity.\n\n if ( // in v4 with `predictableActionArguments` invokes are called eagerly when the `this.state` still points to the previous state\n !_this.machine.config.predictableActionArguments && !_this.state.activities[activity.id || activity.type]) {\n break;\n } // Invoked services\n\n\n if (activity.type === ActionTypes.Invoke) {\n var invokeSource = toInvokeSource(activity.src);\n var serviceCreator = _this.machine.options.services ? _this.machine.options.services[invokeSource.type] : undefined;\n var id = activity.id,\n data = activity.data;\n\n if (!IS_PRODUCTION) {\n warn(!('forward' in activity), // tslint:disable-next-line:max-line-length\n \"`forward` property is deprecated (found in invocation of '\".concat(activity.src, \"' in in machine '\").concat(_this.machine.id, \"'). \") + \"Please use `autoForward` instead.\");\n }\n\n var autoForward = 'autoForward' in activity ? activity.autoForward : !!activity.forward;\n\n if (!serviceCreator) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"No service found for invocation '\".concat(activity.src, \"' in machine '\").concat(_this.machine.id, \"'.\"));\n }\n\n return;\n }\n\n var resolvedData = data ? mapContext(data, context, _event) : undefined;\n\n if (typeof serviceCreator === 'string') {\n // TODO: warn\n return;\n }\n\n var source = isFunction(serviceCreator) ? serviceCreator(context, _event.data, {\n data: resolvedData,\n src: invokeSource,\n meta: activity.meta\n }) : serviceCreator;\n\n if (!source) {\n // TODO: warn?\n return;\n }\n\n var options = void 0;\n\n if (isMachine(source)) {\n source = resolvedData ? source.withContext(resolvedData) : source;\n options = {\n autoForward: autoForward\n };\n }\n\n _this.spawn(source, id, options);\n } else {\n _this.spawnActivity(activity);\n }\n\n break;\n }\n\n case stop:\n {\n _this.stopChild(action.activity.id);\n\n break;\n }\n\n case log:\n var label = action.label,\n value = action.value;\n\n if (label) {\n _this.logger(label, value);\n } else {\n _this.logger(value);\n }\n\n break;\n\n default:\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for action type '\".concat(action.type, \"'\"));\n }\n\n break;\n }\n };\n\n var resolvedOptions = __assign(__assign({}, Interpreter.defaultOptions), options);\n\n var clock = resolvedOptions.clock,\n logger = resolvedOptions.logger,\n parent = resolvedOptions.parent,\n id = resolvedOptions.id;\n var resolvedId = id !== undefined ? id : machine.id;\n this.id = resolvedId;\n this.logger = logger;\n this.clock = clock;\n this.parent = parent;\n this.options = resolvedOptions;\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n this.sessionId = registry.bookId();\n }\n\n Object.defineProperty(Interpreter.prototype, \"initialState\", {\n get: function () {\n var _this = this;\n\n if (this._initialState) {\n return this._initialState;\n }\n\n return provide(this, function () {\n _this._initialState = _this.machine.initialState;\n return _this._initialState;\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Interpreter.prototype, \"state\", {\n /**\r\n * @deprecated Use `.getSnapshot()` instead.\r\n */\n get: function () {\n if (!IS_PRODUCTION) {\n warn(this.status !== InterpreterStatus.NotStarted, \"Attempted to read state from uninitialized service '\".concat(this.id, \"'. Make sure the service is started first.\"));\n }\n\n return this._state;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Executes the actions of the given state, with that state's `context` and `event`.\r\n *\r\n * @param state The state whose actions will be executed\r\n * @param actionsConfig The action implementations to use\r\n */\n\n Interpreter.prototype.execute = function (state, actionsConfig) {\n var e_1, _a;\n\n try {\n for (var _b = __values(state.actions), _c = _b.next(); !_c.done; _c = _b.next()) {\n var action = _c.value;\n this.exec(action, state, actionsConfig);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n };\n\n Interpreter.prototype.update = function (state, _event) {\n var e_2, _a, e_3, _b, e_4, _c, e_5, _d;\n\n var _this = this; // Attach session ID to state\n\n\n state._sessionid = this.sessionId; // Update state\n\n this._state = state; // Execute actions\n\n if ((!this.machine.config.predictableActionArguments || // this is currently required to execute initial actions as the `initialState` gets cached\n // we can't just recompute it (and execute actions while doing so) because we try to preserve identity of actors created within initial assigns\n _event === initEvent) && this.options.execute) {\n this.execute(this.state);\n } else {\n var item = void 0;\n\n while (item = this._outgoingQueue.shift()) {\n item[0].send(item[1]);\n }\n } // Update children\n\n\n this.children.forEach(function (child) {\n _this.state.children[child.id] = child;\n }); // Dev tools\n\n if (this.devTools) {\n this.devTools.send(_event.data, state);\n } // Execute listeners\n\n\n if (state.event) {\n try {\n for (var _e = __values(this.eventListeners), _f = _e.next(); !_f.done; _f = _e.next()) {\n var listener = _f.value;\n listener(state.event);\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n\n try {\n for (var _g = __values(this.listeners), _h = _g.next(); !_h.done; _h = _g.next()) {\n var listener = _h.value;\n listener(state, state.event);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n try {\n for (var _j = __values(this.contextListeners), _k = _j.next(); !_k.done; _k = _j.next()) {\n var contextListener = _k.value;\n contextListener(this.state.context, this.state.history ? this.state.history.context : undefined);\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n if (this.state.done) {\n // get final child state node\n var finalChildStateNode = state.configuration.find(function (sn) {\n return sn.type === 'final' && sn.parent === _this.machine;\n });\n var doneData = finalChildStateNode && finalChildStateNode.doneData ? mapContext(finalChildStateNode.doneData, state.context, _event) : undefined;\n\n try {\n for (var _l = __values(this.doneListeners), _m = _l.next(); !_m.done; _m = _l.next()) {\n var listener = _m.value;\n listener(doneInvoke(this.id, doneData));\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n this._stop();\n\n this._stopChildren();\n }\n };\n /*\r\n * Adds a listener that is notified whenever a state transition happens. The listener is called with\r\n * the next state and the event object that caused the state transition.\r\n *\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onTransition = function (listener) {\n this.listeners.add(listener); // Send current state to listener\n\n if (this.status === InterpreterStatus.Running) {\n listener(this.state, this.state.event);\n }\n\n return this;\n };\n\n Interpreter.prototype.subscribe = function (nextListenerOrObserver, _, // TODO: error listener\n completeListener) {\n var _this = this;\n\n var observer = toObserver(nextListenerOrObserver, _, completeListener);\n this.listeners.add(observer.next); // Send current state to listener\n\n if (this.status !== InterpreterStatus.NotStarted) {\n observer.next(this.state);\n }\n\n var completeOnce = function () {\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n\n observer.complete();\n };\n\n if (this.status === InterpreterStatus.Stopped) {\n observer.complete();\n } else {\n this.onDone(completeOnce);\n this.onStop(completeOnce);\n }\n\n return {\n unsubscribe: function () {\n _this.listeners.delete(observer.next);\n\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n }\n };\n };\n /**\r\n * Adds an event listener that is notified whenever an event is sent to the running interpreter.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onEvent = function (listener) {\n this.eventListeners.add(listener);\n return this;\n };\n /**\r\n * Adds an event listener that is notified whenever a `send` event occurs.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onSend = function (listener) {\n this.sendListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a context listener that is notified whenever the state context changes.\r\n * @param listener The context listener\r\n */\n\n\n Interpreter.prototype.onChange = function (listener) {\n this.contextListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a listener that is notified when the machine is stopped.\r\n * @param listener The listener\r\n */\n\n\n Interpreter.prototype.onStop = function (listener) {\n this.stopListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a state listener that is notified when the statechart has reached its final state.\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onDone = function (listener) {\n this.doneListeners.add(listener);\n return this;\n };\n /**\r\n * Removes a listener.\r\n * @param listener The listener to remove\r\n */\n\n\n Interpreter.prototype.off = function (listener) {\n this.listeners.delete(listener);\n this.eventListeners.delete(listener);\n this.sendListeners.delete(listener);\n this.stopListeners.delete(listener);\n this.doneListeners.delete(listener);\n this.contextListeners.delete(listener);\n return this;\n };\n /**\r\n * Starts the interpreter from the given state, or the initial state.\r\n * @param initialState The state to start the statechart from\r\n */\n\n\n Interpreter.prototype.start = function (initialState) {\n var _this = this;\n\n if (this.status === InterpreterStatus.Running) {\n // Do not restart the service if it is already started\n return this;\n } // yes, it's a hack but we need the related cache to be populated for some things to work (like delayed transitions)\n // this is usually called by `machine.getInitialState` but if we rehydrate from a state we might bypass this call\n // we also don't want to call this method here as it resolves the full initial state which might involve calling assign actions\n // and that could potentially lead to some unwanted side-effects (even such as creating some rogue actors)\n\n\n this.machine._init();\n\n registry.register(this.sessionId, this);\n this.initialized = true;\n this.status = InterpreterStatus.Running;\n var resolvedState = initialState === undefined ? this.initialState : provide(this, function () {\n return isStateConfig(initialState) ? _this.machine.resolveState(initialState) : _this.machine.resolveState(State.from(initialState, _this.machine.context));\n });\n\n if (this.options.devTools) {\n this.attachDev();\n }\n\n this.scheduler.initialize(function () {\n _this.update(resolvedState, initEvent);\n });\n return this;\n };\n\n Interpreter.prototype._stopChildren = function () {\n // TODO: think about converting those to actions\n this.children.forEach(function (child) {\n if (isFunction(child.stop)) {\n child.stop();\n }\n });\n this.children.clear();\n };\n\n Interpreter.prototype._stop = function () {\n var e_6, _a, e_7, _b, e_8, _c, e_9, _d, e_10, _e;\n\n try {\n for (var _f = __values(this.listeners), _g = _f.next(); !_g.done; _g = _f.next()) {\n var listener = _g.value;\n this.listeners.delete(listener);\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (_g && !_g.done && (_a = _f.return)) _a.call(_f);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n try {\n for (var _h = __values(this.stopListeners), _j = _h.next(); !_j.done; _j = _h.next()) {\n var listener = _j.value; // call listener, then remove\n\n listener();\n this.stopListeners.delete(listener);\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_j && !_j.done && (_b = _h.return)) _b.call(_h);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n\n try {\n for (var _k = __values(this.contextListeners), _l = _k.next(); !_l.done; _l = _k.next()) {\n var listener = _l.value;\n this.contextListeners.delete(listener);\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_l && !_l.done && (_c = _k.return)) _c.call(_k);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n\n try {\n for (var _m = __values(this.doneListeners), _o = _m.next(); !_o.done; _o = _m.next()) {\n var listener = _o.value;\n this.doneListeners.delete(listener);\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_o && !_o.done && (_d = _m.return)) _d.call(_m);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n\n if (!this.initialized) {\n // Interpreter already stopped; do nothing\n return this;\n }\n\n this.initialized = false;\n this.status = InterpreterStatus.Stopped;\n this._initialState = undefined;\n\n try {\n // we are going to stop within the current sync frame\n // so we can safely just cancel this here as nothing async should be fired anyway\n for (var _p = __values(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {\n var key = _q.value;\n this.clock.clearTimeout(this.delayedEventsMap[key]);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (_q && !_q.done && (_e = _p.return)) _e.call(_p);\n } finally {\n if (e_10) throw e_10.error;\n }\n } // clear everything that might be enqueued\n\n\n this.scheduler.clear();\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n };\n /**\r\n * Stops the interpreter and unsubscribe all listeners.\r\n *\r\n * This will also notify the `onStop` listeners.\r\n */\n\n\n Interpreter.prototype.stop = function () {\n // TODO: add warning for stopping non-root interpreters\n var _this = this; // grab the current scheduler as it will be replaced in _stop\n\n\n var scheduler = this.scheduler;\n\n this._stop(); // let what is currently processed to be finished\n\n\n scheduler.schedule(function () {\n // it feels weird to handle this here but we need to handle this even slightly \"out of band\"\n var _event = toSCXMLEvent({\n type: 'xstate.stop'\n });\n\n var nextState = provide(_this, function () {\n var exitActions = flatten(__spreadArray([], __read(_this.state.configuration), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return toActionObjects(stateNode.onExit, _this.machine.options.actions);\n }));\n\n var _a = __read(resolveActions(_this.machine, _this.state, _this.state.context, _event, [exitActions], _this.machine.config.predictableActionArguments ? _this._exec : undefined, _this.machine.config.predictableActionArguments || _this.machine.config.preserveActionOrder), 2),\n resolvedActions = _a[0],\n updatedContext = _a[1];\n\n var newState = new State({\n value: _this.state.value,\n context: updatedContext,\n _event: _event,\n _sessionid: _this.sessionId,\n historyValue: undefined,\n history: _this.state,\n actions: resolvedActions.filter(function (action) {\n return action.type !== raise && (action.type !== send || !!action.to && action.to !== SpecialTargets.Internal);\n }),\n activities: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {},\n done: _this.state.done,\n tags: _this.state.tags,\n machine: _this.machine\n });\n newState.changed = true;\n return newState;\n });\n\n _this.update(nextState, _event);\n\n _this._stopChildren();\n\n registry.free(_this.sessionId);\n });\n return this;\n };\n\n Interpreter.prototype.batch = function (events) {\n var _this = this;\n\n if (this.status === InterpreterStatus.NotStarted && this.options.deferEvents) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\" and are deferred. Make sure .start() is called for this service.\\nEvent: \").concat(JSON.stringify(event)));\n }\n } else if (this.status !== InterpreterStatus.Running) {\n throw new Error( // tslint:disable-next-line:max-line-length\n \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\"));\n }\n\n if (!events.length) {\n return;\n }\n\n var exec = !!this.machine.config.predictableActionArguments && this._exec;\n this.scheduler.schedule(function () {\n var e_11, _a;\n\n var nextState = _this.state;\n var batchChanged = false;\n var batchedActions = [];\n\n var _loop_1 = function (event_1) {\n var _event = toSCXMLEvent(event_1);\n\n _this.forward(_event);\n\n nextState = provide(_this, function () {\n return _this.machine.transition(nextState, _event, undefined, exec || undefined);\n });\n batchedActions.push.apply(batchedActions, __spreadArray([], __read(_this.machine.config.predictableActionArguments ? nextState.actions : nextState.actions.map(function (a) {\n return bindActionToState(a, nextState);\n })), false));\n batchChanged = batchChanged || !!nextState.changed;\n };\n\n try {\n for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {\n var event_1 = events_1_1.value;\n\n _loop_1(event_1);\n }\n } catch (e_11_1) {\n e_11 = {\n error: e_11_1\n };\n } finally {\n try {\n if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);\n } finally {\n if (e_11) throw e_11.error;\n }\n }\n\n nextState.changed = batchChanged;\n nextState.actions = batchedActions;\n\n _this.update(nextState, toSCXMLEvent(events[events.length - 1]));\n });\n };\n /**\r\n * Returns a send function bound to this interpreter instance.\r\n *\r\n * @param event The event to be sent by the sender.\r\n */\n\n\n Interpreter.prototype.sender = function (event) {\n return this.send.bind(this, event);\n };\n\n Interpreter.prototype._nextState = function (event, exec) {\n var _this = this;\n\n if (exec === void 0) {\n exec = !!this.machine.config.predictableActionArguments && this._exec;\n }\n\n var _event = toSCXMLEvent(event);\n\n if (_event.name.indexOf(errorPlatform) === 0 && !this.state.nextEvents.some(function (nextEvent) {\n return nextEvent.indexOf(errorPlatform) === 0;\n })) {\n throw _event.data.data;\n }\n\n var nextState = provide(this, function () {\n return _this.machine.transition(_this.state, _event, undefined, exec || undefined);\n });\n return nextState;\n };\n /**\r\n * Returns the next state given the interpreter's current state and the event.\r\n *\r\n * This is a pure method that does _not_ update the interpreter's state.\r\n *\r\n * @param event The event to determine the next state\r\n */\n\n\n Interpreter.prototype.nextState = function (event) {\n return this._nextState(event, false);\n };\n\n Interpreter.prototype.forward = function (event) {\n var e_12, _a;\n\n try {\n for (var _b = __values(this.forwardTo), _c = _b.next(); !_c.done; _c = _b.next()) {\n var id = _c.value;\n var child = this.children.get(id);\n\n if (!child) {\n throw new Error(\"Unable to forward event '\".concat(event, \"' from interpreter '\").concat(this.id, \"' to nonexistant child '\").concat(id, \"'.\"));\n }\n\n child.send(event);\n }\n } catch (e_12_1) {\n e_12 = {\n error: e_12_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_12) throw e_12.error;\n }\n }\n };\n\n Interpreter.prototype.defer = function (sendAction) {\n var _this = this;\n\n this.delayedEventsMap[sendAction.id] = this.clock.setTimeout(function () {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, true);\n } else {\n _this.send(sendAction._event);\n }\n }, sendAction.delay);\n };\n\n Interpreter.prototype.cancel = function (sendId) {\n this.clock.clearTimeout(this.delayedEventsMap[sendId]);\n delete this.delayedEventsMap[sendId];\n };\n\n Interpreter.prototype.exec = function (action, state, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = this.machine.options.actions;\n }\n\n this._exec(action, state.context, state._event, actionFunctionMap);\n };\n\n Interpreter.prototype.removeChild = function (childId) {\n var _a;\n\n this.children.delete(childId);\n this.forwardTo.delete(childId); // this.state might not exist at the time this is called,\n // such as when a child is added then removed while initializing the state\n\n (_a = this.state) === null || _a === void 0 ? true : delete _a.children[childId];\n };\n\n Interpreter.prototype.stopChild = function (childId) {\n var child = this.children.get(childId);\n\n if (!child) {\n return;\n }\n\n this.removeChild(childId);\n\n if (isFunction(child.stop)) {\n child.stop();\n }\n };\n\n Interpreter.prototype.spawn = function (entity, name, options) {\n if (this.status !== InterpreterStatus.Running) {\n return createDeferredActor(entity, name);\n }\n\n if (isPromiseLike(entity)) {\n return this.spawnPromise(Promise.resolve(entity), name);\n } else if (isFunction(entity)) {\n return this.spawnCallback(entity, name);\n } else if (isSpawnedActor(entity)) {\n return this.spawnActor(entity, name);\n } else if (isObservable(entity)) {\n return this.spawnObservable(entity, name);\n } else if (isMachine(entity)) {\n return this.spawnMachine(entity, __assign(__assign({}, options), {\n id: name\n }));\n } else if (isBehavior(entity)) {\n return this.spawnBehavior(entity, name);\n } else {\n throw new Error(\"Unable to spawn entity \\\"\".concat(name, \"\\\" of type \\\"\").concat(typeof entity, \"\\\".\"));\n }\n };\n\n Interpreter.prototype.spawnMachine = function (machine, options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var childService = new Interpreter(machine, __assign(__assign({}, this.options), {\n parent: this,\n id: options.id || machine.id\n }));\n\n var resolvedOptions = __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), options);\n\n if (resolvedOptions.sync) {\n childService.onTransition(function (state) {\n _this.send(update, {\n state: state,\n id: childService.id\n });\n });\n }\n\n var actor = childService;\n this.children.set(childService.id, actor);\n\n if (resolvedOptions.autoForward) {\n this.forwardTo.add(childService.id);\n }\n\n childService.onDone(function (doneEvent) {\n _this.removeChild(childService.id);\n\n _this.send(toSCXMLEvent(doneEvent, {\n origin: childService.id\n }));\n }).start();\n return actor;\n };\n\n Interpreter.prototype.spawnBehavior = function (behavior, id) {\n var actorRef = spawnBehavior(behavior, {\n id: id,\n parent: this\n });\n this.children.set(id, actorRef);\n return actorRef;\n };\n\n Interpreter.prototype.spawnPromise = function (promise, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var resolvedData;\n promise.then(function (response) {\n if (!canceled) {\n resolvedData = response;\n\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id, response), {\n origin: id\n }));\n }\n }, function (errorData) {\n if (!canceled) {\n _this.removeChild(id);\n\n var errorEvent = error(id, errorData);\n\n try {\n // Send \"error.platform.id\" to this (parent).\n _this.send(toSCXMLEvent(errorEvent, {\n origin: id\n }));\n } catch (error) {\n reportUnhandledExceptionOnInvocation(errorData, error, id);\n\n if (_this.devTools) {\n _this.devTools.send(errorEvent, _this.state);\n }\n\n if (_this.machine.strict) {\n // it would be better to always stop the state machine if unhandled\n // exception/promise rejection happens but because we don't want to\n // break existing code so enforce it on strict mode only especially so\n // because documentation says that onError is optional\n _this.stop();\n }\n }\n }\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n var unsubscribed = false;\n promise.then(function (response) {\n if (unsubscribed) {\n return;\n }\n\n observer.next(response);\n\n if (unsubscribed) {\n return;\n }\n\n observer.complete();\n }, function (err) {\n if (unsubscribed) {\n return;\n }\n\n observer.error(err);\n });\n return {\n unsubscribe: function () {\n return unsubscribed = true;\n }\n };\n },\n stop: function () {\n canceled = true;\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return resolvedData;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnCallback = function (callback, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var receivers = new Set();\n var listeners = new Set();\n var emitted;\n\n var receive = function (e) {\n emitted = e;\n listeners.forEach(function (listener) {\n return listener(e);\n });\n\n if (canceled) {\n return;\n }\n\n _this.send(toSCXMLEvent(e, {\n origin: id\n }));\n };\n\n var callbackStop;\n\n try {\n callbackStop = callback(receive, function (newListener) {\n receivers.add(newListener);\n });\n } catch (err) {\n this.send(error(id, err));\n }\n\n if (isPromiseLike(callbackStop)) {\n // it turned out to be an async function, can't reliably check this before calling `callback`\n // because transpiled async functions are not recognizable\n return this.spawnPromise(callbackStop, id);\n }\n\n var actor = (_a = {\n id: id,\n send: function (event) {\n return receivers.forEach(function (receiver) {\n return receiver(event);\n });\n },\n subscribe: function (next) {\n var observer = toObserver(next);\n listeners.add(observer.next);\n return {\n unsubscribe: function () {\n listeners.delete(observer.next);\n }\n };\n },\n stop: function () {\n canceled = true;\n\n if (isFunction(callbackStop)) {\n callbackStop();\n }\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return emitted;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnObservable = function (source, id) {\n var _a;\n\n var _this = this;\n\n var emitted;\n var subscription = source.subscribe(function (value) {\n emitted = value;\n\n _this.send(toSCXMLEvent(value, {\n origin: id\n }));\n }, function (err) {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(error(id, err), {\n origin: id\n }));\n }, function () {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id), {\n origin: id\n }));\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n return source.subscribe(next, handleError, complete);\n },\n stop: function () {\n return subscription.unsubscribe();\n },\n getSnapshot: function () {\n return emitted;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActor = function (actor, name) {\n this.children.set(name, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActivity = function (activity) {\n var implementation = this.machine.options && this.machine.options.activities ? this.machine.options.activities[activity.type] : undefined;\n\n if (!implementation) {\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for activity '\".concat(activity.type, \"'\"));\n } // tslint:disable-next-line:no-console\n\n\n return;\n } // Start implementation\n\n\n var dispose = implementation(this.state.context, activity);\n this.spawnEffect(activity.id, dispose);\n };\n\n Interpreter.prototype.spawnEffect = function (id, dispose) {\n var _a;\n\n this.children.set(id, (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n stop: dispose || undefined,\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a));\n };\n\n Interpreter.prototype.attachDev = function () {\n var global = getGlobal();\n\n if (this.options.devTools && global) {\n if (global.__REDUX_DEVTOOLS_EXTENSION__) {\n var devToolsOptions = typeof this.options.devTools === 'object' ? this.options.devTools : undefined;\n this.devTools = global.__REDUX_DEVTOOLS_EXTENSION__.connect(__assign(__assign({\n name: this.id,\n autoPause: true,\n stateSanitizer: function (state) {\n return {\n value: state.value,\n context: state.context,\n actions: state.actions\n };\n }\n }, devToolsOptions), {\n features: __assign({\n jump: false,\n skip: false\n }, devToolsOptions ? devToolsOptions.features : undefined)\n }), this.machine);\n this.devTools.init(this.state);\n } // add XState-specific dev tooling hook\n\n\n registerService(this);\n }\n };\n\n Interpreter.prototype.toJSON = function () {\n return {\n id: this.id\n };\n };\n\n Interpreter.prototype[symbolObservable] = function () {\n return this;\n };\n\n Interpreter.prototype.getSnapshot = function () {\n if (this.status === InterpreterStatus.NotStarted) {\n return this.initialState;\n }\n\n return this._state;\n };\n /**\r\n * The default interpreter options:\r\n *\r\n * - `clock` uses the global `setTimeout` and `clearTimeout` functions\r\n * - `logger` uses the global `console.log()` method\r\n */\n\n\n Interpreter.defaultOptions = {\n execute: true,\n deferEvents: true,\n clock: {\n setTimeout: function (fn, ms) {\n return setTimeout(fn, ms);\n },\n clearTimeout: function (id) {\n return clearTimeout(id);\n }\n },\n logger: /*#__PURE__*/console.log.bind(console),\n devTools: false\n };\n Interpreter.interpret = interpret;\n return Interpreter;\n}();\n\nvar resolveSpawnOptions = function (nameOrOptions) {\n if (isString(nameOrOptions)) {\n return __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: nameOrOptions\n });\n }\n\n return __assign(__assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: uniqueId()\n }), nameOrOptions);\n};\n\nfunction spawn(entity, nameOrOptions) {\n var resolvedOptions = resolveSpawnOptions(nameOrOptions);\n return consume(function (service) {\n if (!IS_PRODUCTION) {\n var isLazyEntity = isMachine(entity) || isFunction(entity);\n warn(!!service || isLazyEntity, \"Attempted to spawn an Actor (ID: \\\"\".concat(isMachine(entity) ? entity.id : 'undefined', \"\\\") outside of a service. This will have no effect.\"));\n }\n\n if (service) {\n return service.spawn(entity, resolvedOptions.name, resolvedOptions);\n } else {\n return createDeferredActor(entity, resolvedOptions.name);\n }\n });\n}\n/**\r\n * Creates a new Interpreter instance for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to interpret\r\n * @param options Interpreter options\r\n */\n\nfunction interpret(machine, options) {\n var interpreter = new Interpreter(machine, options);\n return interpreter;\n}\n\nexport { Interpreter, InterpreterStatus, interpret, spawn };\n","/**\r\n * Maintains a stack of the current service in scope.\r\n * This is used to provide the correct service to spawn().\r\n */\nvar serviceStack = [];\nvar provide = function (service, fn) {\n serviceStack.push(service);\n var result = fn(service);\n serviceStack.pop();\n return result;\n};\nvar consume = function (fn) {\n return fn(serviceStack[serviceStack.length - 1]);\n};\n\nexport { consume, provide };\n","import { __values, __spreadArray, __read } from './_virtual/_tslib.js';\nimport { flatten } from './utils.js';\n\nvar isLeafNode = function (stateNode) {\n return stateNode.type === 'atomic' || stateNode.type === 'final';\n};\nfunction getAllChildren(stateNode) {\n return Object.keys(stateNode.states).map(function (key) {\n return stateNode.states[key];\n });\n}\nfunction getChildren(stateNode) {\n return getAllChildren(stateNode).filter(function (sn) {\n return sn.type !== 'history';\n });\n}\nfunction getAllStateNodes(stateNode) {\n var stateNodes = [stateNode];\n\n if (isLeafNode(stateNode)) {\n return stateNodes;\n }\n\n return stateNodes.concat(flatten(getChildren(stateNode).map(getAllStateNodes)));\n}\nfunction getConfiguration(prevStateNodes, stateNodes) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n\n var prevConfiguration = new Set(prevStateNodes);\n var prevAdjList = getAdjList(prevConfiguration);\n var configuration = new Set(stateNodes);\n\n try {\n // add all ancestors\n for (var configuration_1 = __values(configuration), configuration_1_1 = configuration_1.next(); !configuration_1_1.done; configuration_1_1 = configuration_1.next()) {\n var s = configuration_1_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (configuration_1_1 && !configuration_1_1.done && (_a = configuration_1.return)) _a.call(configuration_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n var adjList = getAdjList(configuration);\n\n try {\n // add descendants\n for (var configuration_2 = __values(configuration), configuration_2_1 = configuration_2.next(); !configuration_2_1.done; configuration_2_1 = configuration_2.next()) {\n var s = configuration_2_1.value; // if previously active, add existing child nodes\n\n if (s.type === 'compound' && (!adjList.get(s) || !adjList.get(s).length)) {\n if (prevAdjList.get(s)) {\n prevAdjList.get(s).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n s.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n } else {\n if (s.type === 'parallel') {\n try {\n for (var _e = (e_3 = void 0, __values(getChildren(s))), _f = _e.next(); !_f.done; _f = _e.next()) {\n var child = _f.value;\n\n if (!configuration.has(child)) {\n configuration.add(child);\n\n if (prevAdjList.get(child)) {\n prevAdjList.get(child).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n child.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_c = _e.return)) _c.call(_e);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n }\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (configuration_2_1 && !configuration_2_1.done && (_b = configuration_2.return)) _b.call(configuration_2);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n try {\n // add all ancestors\n for (var configuration_3 = __values(configuration), configuration_3_1 = configuration_3.next(); !configuration_3_1.done; configuration_3_1 = configuration_3.next()) {\n var s = configuration_3_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (configuration_3_1 && !configuration_3_1.done && (_d = configuration_3.return)) _d.call(configuration_3);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return configuration;\n}\n\nfunction getValueFromAdj(baseNode, adjList) {\n var childStateNodes = adjList.get(baseNode);\n\n if (!childStateNodes) {\n return {}; // todo: fix?\n }\n\n if (baseNode.type === 'compound') {\n var childStateNode = childStateNodes[0];\n\n if (childStateNode) {\n if (isLeafNode(childStateNode)) {\n return childStateNode.key;\n }\n } else {\n return {};\n }\n }\n\n var stateValue = {};\n childStateNodes.forEach(function (csn) {\n stateValue[csn.key] = getValueFromAdj(csn, adjList);\n });\n return stateValue;\n}\n\nfunction getAdjList(configuration) {\n var e_5, _a;\n\n var adjList = new Map();\n\n try {\n for (var configuration_4 = __values(configuration), configuration_4_1 = configuration_4.next(); !configuration_4_1.done; configuration_4_1 = configuration_4.next()) {\n var s = configuration_4_1.value;\n\n if (!adjList.has(s)) {\n adjList.set(s, []);\n }\n\n if (s.parent) {\n if (!adjList.has(s.parent)) {\n adjList.set(s.parent, []);\n }\n\n adjList.get(s.parent).push(s);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (configuration_4_1 && !configuration_4_1.done && (_a = configuration_4.return)) _a.call(configuration_4);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return adjList;\n}\nfunction getValue(rootNode, configuration) {\n var config = getConfiguration([rootNode], configuration);\n return getValueFromAdj(rootNode, getAdjList(config));\n}\nfunction has(iterable, item) {\n if (Array.isArray(iterable)) {\n return iterable.some(function (member) {\n return member === item;\n });\n }\n\n if (iterable instanceof Set) {\n return iterable.has(item);\n }\n\n return false; // TODO: fix\n}\nfunction nextEvents(configuration) {\n return __spreadArray([], __read(new Set(flatten(__spreadArray([], __read(configuration.map(function (sn) {\n return sn.ownEvents;\n })), false)))), false);\n}\nfunction isInFinalState(configuration, stateNode) {\n if (stateNode.type === 'compound') {\n return getChildren(stateNode).some(function (s) {\n return s.type === 'final' && has(configuration, s);\n });\n }\n\n if (stateNode.type === 'parallel') {\n return getChildren(stateNode).every(function (sn) {\n return isInFinalState(configuration, sn);\n });\n }\n\n return false;\n}\nfunction getMeta(configuration) {\n if (configuration === void 0) {\n configuration = [];\n }\n\n return configuration.reduce(function (acc, stateNode) {\n if (stateNode.meta !== undefined) {\n acc[stateNode.id] = stateNode.meta;\n }\n\n return acc;\n }, {});\n}\nfunction getTagsFromConfiguration(configuration) {\n return new Set(flatten(configuration.map(function (sn) {\n return sn.tags;\n })));\n}\n\nexport { getAdjList, getAllChildren, getAllStateNodes, getChildren, getConfiguration, getMeta, getTagsFromConfiguration, getValue, has, isInFinalState, isLeafNode, nextEvents };\n","var ActionTypes;\n\n(function (ActionTypes) {\n ActionTypes[\"Start\"] = \"xstate.start\";\n ActionTypes[\"Stop\"] = \"xstate.stop\";\n ActionTypes[\"Raise\"] = \"xstate.raise\";\n ActionTypes[\"Send\"] = \"xstate.send\";\n ActionTypes[\"Cancel\"] = \"xstate.cancel\";\n ActionTypes[\"NullEvent\"] = \"\";\n ActionTypes[\"Assign\"] = \"xstate.assign\";\n ActionTypes[\"After\"] = \"xstate.after\";\n ActionTypes[\"DoneState\"] = \"done.state\";\n ActionTypes[\"DoneInvoke\"] = \"done.invoke\";\n ActionTypes[\"Log\"] = \"xstate.log\";\n ActionTypes[\"Init\"] = \"xstate.init\";\n ActionTypes[\"Invoke\"] = \"xstate.invoke\";\n ActionTypes[\"ErrorExecution\"] = \"error.execution\";\n ActionTypes[\"ErrorCommunication\"] = \"error.communication\";\n ActionTypes[\"ErrorPlatform\"] = \"error.platform\";\n ActionTypes[\"ErrorCustom\"] = \"xstate.error\";\n ActionTypes[\"Update\"] = \"xstate.update\";\n ActionTypes[\"Pure\"] = \"xstate.pure\";\n ActionTypes[\"Choose\"] = \"xstate.choose\";\n})(ActionTypes || (ActionTypes = {}));\n\nvar SpecialTargets;\n\n(function (SpecialTargets) {\n SpecialTargets[\"Parent\"] = \"#_parent\";\n SpecialTargets[\"Internal\"] = \"#_internal\";\n})(SpecialTargets || (SpecialTargets = {}));\n\nexport { ActionTypes, SpecialTargets };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { DEFAULT_GUARD_TYPE, TARGETLESS_KEY, STATE_DELIMITER } from './constants.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar _a;\nfunction keys(value) {\n return Object.keys(value);\n}\nfunction matchesState(parentStateId, childStateId, delimiter) {\n if (delimiter === void 0) {\n delimiter = STATE_DELIMITER;\n }\n\n var parentStateValue = toStateValue(parentStateId, delimiter);\n var childStateValue = toStateValue(childStateId, delimiter);\n\n if (isString(childStateValue)) {\n if (isString(parentStateValue)) {\n return childStateValue === parentStateValue;\n } // Parent more specific than child\n\n\n return false;\n }\n\n if (isString(parentStateValue)) {\n return parentStateValue in childStateValue;\n }\n\n return Object.keys(parentStateValue).every(function (key) {\n if (!(key in childStateValue)) {\n return false;\n }\n\n return matchesState(parentStateValue[key], childStateValue[key]);\n });\n}\nfunction getEventType(event) {\n try {\n return isString(event) || typeof event === 'number' ? \"\".concat(event) : event.type;\n } catch (e) {\n throw new Error('Events must be strings or objects with a string event.type property.');\n }\n}\nfunction getActionType(action) {\n try {\n return isString(action) || typeof action === 'number' ? \"\".concat(action) : isFunction(action) ? action.name : action.type;\n } catch (e) {\n throw new Error('Actions must be strings or objects with a string action.type property.');\n }\n}\nfunction toStatePath(stateId, delimiter) {\n try {\n if (isArray(stateId)) {\n return stateId;\n }\n\n return stateId.toString().split(delimiter);\n } catch (e) {\n throw new Error(\"'\".concat(stateId, \"' is not a valid state path.\"));\n }\n}\nfunction isStateLike(state) {\n return typeof state === 'object' && 'value' in state && 'context' in state && 'event' in state && '_event' in state;\n}\nfunction toStateValue(stateValue, delimiter) {\n if (isStateLike(stateValue)) {\n return stateValue.value;\n }\n\n if (isArray(stateValue)) {\n return pathToStateValue(stateValue);\n }\n\n if (typeof stateValue !== 'string') {\n return stateValue;\n }\n\n var statePath = toStatePath(stateValue, delimiter);\n return pathToStateValue(statePath);\n}\nfunction pathToStateValue(statePath) {\n if (statePath.length === 1) {\n return statePath[0];\n }\n\n var value = {};\n var marker = value;\n\n for (var i = 0; i < statePath.length - 1; i++) {\n if (i === statePath.length - 2) {\n marker[statePath[i]] = statePath[i + 1];\n } else {\n marker[statePath[i]] = {};\n marker = marker[statePath[i]];\n }\n }\n\n return value;\n}\nfunction mapValues(collection, iteratee) {\n var result = {};\n var collectionKeys = Object.keys(collection);\n\n for (var i = 0; i < collectionKeys.length; i++) {\n var key = collectionKeys[i];\n result[key] = iteratee(collection[key], key, collection, i);\n }\n\n return result;\n}\nfunction mapFilterValues(collection, iteratee, predicate) {\n var e_1, _a;\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var item = collection[key];\n\n if (!predicate(item)) {\n continue;\n }\n\n result[key] = iteratee(item, key, collection);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return result;\n}\n/**\r\n * Retrieves a value at the given path.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nvar path = function (props) {\n return function (object) {\n var e_2, _a;\n\n var result = object;\n\n try {\n for (var props_1 = __values(props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {\n var prop = props_1_1.value;\n result = result[prop];\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n return result;\n };\n};\n/**\r\n * Retrieves a value at the given path via the nested accessor prop.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nfunction nestedPath(props, accessorProp) {\n return function (object) {\n var e_3, _a;\n\n var result = object;\n\n try {\n for (var props_2 = __values(props), props_2_1 = props_2.next(); !props_2_1.done; props_2_1 = props_2.next()) {\n var prop = props_2_1.value;\n result = result[accessorProp][prop];\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (props_2_1 && !props_2_1.done && (_a = props_2.return)) _a.call(props_2);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n return result;\n };\n}\nfunction toStatePaths(stateValue) {\n if (!stateValue) {\n return [[]];\n }\n\n if (isString(stateValue)) {\n return [[stateValue]];\n }\n\n var result = flatten(Object.keys(stateValue).map(function (key) {\n var subStateValue = stateValue[key];\n\n if (typeof subStateValue !== 'string' && (!subStateValue || !Object.keys(subStateValue).length)) {\n return [[key]];\n }\n\n return toStatePaths(stateValue[key]).map(function (subPath) {\n return [key].concat(subPath);\n });\n }));\n return result;\n}\nfunction pathsToStateValue(paths) {\n var e_4, _a;\n\n var result = {};\n\n if (paths && paths.length === 1 && paths[0].length === 1) {\n return paths[0][0];\n }\n\n try {\n for (var paths_1 = __values(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {\n var currentPath = paths_1_1.value;\n var marker = result; // tslint:disable-next-line:prefer-for-of\n\n for (var i = 0; i < currentPath.length; i++) {\n var subPath = currentPath[i];\n\n if (i === currentPath.length - 2) {\n marker[subPath] = currentPath[i + 1];\n break;\n }\n\n marker[subPath] = marker[subPath] || {};\n marker = marker[subPath];\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return result;\n}\nfunction flatten(array) {\n var _a;\n\n return (_a = []).concat.apply(_a, __spreadArray([], __read(array), false));\n}\nfunction toArrayStrict(value) {\n if (isArray(value)) {\n return value;\n }\n\n return [value];\n}\nfunction toArray(value) {\n if (value === undefined) {\n return [];\n }\n\n return toArrayStrict(value);\n}\nfunction mapContext(mapper, context, _event) {\n var e_5, _a;\n\n if (isFunction(mapper)) {\n return mapper(context, _event.data);\n }\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(mapper)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var subMapper = mapper[key];\n\n if (isFunction(subMapper)) {\n result[key] = subMapper(context, _event.data);\n } else {\n result[key] = subMapper;\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return result;\n}\nfunction isBuiltInEvent(eventType) {\n return /^(done|error)\\./.test(eventType);\n}\nfunction isPromiseLike(value) {\n if (value instanceof Promise) {\n return true;\n } // Check if shape matches the Promise/A+ specification for a \"thenable\".\n\n\n if (value !== null && (isFunction(value) || typeof value === 'object') && isFunction(value.then)) {\n return true;\n }\n\n return false;\n}\nfunction isBehavior(value) {\n return value !== null && typeof value === 'object' && 'transition' in value && typeof value.transition === 'function';\n}\nfunction partition(items, predicate) {\n var e_6, _a;\n\n var _b = __read([[], []], 2),\n truthy = _b[0],\n falsy = _b[1];\n\n try {\n for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n var item = items_1_1.value;\n\n if (predicate(item)) {\n truthy.push(item);\n } else {\n falsy.push(item);\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n return [truthy, falsy];\n}\nfunction updateHistoryStates(hist, stateValue) {\n return mapValues(hist.states, function (subHist, key) {\n if (!subHist) {\n return undefined;\n }\n\n var subStateValue = (isString(stateValue) ? undefined : stateValue[key]) || (subHist ? subHist.current : undefined);\n\n if (!subStateValue) {\n return undefined;\n }\n\n return {\n current: subStateValue,\n states: updateHistoryStates(subHist, subStateValue)\n };\n });\n}\nfunction updateHistoryValue(hist, stateValue) {\n return {\n current: stateValue,\n states: updateHistoryStates(hist, stateValue)\n };\n}\nfunction updateContext(context, _event, assignActions, state) {\n if (!IS_PRODUCTION) {\n warn(!!context, 'Attempting to update undefined context');\n }\n\n var updatedContext = context ? assignActions.reduce(function (acc, assignAction) {\n var e_7, _a;\n\n var assignment = assignAction.assignment;\n var meta = {\n state: state,\n action: assignAction,\n _event: _event\n };\n var partialUpdate = {};\n\n if (isFunction(assignment)) {\n partialUpdate = assignment(acc, _event.data, meta);\n } else {\n try {\n for (var _b = __values(Object.keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var propAssignment = assignment[key];\n partialUpdate[key] = isFunction(propAssignment) ? propAssignment(acc, _event.data, meta) : propAssignment;\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n\n return Object.assign({}, acc, partialUpdate);\n }, context) : context;\n return updatedContext;\n} // tslint:disable-next-line:no-empty\n\nvar warn = function () {};\n\nif (!IS_PRODUCTION) {\n warn = function (condition, message) {\n var error = condition instanceof Error ? condition : undefined;\n\n if (!error && condition) {\n return;\n }\n\n if (console !== undefined) {\n var args = [\"Warning: \".concat(message)];\n\n if (error) {\n args.push(error);\n } // tslint:disable-next-line:no-console\n\n\n console.warn.apply(console, args);\n }\n };\n}\nfunction isArray(value) {\n return Array.isArray(value);\n} // tslint:disable-next-line:ban-types\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction toGuard(condition, guardMap) {\n if (!condition) {\n return undefined;\n }\n\n if (isString(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition,\n predicate: guardMap ? guardMap[condition] : undefined\n };\n }\n\n if (isFunction(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition.name,\n predicate: condition\n };\n }\n\n return condition;\n}\nfunction isObservable(value) {\n try {\n return 'subscribe' in value && isFunction(value.subscribe);\n } catch (e) {\n return false;\n }\n}\nvar symbolObservable = /*#__PURE__*/function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n}(); // TODO: to be removed in v5, left it out just to minimize the scope of the change and maintain compatibility with older versions of integration paackages\n\nvar interopSymbols = (_a = {}, _a[symbolObservable] = function () {\n return this;\n}, _a[Symbol.observable] = function () {\n return this;\n}, _a);\nfunction isMachine(value) {\n return !!value && '__xstatenode' in value;\n}\nfunction isActor(value) {\n return !!value && typeof value.send === 'function';\n}\nvar uniqueId = /*#__PURE__*/function () {\n var currentId = 0;\n return function () {\n currentId++;\n return currentId.toString(16);\n };\n}();\nfunction toEventObject(event, payload // id?: TEvent['type']\n) {\n if (isString(event) || typeof event === 'number') {\n return __assign({\n type: event\n }, payload);\n }\n\n return event;\n}\nfunction toSCXMLEvent(event, scxmlEvent) {\n if (!isString(event) && '$$type' in event && event.$$type === 'scxml') {\n return event;\n }\n\n var eventObject = toEventObject(event);\n return __assign({\n name: eventObject.type,\n data: eventObject,\n $$type: 'scxml',\n type: 'external'\n }, scxmlEvent);\n}\nfunction toTransitionConfigArray(event, configLike) {\n var transitions = toArrayStrict(configLike).map(function (transitionLike) {\n if (typeof transitionLike === 'undefined' || typeof transitionLike === 'string' || isMachine(transitionLike)) {\n return {\n target: transitionLike,\n event: event\n };\n }\n\n return __assign(__assign({}, transitionLike), {\n event: event\n });\n });\n return transitions;\n}\nfunction normalizeTarget(target) {\n if (target === undefined || target === TARGETLESS_KEY) {\n return undefined;\n }\n\n return toArray(target);\n}\nfunction reportUnhandledExceptionOnInvocation(originalError, currentError, id) {\n if (!IS_PRODUCTION) {\n var originalStackTrace = originalError.stack ? \" Stacktrace was '\".concat(originalError.stack, \"'\") : '';\n\n if (originalError === currentError) {\n // tslint:disable-next-line:no-console\n console.error(\"Missing onError handler for invocation '\".concat(id, \"', error was '\").concat(originalError, \"'.\").concat(originalStackTrace));\n } else {\n var stackTrace = currentError.stack ? \" Stacktrace was '\".concat(currentError.stack, \"'\") : ''; // tslint:disable-next-line:no-console\n\n console.error(\"Missing onError handler and/or unhandled exception/promise rejection for invocation '\".concat(id, \"'. \") + \"Original error: '\".concat(originalError, \"'. \").concat(originalStackTrace, \" Current error is '\").concat(currentError, \"'.\").concat(stackTrace));\n }\n }\n}\nfunction evaluateGuard(machine, guard, context, _event, state) {\n var guards = machine.options.guards;\n var guardMeta = {\n state: state,\n cond: guard,\n _event: _event\n }; // TODO: do not hardcode!\n\n if (guard.type === DEFAULT_GUARD_TYPE) {\n return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);\n }\n\n var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];\n\n if (!condFn) {\n throw new Error(\"Guard '\".concat(guard.type, \"' is not implemented on machine '\").concat(machine.id, \"'.\"));\n }\n\n return condFn(context, _event.data, guardMeta);\n}\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n return {\n type: src\n };\n }\n\n return src;\n}\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n var noop = function () {};\n\n var isObserver = typeof nextHandler === 'object';\n var self = isObserver ? nextHandler : null;\n return {\n next: ((isObserver ? nextHandler.next : nextHandler) || noop).bind(self),\n error: ((isObserver ? nextHandler.error : errorHandler) || noop).bind(self),\n complete: ((isObserver ? nextHandler.complete : completionHandler) || noop).bind(self)\n };\n}\nfunction createInvokeId(stateNodeId, index) {\n return \"\".concat(stateNodeId, \":invocation[\").concat(index, \"]\");\n}\n\nexport { createInvokeId, evaluateGuard, flatten, getActionType, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isStateLike, isString, keys, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, pathsToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };\n","import React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement, useState, useCallback } from 'react';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const constructor = arg && arg.constructor;\n const isDate = constructor == Date;\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (constructor == Array) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || 'Deno' in window;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nconst FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nvar constants = {\n __proto__: null,\n ERROR_REVALIDATE_EVENT: ERROR_REVALIDATE_EVENT,\n FOCUS_EVENT: FOCUS_EVENT,\n MUTATE_EVENT: MUTATE_EVENT,\n RECONNECT_EVENT: RECONNECT_EVENT\n};\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const revalidate = options.revalidate !== false;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const revalidators = EVENT_REVALIDATORS[key];\n const startRevalidate = ()=>{\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n data = committedData;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n data = populateCache(data, committedData);\n }\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n const res = await startRevalidate();\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return populateCache ? res : data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = {};\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = {};\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n {},\n {},\n {},\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = (currentData, newData)=>stableHash(currentData) == stableHash(newData);\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1 , fallback: f1 } = a;\n const { use: u2 , fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n/**\n * An implementation of state with dependency-tracking.\n */ const useStateWithDeps = (state)=>{\n const rerender = useState({})[1];\n const unmountedRef = useRef(false);\n const stateRef = useRef(state);\n // If a state property (data, error, or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n const stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */ const setState = useCallback((payload)=>{\n let shouldRerender = false;\n const currentState = stateRef.current;\n for(const _ in payload){\n const k = _;\n // If the property has changed, update the state and mark rerender as\n // needed.\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k];\n // If the property is accessed by the component, a rerender should be\n // triggered.\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n if (shouldRerender && !unmountedRef.current) {\n if (IS_REACT_LEGACY) {\n rerender({});\n } else {\n React.startTransition(()=>rerender({}));\n }\n }\n }, [\n rerender\n ]);\n useIsomorphicLayoutEffect(()=>{\n unmountedRef.current = false;\n return ()=>{\n unmountedRef.current = true;\n };\n });\n return [\n stateRef,\n stateDependenciesRef.current,\n setState\n ];\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { IS_REACT_LEGACY, IS_SERVER, OBJECT, SWRConfig, SWRGlobalState, UNDEFINED, cache, compare, createCacheHelper, defaultConfig, defaultConfigOptions, getTimestamp, hasRequestAnimationFrame, initCache, internalMutate, isDocumentDefined, isFunction, isPromiseLike, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, mutate, noop, normalize, preload, preset, rAF, constants as revalidateEvents, serialize, slowConnection, stableHash, subscribeCallback, useIsomorphicLayoutEffect, useSWRConfig, useStateWithDeps, withArgs, withMiddleware };\n","import ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { serialize, OBJECT, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from 'swr/_internal';\nexport { mutate, preload, useSWRConfig } from 'swr/_internal';\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// \nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache , compare , suspense , fallbackData , revalidateOnMount , revalidateIfStale , refreshInterval , refreshWhenHidden , refreshWhenOffline , keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nconst SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error } = useSWR('/api/user', fetcher)\n * if (error) return
failed to load
\n * if (!data) return
loading...
\n * return
hello {data.name}!
\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\n// useSWR\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n"],"names":["useSpawn","behavior","useConstant","isActorWithState","actorRef","defaultGetSnapshot","getSnapshot","state","undefined","useActor","actorRefRef","useRef","deferredEventsRef","subscribe","useCallback","handleStoreChange","unsubscribe","boundGetSnapshot","storeSnapshot","useSyncExternalStore","send","args","_i","arguments","length","event","currentActorRef","current","isDeferredActor","deferred","push","deferredEvent","shift","fn","ref","v","__assign","Object","assign","t","s","i","n","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__read","o","m","Symbol","iterator","r","ar","next","done","value","error","useIdleInterpreter","getMachine","options","machine","context","guards","actions","activities","services","delays","interpreterOptions","service","machineConfig","machineWithConfig","withConfig","useInterpret","_a","_b","_c","observerOrListener","useEffect","sub","rehydratedState","start","create","stop","status","NotStarted","identity","a","useMachine","initialState","isEqual","prevState","nextState","initialStateChanged","changed","keys","children","useSyncExternalStoreWithSelector","defaultCompare","b","initialStateCacheRef","actor","snapshot","useSelector","selector","compare","getServiceSnapshot","is","x","y","shallowEqual","objA","objB","keysA","keysB","$","defaults","url","values","method","target","traditional","redirectTop","shouldKeepBlankFields","redirect","opts","config","extend","generatedForm","getForm","window","top","document","append","form","submit","remove","toUpperCase","hash","split","obj","parseUrl","params","removeNulls","attr","iterateValues","pair","parts","elems","parent","isArray","iterateParent","forEach","slice","Array","name","array","parentString","getInput","propNames","getOwnPropertyNames","propName","jQuery","Zepto","jqlite","global","glbl","setTimeout","clearTimeout","setInterval","clearInterval","Date","setImmediate","clearImmediate","NOOP","timeoutResult","addTimerReturnsObject","NativeDate","uniqueTimerId","parseTime","str","parsed","strings","l","ms","test","Error","parseInt","Math","pow","getEpoch","epoch","getTime","TypeError","inRange","from","to","timer","callAt","mirrorDateProperties","source","prop","now","clock","toSource","toString","parse","UTC","toUTCString","createDate","ClockDate","year","month","date","hour","minute","second","addTimer","func","timers","id","createdAt","delay","duringTick","unref","compareTimers","immediate","firstTimerInRange","callTimer","exception","interval","eval","timerType","clearTimer","timerId","ttype","uninstall","methods","hadOwnProperty","ignore","hijackMethod","key","ks","createClock","timeouts","timeout","tick","oldNow","firstException","tickFrom","tickTo","previous","reset","setSystemTime","newNow","difference","exports","install","toFake","g","safeActiveElement","doc","activeElement","nodeName","body","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_extends","defaultProps","tag","renderChildren","loader","_ref","ariaLabel","className","BlockUi$1","_Component","BlockUi","instance","classCallCheck","_this","self","ReferenceError","possibleConstructorReturn","__proto__","getPrototypeOf","tabbedUpTop","bind","tabbedDownTop","tabbedUpBottom","tabbedDownBottom","setHelper","setRef","setBlocker","setTopFocus","setContainer","setMessageContainer","handleScroll","subClass","superClass","constructor","setPrototypeOf","inherits","nextProps","_this2","blocking","helper","parentNode","contains","focused","blur","detachListeners","ae","topFocus","focus","keepInView","attachListeners","addEventListener","removeEventListener","withShift","keyCode","shiftKey","blockingTab","blocker","preventDefault","container","containerBounds","getBoundingClientRect","windowHeight","innerHeight","bottom","setState","messageBoundsHeight","messageContainer","height","max","min","_props","Tag","message","Loader$$1","_props$ariaLabel","attributes","objectWithoutProperties","classes","renderChilds","tabIndex","onKeyUp","onKeyDown","style","Component","_interopRequireDefault","__esModule","_extends2","_objectWithoutPropertiesLoose2","_inheritsLoose2","_classnames","_react","_InputGroupAddon","_InputGroupButton","_bootstrapUtils","_StyleConfig","InputGroup","_React$Component","default","render","_this$props","_splitBsProps","splitBsProps","bsProps","elementProps","getClassSet","createElement","Addon","Button","_default","bsClass","bsSizes","Size","LARGE","SMALL","module","InputGroupAddon","InputGroupButton","Style","State","DEVICE_SIZES","SIZE_MAP","XSMALL","large","medium","small","xsmall","lg","md","sm","xs","SUCCESS","WARNING","DANGER","INFO","DEFAULT","PRIMARY","LINK","INVERSE","prefix","_classes","bsSize","bsStyle","_entries","propValue","isBsProp","getBsProps","splitBsPropsAndOmit","omittedPropNames","isOmittedProp","_ref2","addStyle","_len2","styleVariant","_key2","bsStyles","_curry","_propTypes","curry","_len","_key","concat","variant","trim","invariant","defaultClass","propTypes","string","styles","defaultStyle","existing","STYLES","propType","oneOf","_values","sizes","defaultSize","SIZES","size","mappedSize","bsRole","getChildMapping","mapFn","result","Children","map","c","child","isValidElement","mapper","getProp","getNextChildMapping","prevChildMapping","onExited","nextChildMapping","prev","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","hasNext","prevChild","isLeaving","in","cloneElement","exit","enter","k","TransitionGroup","handleExited","contextValue","isMounting","firstRender","_proto","componentDidMount","mounted","componentWillUnmount","getDerivedStateFromProps","appear","node","currentChildMapping","component","childFactory","TransitionGroupContext","Provider","react_1","useRefState","blockIfUnmounted","useMounted","useState","reactState","setReactState","arg","HTTPMethod","CachePolicies","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","then","__generator","f","_","label","sent","trys","ops","verb","op","pop","__spreadArrays","il","j","jl","condition","format","d","args_1","argIndex_1","replace","Device","isObject","isBodyObject","isFunction","pullOutRequestInit","reduce","acc","isEmpty","Browser","Server","Native","canUseDOM","device","navigator","product","isServer","tryGetData","res","defaultData","responseType","types","data","tryRetry","error_1","clone","responseFields","responseMethods","responseKeys","toResponseObject","field","includes","get","response","Response","serializeResponse","statusText","headers","text","headersAsObject","useDeepCallback","cb","deps","JSON","stringify","useDeepCompareMemoize","sleep","isPositiveNumber","Number","isInteger","makeError","addSlash","input","endsWith","startsWith","substr","createContext","graphql","useFetchArgsDefaults","host","path","customOptions","cacheLife","cachePolicy","CACHE_FIRST","interceptors","onAbort","onError","onNewData","currData","newData","onTimeout","perPage","persist","retries","retryDelay","retryOn","suspense","loading","requestInit","Accept","dependencies","entries","useFetchArgs","urlOrPathOrOptionsOrOverwriteGlobalOptions","optionsOrOverwriteGlobalOrDeps","useContext","useMemo","maybeHost","maybePath","overwriteGlobalOptions","localOptions","globalOptions","finalOptions","every","final","request","GET","doFetchArgs","initialOptions","controller","cache","routeOrBody","bodyAs2ndParam","requestInterceptor","route","responseID","toLowerCase","URLSearchParams","FormData","contentType","shouldAddContentType","POST","PUT","PATCH","signal","join","has","isCached","cached","cacheName","getCache","localStorage","getItem","err","removeItem","responseIDs","setItem","isExpired","expiration","expired","Headers","set","_d","delete","clear","inMemoryStorage","responseIDs_1","NETWORK_ONLY","NO_CACHE","isNative","timedout","attempt","hasMore","suspenseStatus","suspender","setLoading","forceUpdate","useReducer","makeFetch","doFetch","theController","newRes","_e","err_1","_f","_g","_h","AbortController","onabort","abort","fetch","ok","retry","console","post","del","DELETE","patch","put","OPTIONS","head","HEAD","connect","CONNECT","trace","TRACE","query","variables","mutate","mutation","methodLower","req","isBrowser","location","origin","index","useLayoutEffect","SSRObject","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","toArrayObject","useSSRObject","weAreServer","useSSR","useDebugValue","u","inst","h","q","w","hasValue","createNullActor","toJSON","createInvocableActor","invokeDefinition","_event","invokeSrc","src","serviceCreator","type","resolvedData","tempActor","createDeferredActor","meta","entity","initialState_1","withContext","isSpawnedActor","item","isActor","toActorRef","actorRefLike","warned","Machine","initialContext","createMachine","predictableActionArguments","warn","stateValuesEqual","aKeys","bKeys","isStateConfig","bindActionToState","action","exec","events","_sessionid","historyValue","history","configuration","matches","toStrings","transitions","tags","Set","stateValue","initEvent","inert","delimiter","valueKeys","jsonValues","parentStateValue","hasTag","can","transitionData","getTransitionData","some","toInvokeSource","simpleSrc","toInvokeDefinition","invokeConfig","invoke","onDone","invokeDef","NULL_EVENT","WILDCARD","EMPTY_OBJECT","isStateId","StateNode","_context","_stateInfo","order","__xstatenode","__cache","relativeValue","Map","initialStateValue","on","candidates","delayedTransitions","idMap","version","parallel","states","schema","description","initial","stateConfig","stateNode","dfs","e_1","e_1_1","return","_transient","always","strict","onEntry","entry","toActionObject","onExit","doneData","invokeId","invokeSource","activity","toActivityDefinition","transition","_init","definition","eventType","getDelayedTransitions","formatTransitions","getCandidates","eventName","transient","filter","sameEventType","afterConfig","after","mutateEntryExit","delayRef","cancel","configTransition","resolvedTransition","resolvedDelay","isNaN","delayedTransition","formatTransition","getStateNodes","getStateNode","subStateKeys","subStateNodes","subStateKey","handles","resolveState","stateFromConfig","transitionLeafNode","transitionCompoundNode","_transition","transitionParallelNode","e_2","transitionMap","subStateValue","e_2_1","stateTransitions","enabledTransitions","st","entryNodes","entrySet","exitSet","e_3","selectedTransition","nextStateNodes","candidate","cond","stateIn","resolvedContext","isInState","getStateNodeById","guardPassed","e_3_1","allNextStateNodes","getRelativeStateNodes","isInternal","internal","reentryNodes","targetNode","getExternalReentryNodes","nodes","marker","possibleAncestor","getActions","resolvedConfig","isDone","currentContext","predictableExec","e_4","e_5","prevConfig","resolvedConfig_1","resolvedConfig_1_1","sn","e_4_1","prevConfig_1","prevConfig_1_1","e_5_1","doneEvents","grandparent","sort","entryStates","exitStates","entryActions","invokeActions","toActionObjects","raise","stopActions","Internal","currentState","resolvedStateValue","getResolvedPath","stateTransition","resolveTransition","resolveRaisedTransition","originalEvent","currentActions","unshift","e_6","e_7","willTransition","resolvedConfiguration","actionBlocks","actionBlocks_1","actionBlocks_1_1","block","block_1","block_1_1","e_7_1","e_6_1","resolveActions","preserveActionOrder","resolvedActions","updatedContext","raisedEvents","nonRaisedActions","didUpdateContext","update","hasAlwaysTransitions","maybeNextState","nullEvent","raisedEvent","stateKey","stateId","resolvedStateId","STATE_IDENTIFIER","getStateNodeByPath","statePath","arrayStatePath","currentStateNode","subStateNode","stateIdentifier","getInitialState","historyConfig","relativeStateId","resolveHistory","initialStateNodes","initialStateNodePaths","initialPath","getFromRelativePath","relativePath","childStatePath","childStateNode","relativeStateValue","historyTarget","relativeChildPath","subHistoryValue","subStatePath","childStateIds","stateIds","e_8","e_9","ownEvents","event_1","add","e_9_1","e_8_1","resolveTarget","_target","isInternalTarget","resolvedTarget","transitionConfig","normalizedTarget","e_10","onConfig","wildcardConfigs","strictTransitionConfigs_1","transitionConfigArray","hasNonLastUnguardedTarget","eventText","validateArrayifiedTransitions","eventlessConfig","doneConfig","String","settleTransitions","doneInvoke","formattedTransitions","delayedTransitions_1","delayedTransitions_1_1","e_10_1","__values","__spreadArray","pack","Start","Stop","Raise","Send","Cancel","NullEvent","Assign","After","doneState","DoneState","log","Log","init","Init","Invoke","errorExecution","ErrorExecution","errorPlatform","ErrorPlatform","ErrorCustom","Update","choose","Choose","pure","Pure","getActionFunction","actionType","actionFunctionMap","actionObject","subAction","resolveRaise","resolveSend","ctx","delaysMap","resolvedEvent","configDelay","sendParent","Parent","sendTo","sendUpdate","respond","__","defaultLogExpr","expr","resolveLog","sendId","activityDef","resolveStop","actorRefOrString","resolvedActorRef","assignment","isActionObject","idSuffix","eventObject","DoneInvoke","forwardTo","originalTarget_1","escalate","errorData","conds","pluckAssigns","assignActions","splice","preservedContexts","deferredToBlockEnd","handleAction","sendAction","resolved","matchedActions","find","guard","resolvedActionsFromChoose","resolvedContextFromChoose","resolvedActionsFromPure","resolvedActionObject","exec_1","contextIndex_1","_ctx","spawnBehavior","observers","mailbox","flushing","actorCtx","observer","flush","handleError","complete","STATE_DELIMITER","EMPTY_ACTIVITY_MAP","DEFAULT_GUARD_TYPE","TARGETLESS_KEY","IS_PRODUCTION","mapState","stateMap","foundStateId","mappedStateId","matchState","patterns","defaultValue","resolvedState","patterns_1","patterns_1_1","getValue","createSchema","defaultOptions","deferEvents","Scheduler","processingEvent","queue","initialized","initialize","callback","schedule","process","flushEvents","task","nextCallback","sessionIdIndex","registry","getGlobal","globalThis","registerService","devTools","__xstate__","getDevTools","register","InterpreterStatus","DEFAULT_SPAWN_OPTIONS","sync","autoForward","Interpreter","delayedEventsMap","listeners","contextListeners","stopListeners","doneListeners","eventListeners","sendListeners","_outgoingQueue","payload","batch","Stopped","Running","scheduler","forward","_nextState","_state","isParent","scxmlEvent","sessionId","_exec","actionOrExec","defer","spawn","spawnActivity","stopChild","logger","resolvedOptions","resolvedId","_initialState","execute","actionsConfig","listener","_j","_k","contextListener","finalChildStateNode","_l","_m","_stop","_stopChildren","onTransition","nextListenerOrObserver","completeListener","completeOnce","onStop","onEvent","onSend","onChange","off","attachDev","_o","_p","_q","exitActions","newState","e_11","batchChanged","batchedActions","_loop_1","events_1","events_1_1","e_11_1","sender","nextEvents","nextEvent","e_12","e_12_1","removeChild","childId","spawnPromise","spawnCallback","spawnActor","spawnObservable","spawnMachine","childService","doneEvent","promise","canceled","errorEvent","unsubscribed","emitted","callbackStop","receivers","newListener","receiver","subscription","implementation","dispose","spawnEffect","__REDUX_DEVTOOLS_EXTENSION__","devToolsOptions","autoPause","stateSanitizer","features","jump","skip","interpret","resolveSpawnOptions","nameOrOptions","isLazyEntity","serviceStack","provide","consume","isLeafNode","getAllChildren","getChildren","getAllStateNodes","stateNodes","getConfiguration","prevStateNodes","prevAdjList","getAdjList","configuration_1","configuration_1_1","adjList","configuration_2","configuration_2_1","configuration_3","configuration_3_1","getValueFromAdj","baseNode","childStateNodes","csn","configuration_4","configuration_4_1","rootNode","iterable","member","isInFinalState","getMeta","getTagsFromConfiguration","ActionTypes","SpecialTargets","matchesState","parentStateId","childStateId","toStateValue","childStateValue","isString","getEventType","toStatePath","pathToStateValue","mapValues","collection","iteratee","collectionKeys","mapFilterValues","predicate","object","props_1","props_1_1","nestedPath","accessorProp","props_2","props_2_1","toStatePaths","flatten","subPath","toArrayStrict","toArray","mapContext","subMapper","isBuiltInEvent","isPromiseLike","isBehavior","partition","items","truthy","falsy","items_1","items_1_1","updateHistoryStates","hist","subHist","updateHistoryValue","updateContext","assignAction","partialUpdate","propAssignment","toGuard","guardMap","isObservable","symbolObservable","observable","isMachine","uniqueId","currentId","toEventObject","toSCXMLEvent","$$type","toTransitionConfigArray","configLike","transitionLike","normalizeTarget","reportUnhandledExceptionOnInvocation","originalError","currentError","originalStackTrace","stack","stackTrace","evaluateGuard","guardMeta","condFn","toObserver","nextHandler","errorHandler","completionHandler","noop","isObserver","createInvokeId","stateNodeId","UNDEFINED","OBJECT","isUndefined","mergeObjects","table","WeakMap","counter","stableHash","isDate","RegExp","SWRGlobalState","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","createCacheHelper","info","online","onWindowEvent","offWindowEvent","preset","isOnline","isVisible","visibilityState","defaultConfigOptions","initFocus","initReconnect","onOnline","onOffline","IS_REACT_LEGACY","useId","IS_SERVER","rAF","useIsomorphicLayoutEffect","navigatorConnection","connection","slowConnection","effectiveType","saveData","__timestamp","getTimestamp","constants","async","internalMutate","_data","_opts","populateCache","throwOnError","revalidate","rollbackOnErrorOption","rollbackOnError","optimisticData","keyFilter","matchedKeys","it","all","mutateByKey","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","revalidators","startRevalidate","beforeMutationTs","hasOptimisticData","displayedData","currentData","committedData","catch","revalidateAllKeys","initCache","provider","unmount","subscriptions","subs","setter","initProvider","releaseFocus","releaseReconnect","defaultConfig","onLoadingSlow","onSuccess","onErrorRetry","maxRetryCount","errorRetryCount","currentRetryCount","retryCount","random","errorRetryInterval","onDiscarded","revalidateOnFocus","revalidateOnReconnect","revalidateIfStale","shouldRetryOnError","focusThrottleInterval","dedupingInterval","loadingTimeout","isPaused","fallback","mergeConfigs","use","u1","f1","u2","f2","SWRConfigContext","enableDevtools","__SWR_DEVTOOLS_USE__","normalize","BUILT_IN_MIDDLEWARE","useSWRNext","key_","fetcher_","__SWR_DEVTOOLS_REACT__","reason","WITH_DEDUPE","dedupe","useSWR","parentConfig","isFunctionalConfig","extendedConfig","cacheContextRef","cacheContext","hook","fetcher","fallbackData","revalidateOnMount","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","fnArg","initialMountedRef","unmountedRef","keyRef","fetcherRef","configRef","getConfig","isActive","setCache","subscribeCache","getInitialCache","stateDependencies","returnedData","shouldStartRequest","getSelectedCache","isValidating","isLoading","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","revalidateOpts","currentFetcher","startAt","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","mutationInfo","cacheData","currentConfig","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","callbacks","keyedRevalidators","subscribeCallback","fallbackConfig","_config","middleware"],"sourceRoot":""}