coaction 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"coaction.umd.min.js","sources":["../../../node_modules/mutative/dist/mutative.esm.mjs","../src/global.ts","../src/constant.ts","../../../node_modules/data-transport/dist/index.cjs.js","../../../node_modules/data-transport/dist/index.cjs.development.js","../../../node_modules/data-transport/lib/index.js","../src/asyncClientStore.ts","../src/utils.ts","../src/computed.ts","../src/getRawState.ts","../src/handleState.ts","../src/wrapStore.ts","../src/create.ts","../src/applyMiddlewares.ts","../src/getInitialState.ts","../src/handleMainTransport.ts","../src/binder.ts"],"sourcesContent":["const Operation = {\n Remove: 'remove',\n Replace: 'replace',\n Add: 'add',\n};\n\n// Don't use `Symbol()` just for 3rd party access the draft\nconst PROXY_DRAFT = Symbol.for('__MUTATIVE_PROXY_DRAFT__');\nconst RAW_RETURN_SYMBOL = Symbol('__MUTATIVE_RAW_RETURN_SYMBOL__');\nconst iteratorSymbol = Symbol.iterator;\nconst dataTypes = {\n mutable: 'mutable',\n immutable: 'immutable',\n};\n\nconst internal = {};\n\nfunction has(target, key) {\n return target instanceof Map\n ? target.has(key)\n : Object.prototype.hasOwnProperty.call(target, key);\n}\nfunction getDescriptor(target, key) {\n if (key in target) {\n let prototype = Reflect.getPrototypeOf(target);\n while (prototype) {\n const descriptor = Reflect.getOwnPropertyDescriptor(prototype, key);\n if (descriptor)\n return descriptor;\n prototype = Reflect.getPrototypeOf(prototype);\n }\n }\n return;\n}\nfunction isBaseSetInstance(obj) {\n return Object.getPrototypeOf(obj) === Set.prototype;\n}\nfunction isBaseMapInstance(obj) {\n return Object.getPrototypeOf(obj) === Map.prototype;\n}\n\nfunction latest(proxyDraft) {\n var _a;\n return (_a = proxyDraft.copy) !== null && _a !== void 0 ? _a : proxyDraft.original;\n}\n/**\n * Check if the value is a draft\n */\nfunction isDraft(target) {\n return !!getProxyDraft(target);\n}\nfunction getProxyDraft(value) {\n if (typeof value !== 'object')\n return null;\n return value === null || value === void 0 ? void 0 : value[PROXY_DRAFT];\n}\nfunction getValue(value) {\n var _a;\n const proxyDraft = getProxyDraft(value);\n return proxyDraft ? (_a = proxyDraft.copy) !== null && _a !== void 0 ? _a : proxyDraft.original : value;\n}\n/**\n * Check if a value is draftable\n */\nfunction isDraftable(value, options) {\n if (!value || typeof value !== 'object')\n return false;\n let markResult;\n return (Object.getPrototypeOf(value) === Object.prototype ||\n Array.isArray(value) ||\n value instanceof Map ||\n value instanceof Set ||\n (!!(options === null || options === void 0 ? void 0 : options.mark) &&\n ((markResult = options.mark(value, dataTypes)) === dataTypes.immutable ||\n typeof markResult === 'function')));\n}\nfunction getPath(target, path = []) {\n if (Object.hasOwnProperty.call(target, 'key')) {\n // check if the parent is a draft and the original value is not equal to the current value\n const parentCopy = target.parent.copy;\n const proxyDraft = getProxyDraft(get(parentCopy, target.key));\n if (proxyDraft !== null && (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== target.original) {\n return null;\n }\n const isSet = target.parent.type === 3 /* DraftType.Set */;\n const key = isSet\n ? Array.from(target.parent.setMap.keys()).indexOf(target.key)\n : target.key;\n // check if the key is still in the next state parent\n if (!((isSet && parentCopy.size > key) || has(parentCopy, key)))\n return null;\n path.push(key);\n }\n if (target.parent) {\n return getPath(target.parent, path);\n }\n // `target` is root draft.\n path.reverse();\n try {\n // check if the path is valid\n resolvePath(target.copy, path);\n }\n catch (e) {\n return null;\n }\n return path;\n}\nfunction getType(target) {\n if (Array.isArray(target))\n return 1 /* DraftType.Array */;\n if (target instanceof Map)\n return 2 /* DraftType.Map */;\n if (target instanceof Set)\n return 3 /* DraftType.Set */;\n return 0 /* DraftType.Object */;\n}\nfunction get(target, key) {\n return getType(target) === 2 /* DraftType.Map */ ? target.get(key) : target[key];\n}\nfunction set(target, key, value) {\n const type = getType(target);\n if (type === 2 /* DraftType.Map */) {\n target.set(key, value);\n }\n else {\n target[key] = value;\n }\n}\nfunction peek(target, key) {\n const state = getProxyDraft(target);\n const source = state ? latest(state) : target;\n return source[key];\n}\nfunction isEqual(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n }\n else {\n return x !== x && y !== y;\n }\n}\nfunction revokeProxy(proxyDraft) {\n if (!proxyDraft)\n return;\n while (proxyDraft.finalities.revoke.length > 0) {\n const revoke = proxyDraft.finalities.revoke.pop();\n revoke();\n }\n}\n// handle JSON Pointer path with spec https://www.rfc-editor.org/rfc/rfc6901\nfunction escapePath(path, pathAsArray) {\n return pathAsArray\n ? path\n : ['']\n .concat(path)\n .map((_item) => {\n const item = `${_item}`;\n if (item.indexOf('/') === -1 && item.indexOf('~') === -1)\n return item;\n return item.replace(/~/g, '~0').replace(/\\//g, '~1');\n })\n .join('/');\n}\nfunction unescapePath(path) {\n if (Array.isArray(path))\n return path;\n return path\n .split('/')\n .map((_item) => _item.replace(/~1/g, '/').replace(/~0/g, '~'))\n .slice(1);\n}\nfunction resolvePath(base, path) {\n for (let index = 0; index < path.length - 1; index += 1) {\n const key = path[index];\n // use `index` in Set draft\n base = get(getType(base) === 3 /* DraftType.Set */ ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot resolve patch at '${path.join('/')}'.`);\n }\n }\n return base;\n}\n\nfunction strictCopy(target) {\n const copy = Object.create(Object.getPrototypeOf(target));\n Reflect.ownKeys(target).forEach((key) => {\n let desc = Reflect.getOwnPropertyDescriptor(target, key);\n if (desc.enumerable && desc.configurable && desc.writable) {\n copy[key] = target[key];\n return;\n }\n // for freeze\n if (!desc.writable) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n desc = {\n configurable: true,\n writable: true,\n enumerable: desc.enumerable,\n value: target[key],\n };\n Reflect.defineProperty(copy, key, desc);\n });\n return copy;\n}\nconst propIsEnum = Object.prototype.propertyIsEnumerable;\nfunction shallowCopy(original, options) {\n let markResult;\n if (Array.isArray(original)) {\n return Array.prototype.concat.call(original);\n }\n else if (original instanceof Set) {\n if (!isBaseSetInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original.values());\n }\n return Set.prototype.difference\n ? Set.prototype.difference.call(original, new Set())\n : new Set(original.values());\n }\n else if (original instanceof Map) {\n if (!isBaseMapInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original);\n }\n return new Map(original);\n }\n else if ((options === null || options === void 0 ? void 0 : options.mark) &&\n ((markResult = options.mark(original, dataTypes)),\n markResult !== undefined) &&\n markResult !== dataTypes.mutable) {\n if (markResult === dataTypes.immutable) {\n return strictCopy(original);\n }\n else if (typeof markResult === 'function') {\n if ((options.enablePatches || options.enableAutoFreeze)) {\n throw new Error(`You can't use mark and patches or auto freeze together.`);\n }\n return markResult();\n }\n throw new Error(`Unsupported mark result: ${markResult}`);\n }\n else if (typeof original === 'object' &&\n Object.getPrototypeOf(original) === Object.prototype) {\n // For best performance with shallow copies,\n // don't use `Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));` by default.\n const copy = {};\n Object.keys(original).forEach((key) => {\n copy[key] = original[key];\n });\n Object.getOwnPropertySymbols(original).forEach((key) => {\n if (propIsEnum.call(original, key)) {\n copy[key] = original[key];\n }\n });\n return copy;\n }\n else {\n throw new Error(`Please check mark() to ensure that it is a stable marker draftable function.`);\n }\n}\nfunction ensureShallowCopy(target) {\n if (target.copy)\n return;\n target.copy = shallowCopy(target.original, target.options);\n}\nfunction deepClone(target) {\n if (!isDraftable(target))\n return getValue(target);\n if (Array.isArray(target))\n return target.map(deepClone);\n if (target instanceof Map) {\n const iterable = Array.from(target.entries()).map(([k, v]) => [\n k,\n deepClone(v),\n ]);\n if (!isBaseMapInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Map(iterable);\n }\n if (target instanceof Set) {\n const iterable = Array.from(target).map(deepClone);\n if (!isBaseSetInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Set(iterable);\n }\n const copy = Object.create(Object.getPrototypeOf(target));\n for (const key in target)\n copy[key] = deepClone(target[key]);\n return copy;\n}\nfunction cloneIfNeeded(target) {\n return isDraft(target) ? deepClone(target) : target;\n}\n\nfunction markChanged(proxyDraft) {\n var _a;\n proxyDraft.assignedMap = (_a = proxyDraft.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n if (!proxyDraft.operated) {\n proxyDraft.operated = true;\n if (proxyDraft.parent) {\n markChanged(proxyDraft.parent);\n }\n }\n}\n\nfunction throwFrozenError() {\n throw new Error('Cannot modify frozen object');\n}\nfunction deepFreeze(target, subKey, updatedValues, stack, keys) {\n {\n updatedValues = updatedValues !== null && updatedValues !== void 0 ? updatedValues : new WeakMap();\n stack = stack !== null && stack !== void 0 ? stack : [];\n keys = keys !== null && keys !== void 0 ? keys : [];\n const value = updatedValues.has(target)\n ? updatedValues.get(target)\n : target;\n if (stack.length > 0) {\n const index = stack.indexOf(value);\n if (value && typeof value === 'object' && index !== -1) {\n if (stack[0] === value) {\n throw new Error(`Forbids circular reference`);\n }\n throw new Error(`Forbids circular reference: ~/${keys\n .slice(0, index)\n .map((key, index) => {\n if (typeof key === 'symbol')\n return `[${key.toString()}]`;\n const parent = stack[index];\n if (typeof key === 'object' &&\n (parent instanceof Map || parent instanceof Set))\n return Array.from(parent.keys()).indexOf(key);\n return key;\n })\n .join('/')}`);\n }\n stack.push(value);\n keys.push(subKey);\n }\n else {\n stack.push(value);\n }\n }\n if (Object.isFrozen(target) || isDraft(target)) {\n {\n stack.pop();\n keys.pop();\n }\n return;\n }\n const type = getType(target);\n switch (type) {\n case 2 /* DraftType.Map */:\n for (const [key, value] of target) {\n deepFreeze(key, key, updatedValues, stack, keys);\n deepFreeze(value, key, updatedValues, stack, keys);\n }\n target.set = target.clear = target.delete = throwFrozenError;\n break;\n case 3 /* DraftType.Set */:\n for (const value of target) {\n deepFreeze(value, value, updatedValues, stack, keys);\n }\n target.add = target.clear = target.delete = throwFrozenError;\n break;\n case 1 /* DraftType.Array */:\n Object.freeze(target);\n let index = 0;\n for (const value of target) {\n deepFreeze(value, index, updatedValues, stack, keys);\n index += 1;\n }\n break;\n default:\n Object.freeze(target);\n // ignore non-enumerable or symbol properties\n Object.keys(target).forEach((name) => {\n const value = target[name];\n deepFreeze(value, name, updatedValues, stack, keys);\n });\n }\n {\n stack.pop();\n keys.pop();\n }\n}\n\nfunction forEach(target, iter) {\n const type = getType(target);\n if (type === 0 /* DraftType.Object */) {\n Reflect.ownKeys(target).forEach((key) => {\n iter(key, target[key], target);\n });\n }\n else if (type === 1 /* DraftType.Array */) {\n let index = 0;\n for (const entry of target) {\n iter(index, entry, target);\n index += 1;\n }\n }\n else {\n target.forEach((entry, index) => iter(index, entry, target));\n }\n}\n\nfunction handleValue(target, handledSet, options) {\n if (isDraft(target) ||\n !isDraftable(target, options) ||\n handledSet.has(target) ||\n Object.isFrozen(target))\n return;\n const isSet = target instanceof Set;\n const setMap = isSet ? new Map() : undefined;\n handledSet.add(target);\n forEach(target, (key, value) => {\n var _a;\n if (isDraft(value)) {\n const proxyDraft = getProxyDraft(value);\n ensureShallowCopy(proxyDraft);\n // A draft where a child node has been changed, or assigned a value\n const updatedValue = ((_a = proxyDraft.assignedMap) === null || _a === void 0 ? void 0 : _a.size) || proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original;\n // final update value\n set(isSet ? setMap : target, key, updatedValue);\n }\n else {\n handleValue(value, handledSet, options);\n }\n });\n if (setMap) {\n const set = target;\n const values = Array.from(set);\n set.clear();\n values.forEach((value) => {\n set.add(setMap.has(value) ? setMap.get(value) : value);\n });\n }\n}\nfunction finalizeAssigned(proxyDraft, key) {\n // handle the draftable assigned values, and the value is not a draft\n const copy = proxyDraft.type === 3 /* DraftType.Set */ ? proxyDraft.setMap : proxyDraft.copy;\n if (proxyDraft.finalities.revoke.length > 1 &&\n proxyDraft.assignedMap.get(key) &&\n copy) {\n handleValue(get(copy, key), proxyDraft.finalities.handledSet, proxyDraft.options);\n }\n}\nfunction finalizeSetValue(target) {\n if (target.type === 3 /* DraftType.Set */ && target.copy) {\n target.copy.clear();\n target.setMap.forEach((value) => {\n target.copy.add(getValue(value));\n });\n }\n}\nfunction finalizePatches(target, generatePatches, patches, inversePatches) {\n const shouldFinalize = target.operated &&\n target.assignedMap &&\n target.assignedMap.size > 0 &&\n !target.finalized;\n if (shouldFinalize) {\n if (patches && inversePatches) {\n const basePath = getPath(target);\n if (basePath) {\n generatePatches(target, basePath, patches, inversePatches);\n }\n }\n target.finalized = true;\n }\n}\nfunction markFinalization(target, key, value, generatePatches) {\n const proxyDraft = getProxyDraft(value);\n if (proxyDraft) {\n // !case: assign the draft value\n if (!proxyDraft.callbacks) {\n proxyDraft.callbacks = [];\n }\n proxyDraft.callbacks.push((patches, inversePatches) => {\n var _a;\n const copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n let updatedValue = proxyDraft.original;\n if (proxyDraft.copy) {\n updatedValue = proxyDraft.copy;\n }\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n if (target.options.enableAutoFreeze) {\n target.options.updatedValues =\n (_a = target.options.updatedValues) !== null && _a !== void 0 ? _a : new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key, updatedValue);\n }\n });\n if (target.options.enableAutoFreeze) {\n // !case: assign the draft value in cross draft tree\n if (proxyDraft.finalities !== target.finalities) {\n target.options.enableAutoFreeze = false;\n }\n }\n }\n if (isDraftable(value, target.options)) {\n // !case: assign the non-draft value\n target.finalities.draft.push(() => {\n const copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n finalizeAssigned(target, key);\n }\n });\n }\n}\n\nfunction generateArrayPatches(proxyState, basePath, patches, inversePatches, pathAsArray) {\n let { original, assignedMap, options } = proxyState;\n let copy = proxyState.copy;\n if (copy.length < original.length) {\n [original, copy] = [copy, original];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let index = 0; index < original.length; index += 1) {\n if (assignedMap.get(index.toString()) && copy[index] !== original[index]) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n inversePatches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(original[index]),\n });\n }\n }\n for (let index = original.length; index < copy.length; index += 1) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n }\n if (original.length < copy.length) {\n // https://www.rfc-editor.org/rfc/rfc6902#appendix-A.4\n // For performance, here we only generate an operation that replaces the length of the array,\n // which is inconsistent with JSON Patch specification\n const { arrayLengthAssignment = true } = options.enablePatches;\n if (arrayLengthAssignment) {\n const _path = basePath.concat(['length']);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Replace,\n path,\n value: original.length,\n });\n }\n else {\n for (let index = copy.length; original.length < index; index -= 1) {\n const _path = basePath.concat([index - 1]);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Remove,\n path,\n });\n }\n }\n }\n}\nfunction generatePatchesFromAssigned({ original, copy, assignedMap }, basePath, patches, inversePatches, pathAsArray) {\n assignedMap.forEach((assignedValue, key) => {\n const originalValue = get(original, key);\n const value = cloneIfNeeded(get(copy, key));\n const op = !assignedValue\n ? Operation.Remove\n : has(original, key)\n ? Operation.Replace\n : Operation.Add;\n if (isEqual(originalValue, value) && op === Operation.Replace)\n return;\n const _path = basePath.concat(key);\n const path = escapePath(_path, pathAsArray);\n patches.push(op === Operation.Remove ? { op, path } : { op, path, value });\n inversePatches.push(op === Operation.Add\n ? { op: Operation.Remove, path }\n : op === Operation.Remove\n ? { op: Operation.Add, path, value: originalValue }\n : { op: Operation.Replace, path, value: originalValue });\n });\n}\nfunction generateSetPatches({ original, copy }, basePath, patches, inversePatches, pathAsArray) {\n let index = 0;\n original.forEach((value) => {\n if (!copy.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Remove,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Add,\n path,\n value,\n });\n }\n index += 1;\n });\n index = 0;\n copy.forEach((value) => {\n if (!original.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Remove,\n path,\n value,\n });\n }\n index += 1;\n });\n}\nfunction generatePatches(proxyState, basePath, patches, inversePatches) {\n const { pathAsArray = true } = proxyState.options.enablePatches;\n switch (proxyState.type) {\n case 0 /* DraftType.Object */:\n case 2 /* DraftType.Map */:\n return generatePatchesFromAssigned(proxyState, basePath, patches, inversePatches, pathAsArray);\n case 1 /* DraftType.Array */:\n return generateArrayPatches(proxyState, basePath, patches, inversePatches, pathAsArray);\n case 3 /* DraftType.Set */:\n return generateSetPatches(proxyState, basePath, patches, inversePatches, pathAsArray);\n }\n}\n\nlet readable = false;\nconst checkReadable = (value, options, ignoreCheckDraftable = false) => {\n if (typeof value === 'object' &&\n value !== null &&\n (!isDraftable(value, options) || ignoreCheckDraftable) &&\n !readable) {\n throw new Error(`Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.`);\n }\n};\n/**\n * `unsafe(callback)` to access mutable data directly in strict mode.\n *\n * ## Example\n *\n * ```ts\n * import { create, unsafe } from '../index';\n *\n * class Foobar {\n * bar = 1;\n * }\n *\n * const baseState = { foobar: new Foobar() };\n * const state = create(\n * baseState,\n * (draft) => {\n * unsafe(() => {\n * draft.foobar.bar = 2;\n * });\n * },\n * {\n * strict: true,\n * }\n * );\n *\n * expect(state).toBe(baseState);\n * expect(state.foobar).toBe(baseState.foobar);\n * expect(state.foobar.bar).toBe(2);\n * ```\n */\nfunction unsafe(callback) {\n readable = true;\n let result;\n try {\n result = callback();\n }\n finally {\n readable = false;\n }\n return result;\n}\n\nconst mapHandler = {\n get size() {\n const current = latest(getProxyDraft(this));\n return current.size;\n },\n has(key) {\n return latest(getProxyDraft(this)).has(key);\n },\n set(key, value) {\n const target = getProxyDraft(this);\n const source = latest(target);\n if (!source.has(key) || !isEqual(source.get(key), value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(key, true);\n target.copy.set(key, value);\n markFinalization(target, key, value, generatePatches);\n }\n return this;\n },\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n if (target.original.has(key)) {\n target.assignedMap.set(key, false);\n }\n else {\n target.assignedMap.delete(key);\n }\n target.copy.delete(key);\n return true;\n },\n clear() {\n const target = getProxyDraft(this);\n if (!this.size)\n return;\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap = new Map();\n for (const [key] of target.original) {\n target.assignedMap.set(key, false);\n }\n target.copy.clear();\n },\n forEach(callback, thisArg) {\n const target = getProxyDraft(this);\n latest(target).forEach((_value, _key) => {\n callback.call(thisArg, this.get(_key), _key, this);\n });\n },\n get(key) {\n var _a, _b;\n const target = getProxyDraft(this);\n const value = latest(target).get(key);\n const mutable = ((_b = (_a = target.options).mark) === null || _b === void 0 ? void 0 : _b.call(_a, value, dataTypes)) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(value, target.options, mutable);\n }\n if (mutable) {\n return value;\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // drafted or reassigned\n if (value !== target.original.get(key)) {\n return value;\n }\n const draft = internal.createDraft({\n original: value,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n ensureShallowCopy(target);\n target.copy.set(key, draft);\n return draft;\n },\n keys() {\n return latest(getProxyDraft(this)).keys();\n },\n values() {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.values(),\n next: () => {\n const result = iterator.next();\n if (result.done)\n return result;\n const value = this.get(result.value);\n return {\n done: false,\n value,\n };\n },\n };\n },\n entries() {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.entries(),\n next: () => {\n const result = iterator.next();\n if (result.done)\n return result;\n const value = this.get(result.value);\n return {\n done: false,\n value: [result.value, value],\n };\n },\n };\n },\n [iteratorSymbol]() {\n return this.entries();\n },\n};\nconst mapHandlerKeys = Reflect.ownKeys(mapHandler);\n\nconst getNextIterator = (target, iterator, { isValuesIterator }) => () => {\n var _a, _b;\n const result = iterator.next();\n if (result.done)\n return result;\n const key = result.value;\n let value = target.setMap.get(key);\n const currentDraft = getProxyDraft(value);\n const mutable = ((_b = (_a = target.options).mark) === null || _b === void 0 ? void 0 : _b.call(_a, value, dataTypes)) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(key, target.options, mutable);\n }\n if (!mutable &&\n !currentDraft &&\n isDraftable(key, target.options) &&\n !target.finalized &&\n target.original.has(key)) {\n // draft a draftable original set item\n const proxy = internal.createDraft({\n original: key,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n target.setMap.set(key, proxy);\n value = proxy;\n }\n else if (currentDraft) {\n // drafted\n value = currentDraft.proxy;\n }\n return {\n done: false,\n value: isValuesIterator ? value : [value, value],\n };\n};\nconst setHandler = {\n get size() {\n const target = getProxyDraft(this);\n return target.setMap.size;\n },\n has(value) {\n const target = getProxyDraft(this);\n // reassigned or non-draftable values\n if (target.setMap.has(value))\n return true;\n ensureShallowCopy(target);\n const valueProxyDraft = getProxyDraft(value);\n // drafted\n if (valueProxyDraft && target.setMap.has(valueProxyDraft.original))\n return true;\n return false;\n },\n add(value) {\n const target = getProxyDraft(this);\n if (!this.has(value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(value, true);\n target.setMap.set(value, value);\n markFinalization(target, value, value, generatePatches);\n }\n return this;\n },\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n const valueProxyDraft = getProxyDraft(value);\n if (valueProxyDraft && target.setMap.has(valueProxyDraft.original)) {\n // delete drafted\n target.assignedMap.set(valueProxyDraft.original, false);\n return target.setMap.delete(valueProxyDraft.original);\n }\n if (!valueProxyDraft && target.setMap.has(value)) {\n // non-draftable values\n target.assignedMap.set(value, false);\n }\n else {\n // reassigned\n target.assignedMap.delete(value);\n }\n // delete reassigned or non-draftable values\n return target.setMap.delete(value);\n },\n clear() {\n if (!this.size)\n return;\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n for (const value of target.original) {\n target.assignedMap.set(value, false);\n }\n target.setMap.clear();\n },\n values() {\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n const iterator = target.setMap.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: getNextIterator(target, iterator, { isValuesIterator: true }),\n };\n },\n entries() {\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n const iterator = target.setMap.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: getNextIterator(target, iterator, {\n isValuesIterator: false,\n }),\n };\n },\n keys() {\n return this.values();\n },\n [iteratorSymbol]() {\n return this.values();\n },\n forEach(callback, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n callback.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n },\n};\nif (Set.prototype.difference) {\n // for compatibility with new Set methods\n // https://github.com/tc39/proposal-set-methods\n // And `https://github.com/tc39/proposal-set-methods/blob/main/details.md#symbolspecies` has some details about the `@@species` symbol.\n // So we can't use SubSet instance constructor to get the constructor of the SubSet instance.\n Object.assign(setHandler, {\n intersection(other) {\n return Set.prototype.intersection.call(new Set(this.values()), other);\n },\n union(other) {\n return Set.prototype.union.call(new Set(this.values()), other);\n },\n difference(other) {\n return Set.prototype.difference.call(new Set(this.values()), other);\n },\n symmetricDifference(other) {\n return Set.prototype.symmetricDifference.call(new Set(this.values()), other);\n },\n isSubsetOf(other) {\n return Set.prototype.isSubsetOf.call(new Set(this.values()), other);\n },\n isSupersetOf(other) {\n return Set.prototype.isSupersetOf.call(new Set(this.values()), other);\n },\n isDisjointFrom(other) {\n return Set.prototype.isDisjointFrom.call(new Set(this.values()), other);\n },\n });\n}\nconst setHandlerKeys = Reflect.ownKeys(setHandler);\n\nconst draftsCache = new WeakSet();\nconst proxyHandler = {\n get(target, key, receiver) {\n var _a, _b;\n const copy = (_a = target.copy) === null || _a === void 0 ? void 0 : _a[key];\n // Improve draft reading performance by caching the draft copy.\n if (copy && draftsCache.has(copy)) {\n return copy;\n }\n if (key === PROXY_DRAFT)\n return target;\n let markResult;\n if (target.options.mark) {\n // handle `Uncaught TypeError: Method get Map.prototype.size called on incompatible receiver #<Map>`\n // or `Uncaught TypeError: Method get Set.prototype.size called on incompatible receiver #<Set>`\n const value = key === 'size' &&\n (target.original instanceof Map || target.original instanceof Set)\n ? Reflect.get(target.original, key)\n : Reflect.get(target.original, key, receiver);\n markResult = target.options.mark(value, dataTypes);\n if (markResult === dataTypes.mutable) {\n if (target.options.strict) {\n checkReadable(value, target.options, true);\n }\n return value;\n }\n }\n const source = latest(target);\n if (source instanceof Map && mapHandlerKeys.includes(key)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(mapHandler, 'size').get.call(target.proxy);\n }\n const handle = mapHandler[key];\n if (handle) {\n return handle.bind(target.proxy);\n }\n }\n if (source instanceof Set && setHandlerKeys.includes(key)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(setHandler, 'size').get.call(target.proxy);\n }\n const handle = setHandler[key];\n if (handle) {\n return handle.bind(target.proxy);\n }\n }\n if (!has(source, key)) {\n const desc = getDescriptor(source, key);\n return desc\n ? `value` in desc\n ? desc.value\n : // !case: support for getter\n (_b = desc.get) === null || _b === void 0 ? void 0 : _b.call(target.proxy)\n : undefined;\n }\n const value = source[key];\n if (target.options.strict) {\n checkReadable(value, target.options);\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // Ensure that the assigned values are not drafted\n if (value === peek(target.original, key)) {\n ensureShallowCopy(target);\n target.copy[key] = createDraft({\n original: target.original[key],\n parentDraft: target,\n key: target.type === 1 /* DraftType.Array */ ? Number(key) : key,\n finalities: target.finalities,\n options: target.options,\n });\n // !case: support for custom shallow copy function\n if (typeof markResult === 'function') {\n const subProxyDraft = getProxyDraft(target.copy[key]);\n ensureShallowCopy(subProxyDraft);\n // Trigger a custom shallow copy to update to a new copy\n markChanged(subProxyDraft);\n return subProxyDraft.copy;\n }\n return target.copy[key];\n }\n return value;\n },\n set(target, key, value) {\n var _a;\n if (target.type === 3 /* DraftType.Set */ || target.type === 2 /* DraftType.Map */) {\n throw new Error(`Map/Set draft does not support any property assignment.`);\n }\n let _key;\n if (target.type === 1 /* DraftType.Array */ &&\n key !== 'length' &&\n !(Number.isInteger((_key = Number(key))) &&\n _key >= 0 &&\n (key === 0 || _key === 0 || String(_key) === String(key)))) {\n throw new Error(`Only supports setting array indices and the 'length' property.`);\n }\n const desc = getDescriptor(latest(target), key);\n if (desc === null || desc === void 0 ? void 0 : desc.set) {\n // !case: cover the case of setter\n desc.set.call(target.proxy, value);\n return true;\n }\n const current = peek(latest(target), key);\n const currentProxyDraft = getProxyDraft(current);\n if (currentProxyDraft && isEqual(currentProxyDraft.original, value)) {\n // !case: ignore the case of assigning the original draftable value to a draft\n target.copy[key] = value;\n target.assignedMap = (_a = target.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n target.assignedMap.set(key, false);\n return true;\n }\n // !case: handle new props with value 'undefined'\n if (isEqual(value, current) &&\n (value !== undefined || has(target.original, key)))\n return true;\n ensureShallowCopy(target);\n markChanged(target);\n if (has(target.original, key) && isEqual(value, target.original[key])) {\n // !case: handle the case of assigning the original non-draftable value to a draft\n target.assignedMap.delete(key);\n }\n else {\n target.assignedMap.set(key, true);\n }\n target.copy[key] = value;\n markFinalization(target, key, value, generatePatches);\n return true;\n },\n has(target, key) {\n return key in latest(target);\n },\n ownKeys(target) {\n return Reflect.ownKeys(latest(target));\n },\n getOwnPropertyDescriptor(target, key) {\n const source = latest(target);\n const descriptor = Reflect.getOwnPropertyDescriptor(source, key);\n if (!descriptor)\n return descriptor;\n return {\n writable: true,\n configurable: target.type !== 1 /* DraftType.Array */ || key !== 'length',\n enumerable: descriptor.enumerable,\n value: source[key],\n };\n },\n getPrototypeOf(target) {\n return Reflect.getPrototypeOf(target.original);\n },\n setPrototypeOf() {\n throw new Error(`Cannot call 'setPrototypeOf()' on drafts`);\n },\n defineProperty() {\n throw new Error(`Cannot call 'defineProperty()' on drafts`);\n },\n deleteProperty(target, key) {\n var _a;\n if (target.type === 1 /* DraftType.Array */) {\n return proxyHandler.set.call(this, target, key, undefined, target.proxy);\n }\n if (peek(target.original, key) !== undefined || key in target.original) {\n // !case: delete an existing key\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(key, false);\n }\n else {\n target.assignedMap = (_a = target.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n // The original non-existent key has been deleted\n target.assignedMap.delete(key);\n }\n if (target.copy)\n delete target.copy[key];\n return true;\n },\n};\nfunction createDraft(createDraftOptions) {\n const { original, parentDraft, key, finalities, options } = createDraftOptions;\n const type = getType(original);\n const proxyDraft = {\n type,\n finalized: false,\n parent: parentDraft,\n original,\n copy: null,\n proxy: null,\n finalities,\n options,\n // Mapping of draft Set items to their corresponding draft values.\n setMap: type === 3 /* DraftType.Set */\n ? new Map(original.entries())\n : undefined,\n };\n // !case: undefined as a draft map key\n if (key || 'key' in createDraftOptions) {\n proxyDraft.key = key;\n }\n const { proxy, revoke } = Proxy.revocable(type === 1 /* DraftType.Array */ ? Object.assign([], proxyDraft) : proxyDraft, proxyHandler);\n finalities.revoke.push(revoke);\n draftsCache.add(proxy);\n proxyDraft.proxy = proxy;\n if (parentDraft) {\n const target = parentDraft;\n target.finalities.draft.push((patches, inversePatches) => {\n var _a, _b;\n const oldProxyDraft = getProxyDraft(proxy);\n // if target is a Set draft, `setMap` is the real Set copies proxy mapping.\n let copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n const draft = get(copy, key);\n const proxyDraft = getProxyDraft(draft);\n if (proxyDraft) {\n // assign the updated value to the copy object\n let updatedValue = proxyDraft.original;\n if (proxyDraft.operated) {\n updatedValue = getValue(draft);\n }\n finalizeSetValue(proxyDraft);\n finalizePatches(proxyDraft, generatePatches, patches, inversePatches);\n if (target.options.enableAutoFreeze) {\n target.options.updatedValues =\n (_a = target.options.updatedValues) !== null && _a !== void 0 ? _a : new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key, updatedValue);\n }\n // !case: handle the deleted key\n (_b = oldProxyDraft.callbacks) === null || _b === void 0 ? void 0 : _b.forEach((callback) => {\n callback(patches, inversePatches);\n });\n });\n }\n else {\n // !case: handle the root draft\n const target = getProxyDraft(proxy);\n target.finalities.draft.push((patches, inversePatches) => {\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n });\n }\n return proxy;\n}\ninternal.createDraft = createDraft;\nfunction finalizeDraft(result, returnedValue, patches, inversePatches, enableAutoFreeze) {\n var _a;\n const proxyDraft = getProxyDraft(result);\n const original = (_a = proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== null && _a !== void 0 ? _a : result;\n const hasReturnedValue = !!returnedValue.length;\n if (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.operated) {\n while (proxyDraft.finalities.draft.length > 0) {\n const finalize = proxyDraft.finalities.draft.pop();\n finalize(patches, inversePatches);\n }\n }\n const state = hasReturnedValue\n ? returnedValue[0]\n : proxyDraft\n ? proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original\n : result;\n if (proxyDraft)\n revokeProxy(proxyDraft);\n if (enableAutoFreeze) {\n deepFreeze(state, state, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options.updatedValues);\n }\n return [\n state,\n patches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: returnedValue[0] }]\n : patches,\n inversePatches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: original }]\n : inversePatches,\n ];\n}\n\nfunction draftify(baseState, options) {\n var _a;\n const finalities = {\n draft: [],\n revoke: [],\n handledSet: new WeakSet(),\n };\n let patches;\n let inversePatches;\n if (options.enablePatches) {\n patches = [];\n inversePatches = [];\n }\n const isMutable = ((_a = options.mark) === null || _a === void 0 ? void 0 : _a.call(options, baseState, dataTypes)) === dataTypes.mutable ||\n !isDraftable(baseState, options);\n const draft = isMutable\n ? baseState\n : createDraft({\n original: baseState,\n parentDraft: null,\n finalities,\n options,\n });\n return [\n draft,\n (returnedValue = []) => {\n const [finalizedState, finalizedPatches, finalizedInversePatches] = finalizeDraft(draft, returnedValue, patches, inversePatches, options.enableAutoFreeze);\n return (options.enablePatches\n ? [finalizedState, finalizedPatches, finalizedInversePatches]\n : finalizedState);\n },\n ];\n}\n\nfunction handleReturnValue(options) {\n const { rootDraft, value, useRawReturn = false, isRoot = true } = options;\n forEach(value, (key, item, source) => {\n const proxyDraft = getProxyDraft(item);\n // just handle the draft which is created by the same rootDraft\n if (proxyDraft &&\n rootDraft &&\n proxyDraft.finalities === rootDraft.finalities) {\n options.isContainDraft = true;\n const currentValue = proxyDraft.original;\n // final update value, but just handle return value\n if (source instanceof Set) {\n const arr = Array.from(source);\n source.clear();\n arr.forEach((_item) => source.add(key === _item ? currentValue : _item));\n }\n else {\n set(source, key, currentValue);\n }\n }\n else if (typeof item === 'object' && item !== null) {\n options.value = item;\n options.isRoot = false;\n handleReturnValue(options);\n }\n });\n if (isRoot) {\n if (!options.isContainDraft)\n console.warn(`The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance.`);\n if (useRawReturn) {\n console.warn(`The return value contains drafts, please don't use 'rawReturn()' to wrap the return value.`);\n }\n }\n}\nfunction getCurrent(target) {\n var _a;\n const proxyDraft = getProxyDraft(target);\n if (!isDraftable(target, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options))\n return target;\n const type = getType(target);\n if (proxyDraft && !proxyDraft.operated)\n return proxyDraft.original;\n let currentValue;\n function ensureShallowCopy() {\n currentValue =\n type === 2 /* DraftType.Map */\n ? !isBaseMapInstance(target)\n ? new (Object.getPrototypeOf(target).constructor)(target)\n : new Map(target)\n : type === 3 /* DraftType.Set */\n ? Array.from(proxyDraft.setMap.values())\n : shallowCopy(target, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options);\n }\n if (proxyDraft) {\n // It's a proxy draft, let's create a shallow copy eagerly\n proxyDraft.finalized = true;\n try {\n ensureShallowCopy();\n }\n finally {\n proxyDraft.finalized = false;\n }\n }\n else {\n // It's not a proxy draft, let's use the target directly and let's see\n // lazily if we need to create a shallow copy\n currentValue = target;\n }\n forEach(currentValue, (key, value) => {\n if (proxyDraft && isEqual(get(proxyDraft.original, key), value))\n return;\n const newValue = getCurrent(value);\n if (newValue !== value) {\n if (currentValue === target)\n ensureShallowCopy();\n set(currentValue, key, newValue);\n }\n });\n if (type === 3 /* DraftType.Set */) {\n const value = (_a = proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== null && _a !== void 0 ? _a : currentValue;\n return !isBaseSetInstance(value)\n ? new (Object.getPrototypeOf(value).constructor)(currentValue)\n : new Set(currentValue);\n }\n return currentValue;\n}\nfunction current(target) {\n if (!isDraft(target)) {\n throw new Error(`current() is only used for Draft, parameter: ${target}`);\n }\n return getCurrent(target);\n}\n\n/**\n * `makeCreator(options)` to make a creator function.\n *\n * ## Example\n *\n * ```ts\n * import { makeCreator } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const create = makeCreator({ enableAutoFreeze: true });\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * expect(Object.isFrozen(state)).toBeTruthy();\n * ```\n */\nconst makeCreator = (arg) => {\n if (arg !== undefined &&\n Object.prototype.toString.call(arg) !== '[object Object]') {\n throw new Error(`Invalid options: ${String(arg)}, 'options' should be an object.`);\n }\n return function create(arg0, arg1, arg2) {\n var _a, _b, _c;\n if (typeof arg0 === 'function' && typeof arg1 !== 'function') {\n return function (base, ...args) {\n return create(base, (draft) => arg0.call(this, draft, ...args), arg1);\n };\n }\n const base = arg0;\n const mutate = arg1;\n let options = arg2;\n if (typeof arg1 !== 'function') {\n options = arg1;\n }\n if (options !== undefined &&\n Object.prototype.toString.call(options) !== '[object Object]') {\n throw new Error(`Invalid options: ${options}, 'options' should be an object.`);\n }\n options = Object.assign(Object.assign({}, arg), options);\n const state = isDraft(base) ? current(base) : base;\n const mark = Array.isArray(options.mark)\n ? ((value, types) => {\n for (const mark of options.mark) {\n if (typeof mark !== 'function') {\n throw new Error(`Invalid mark: ${mark}, 'mark' should be a function.`);\n }\n const result = mark(value, types);\n if (result) {\n return result;\n }\n }\n return;\n })\n : options.mark;\n const enablePatches = (_a = options.enablePatches) !== null && _a !== void 0 ? _a : false;\n const strict = (_b = options.strict) !== null && _b !== void 0 ? _b : false;\n const enableAutoFreeze = (_c = options.enableAutoFreeze) !== null && _c !== void 0 ? _c : false;\n const _options = {\n enableAutoFreeze,\n mark,\n strict,\n enablePatches,\n };\n if (!isDraftable(state, _options) &&\n typeof state === 'object' &&\n state !== null) {\n throw new Error(`Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`);\n }\n const [draft, finalize] = draftify(state, _options);\n if (typeof arg1 !== 'function') {\n if (!isDraftable(state, _options)) {\n throw new Error(`Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`);\n }\n return [draft, finalize];\n }\n let result;\n try {\n result = mutate(draft);\n }\n catch (error) {\n revokeProxy(getProxyDraft(draft));\n throw error;\n }\n const returnValue = (value) => {\n const proxyDraft = getProxyDraft(draft);\n if (!isDraft(value)) {\n if (value !== undefined &&\n !isEqual(value, draft) &&\n (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.operated)) {\n throw new Error(`Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.`);\n }\n const rawReturnValue = value === null || value === void 0 ? void 0 : value[RAW_RETURN_SYMBOL];\n if (rawReturnValue) {\n const _value = rawReturnValue[0];\n if (_options.strict && typeof value === 'object' && value !== null) {\n handleReturnValue({\n rootDraft: proxyDraft,\n value,\n useRawReturn: true,\n });\n }\n return finalize([_value]);\n }\n if (value !== undefined) {\n if (typeof value === 'object' && value !== null) {\n handleReturnValue({ rootDraft: proxyDraft, value });\n }\n return finalize([value]);\n }\n }\n if (value === draft || value === undefined) {\n return finalize([]);\n }\n const returnedProxyDraft = getProxyDraft(value);\n if (_options === returnedProxyDraft.options) {\n if (returnedProxyDraft.operated) {\n throw new Error(`Cannot return a modified child draft.`);\n }\n return finalize([current(value)]);\n }\n return finalize([value]);\n };\n if (result instanceof Promise) {\n return result.then(returnValue, (error) => {\n revokeProxy(getProxyDraft(draft));\n throw error;\n });\n }\n return returnValue(result);\n };\n};\n\n/**\n * `create(baseState, callback, options)` to create the next state\n *\n * ## Example\n *\n * ```ts\n * import { create } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * ```\n */\nconst create = makeCreator();\n\n/**\n * `apply(state, patches)` to apply patches to state\n *\n * ## Example\n *\n * ```ts\n * import { create, apply } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const [state, patches] = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * { enablePatches: true }\n * );\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(patches).toEqual([{ op: 'replace', path: ['foo', 'bar'], value: 'str2' }]);\n * expect(state).toEqual(apply(baseState, patches));\n * ```\n */\nfunction apply(state, patches, applyOptions) {\n let i;\n for (i = patches.length - 1; i >= 0; i -= 1) {\n const { value, op, path } = patches[i];\n if ((!path.length && op === Operation.Replace) ||\n (path === '' && op === Operation.Add)) {\n state = value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const mutate = (draft) => {\n patches.forEach((patch) => {\n const { path: _path, op } = patch;\n const path = unescapePath(_path);\n let base = draft;\n for (let index = 0; index < path.length - 1; index += 1) {\n const parentType = getType(base);\n let key = path[index];\n if (typeof key !== 'string' && typeof key !== 'number') {\n key = String(key);\n }\n if (((parentType === 0 /* DraftType.Object */ ||\n parentType === 1 /* DraftType.Array */) &&\n (key === '__proto__' || key === 'constructor')) ||\n (typeof base === 'function' && key === 'prototype')) {\n throw new Error(`Patching reserved attributes like __proto__ and constructor is not allowed.`);\n }\n // use `index` in Set draft\n base = get(parentType === 3 /* DraftType.Set */ ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot apply patch at '${path.join('/')}'.`);\n }\n }\n const type = getType(base);\n // ensure the original patch is not modified.\n const value = deepClone(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case Operation.Replace:\n switch (type) {\n case 2 /* DraftType.Map */:\n return base.set(key, value);\n case 3 /* DraftType.Set */:\n throw new Error(`Cannot apply replace patch to set.`);\n default:\n return (base[key] = value);\n }\n case Operation.Add:\n switch (type) {\n case 1 /* DraftType.Array */:\n // If the \"-\" character is used to\n // index the end of the array (see [RFC6901](https://datatracker.ietf.org/doc/html/rfc6902)),\n // this has the effect of appending the value to the array.\n return key === '-'\n ? base.push(value)\n : base.splice(key, 0, value);\n case 2 /* DraftType.Map */:\n return base.set(key, value);\n case 3 /* DraftType.Set */:\n return base.add(value);\n default:\n return (base[key] = value);\n }\n case Operation.Remove:\n switch (type) {\n case 1 /* DraftType.Array */:\n return base.splice(key, 1);\n case 2 /* DraftType.Map */:\n return base.delete(key);\n case 3 /* DraftType.Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n throw new Error(`Unsupported patch operation: ${op}.`);\n }\n });\n };\n if (isDraft(state)) {\n if (applyOptions !== undefined) {\n throw new Error(`Cannot apply patches with options to a draft.`);\n }\n mutate(state);\n return state;\n }\n return create(state, mutate, Object.assign(Object.assign({}, applyOptions), { enablePatches: false }));\n}\n\n/**\n * `original(draft)` to get original state in the draft mutation function.\n *\n * ## Example\n *\n * ```ts\n * import { create, original } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * expect(original(draft.foo)).toEqual({ bar: 'str' });\n * }\n * );\n * ```\n */\nfunction original(target) {\n const proxyDraft = getProxyDraft(target);\n if (!proxyDraft) {\n throw new Error(`original() is only used for a draft, parameter: ${target}`);\n }\n return proxyDraft.original;\n}\n\n/**\n * Use rawReturn() to wrap the return value to skip the draft check and thus improve performance.\n *\n * ## Example\n *\n * ```ts\n * import { create, rawReturn } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * return rawReturn(baseState);\n * },\n * );\n * expect(state).toBe(baseState);\n * ```\n */\nfunction rawReturn(value) {\n if (arguments.length === 0) {\n throw new Error('rawReturn() must be called with a value.');\n }\n if (arguments.length > 1) {\n throw new Error('rawReturn() must be called with one argument.');\n }\n if (value !== undefined &&\n (typeof value !== 'object' || value === null)) {\n console.warn('rawReturn() must be called with an object(including plain object, arrays, Set, Map, etc.) or `undefined`, other types do not need to be returned via rawReturn().');\n }\n return {\n [RAW_RETURN_SYMBOL]: [value],\n };\n}\n\nconst constructorString = Object.prototype.constructor.toString();\n/**\n * Check if the value is a simple object(No prototype chain object or iframe same-origin object),\n * support case: https://github.com/unadlib/mutative/issues/17\n */\nconst isSimpleObject = (value) => {\n if (!value || typeof value !== 'object')\n return false;\n const prototype = Object.getPrototypeOf(value);\n if (prototype === null) {\n return true;\n }\n const constructor = Object.hasOwnProperty.call(prototype, 'constructor') &&\n prototype.constructor;\n if (constructor === Object)\n return true;\n return (typeof constructor === 'function' &&\n Function.toString.call(constructor) === constructorString);\n};\nconst markSimpleObject = (value) => {\n if (isSimpleObject(value)) {\n return dataTypes.immutable;\n }\n return;\n};\n\n/**\n * Cast a value to an Draft type value.\n */\nfunction castDraft(value) {\n return value;\n}\n/**\n * Cast a value to an Immutable type value.\n */\nfunction castImmutable(value) {\n return value;\n}\n/**\n * Cast a value to an Mutable type value.\n */\nfunction castMutable(draft) {\n return draft;\n}\n\nexport { apply, castDraft, castImmutable, castMutable, create, current, isDraft, isDraftable, makeCreator, markSimpleObject, original, rawReturn, unsafe };\n//# sourceMappingURL=mutative.esm.mjs.map\n","const getGlobal = () => {\n let _global;\n if (typeof window !== 'undefined') {\n _global = window;\n } else if (typeof global !== 'undefined') {\n _global = global;\n } else if (typeof self !== 'undefined') {\n _global = self;\n } else {\n _global = {} as typeof globalThis;\n }\n return _global;\n};\n\nconst _global = getGlobal();\n\nexport { _global as global, getGlobal };\n","import { global } from './global';\n\nexport const WorkerType = global.SharedWorkerGlobalScope\n ? 'SharedWorkerInternal'\n : globalThis.WorkerGlobalScope\n ? 'WebWorkerInternal'\n : null;\n\nexport const bindSymbol = Symbol('bind');\n\nexport const defaultName = 'default';\n","\"use strict\";var e=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function t(e,n,t){return e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==n&&t.path)}},t.exports),t.exports}function r(e){if(e.__esModule)return e;var n=Object.defineProperty({},\"__esModule\",{value:!0});return Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var o=function(e,n){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])})(e,n)};function i(e,n){if(\"function\"!=typeof n&&null!==n)throw new TypeError(\"Class extends value \"+String(n)+\" is not a constructor or null\");function t(){this.constructor=e}o(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}var s=function(){return(s=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function a(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]])}return t}function c(e,n,t,r){var o,i=arguments.length,s=i<3?n:null===r?r=Object.getOwnPropertyDescriptor(n,t):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,n,t,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(n,t,s):o(n,t))||s);return i>3&&s&&Object.defineProperty(n,t,s),s}function l(e,n){return function(t,r){n(t,r,e)}}function u(e,n,t,r,o,i){function s(e){if(void 0!==e&&\"function\"!=typeof e)throw new TypeError(\"Function expected\");return e}for(var a,c=r.kind,l=\"getter\"===c?\"get\":\"setter\"===c?\"set\":\"value\",u=!n&&e?r.static?e:e.prototype:null,f=n||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),d=!1,p=t.length-1;p>=0;p--){var _={};for(var v in r)_[v]=\"access\"===v?{}:r[v];for(var v in r.access)_.access[v]=r.access[v];_.addInitializer=function(e){if(d)throw new TypeError(\"Cannot add initializers after decoration has completed\");i.push(s(e||null))};var h=(0,t[p])(\"accessor\"===c?{get:f.get,set:f.set}:f[l],_);if(\"accessor\"===c){if(void 0===h)continue;if(null===h||\"object\"!=typeof h)throw new TypeError(\"Object expected\");(a=s(h.get))&&(f.get=a),(a=s(h.set))&&(f.set=a),(a=s(h.init))&&o.unshift(a)}else(a=s(h))&&(\"field\"===c?o.unshift(a):f[l]=a)}u&&Object.defineProperty(u,r.name,f),d=!0}function f(e,n,t){for(var r=arguments.length>2,o=0;o<n.length;o++)t=r?n[o].call(e,t):n[o].call(e);return r?t:void 0}function d(e){return\"symbol\"==typeof e?e:\"\".concat(e)}function p(e,n,t){return\"symbol\"==typeof n&&(n=n.description?\"[\".concat(n.description,\"]\"):\"\"),Object.defineProperty(e,\"name\",{configurable:!0,value:t?\"\".concat(t,\" \",n):n})}function _(e,n){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function v(e,n,t,r){return new(t||(t=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(s,a)}c((r=r.apply(e,n||[])).next())}))}function h(e,n){var t,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create((\"function\"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),\"function\"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(t)throw new TypeError(\"Generator is already executing.\");for(;s&&(s=0,a[0]&&(i=0)),i;)try{if(t=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=n.call(e,i)}catch(e){a=[6,e],r=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}var y=Object.create?function(e,n,t,r){void 0===r&&(r=t);var o=Object.getOwnPropertyDescriptor(n,t);o&&!(\"get\"in o?!n.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,r,o)}:function(e,n,t,r){void 0===r&&(r=t),e[r]=n[t]};function g(e,n){for(var t in e)\"default\"===t||Object.prototype.hasOwnProperty.call(n,t)||y(n,e,t)}function b(e){var n=\"function\"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&\"number\"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function m(e,n){var t=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var r,o,i=t.call(e),s=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}function w(){for(var e=[],n=0;n<arguments.length;n++)e=e.concat(m(arguments[n]));return e}function T(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),o=0;for(n=0;n<t;n++)for(var i=arguments[n],s=0,a=i.length;s<a;s++,o++)r[o]=i[s];return r}function E(e,n,t){if(t||2===arguments.length)for(var r,o=0,i=n.length;o<i;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}function K(e){return this instanceof K?(this.v=e,this):new K(e)}function S(e,n,t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var r,o=t.apply(e,n||[]),i=[];return r=Object.create((\"function\"==typeof AsyncIterator?AsyncIterator:Object).prototype),s(\"next\"),s(\"throw\"),s(\"return\",(function(e){return function(n){return Promise.resolve(n).then(e,l)}})),r[Symbol.asyncIterator]=function(){return this},r;function s(e,n){o[e]&&(r[e]=function(n){return new Promise((function(t,r){i.push([e,n,t,r])>1||a(e,n)}))},n&&(r[e]=n(r[e])))}function a(e,n){try{(t=o[e](n)).value instanceof K?Promise.resolve(t.value.v).then(c,l):u(i[0][2],t)}catch(e){u(i[0][3],e)}var t}function c(e){a(\"next\",e)}function l(e){a(\"throw\",e)}function u(e,n){e(n),i.shift(),i.length&&a(i[0][0],i[0][1])}}function M(e){var n,t;return n={},r(\"next\"),r(\"throw\",(function(e){throw e})),r(\"return\"),n[Symbol.iterator]=function(){return this},n;function r(r,o){n[r]=e[r]?function(n){return(t=!t)?{value:K(e[r](n)),done:!1}:o?o(n):n}:o}}function C(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=b(e),n={},r(\"next\"),r(\"throw\"),r(\"return\"),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise((function(r,o){(function(e,n,t,r){Promise.resolve(r).then((function(n){e({value:n,done:t})}),n)})(r,o,(n=e[t](n)).done,n.value)}))}}}function k(e,n){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:n}):e.raw=n,e}var O=Object.create?function(e,n){Object.defineProperty(e,\"default\",{enumerable:!0,value:n})}:function(e,n){e.default=n},x=function(e){return(x=Object.getOwnPropertyNames||function(e){var n=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[n.length]=t);return n})(e)};function P(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t=x(e),r=0;r<t.length;r++)\"default\"!==t[r]&&y(n,e,t[r]);return O(n,e),n}function I(e){return e&&e.__esModule?e:{default:e}}function j(e,n,t,r){if(\"a\"===t&&!r)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof n?e!==n||!r:!n.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===t?r:\"a\"===t?r.call(e):r?r.value:n.get(e)}function R(e,n,t,r,o){if(\"m\"===r)throw new TypeError(\"Private method is not writable\");if(\"a\"===r&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof n?e!==n||!o:!n.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===r?o.call(e,t):o?o.value=t:n.set(e,t),t}function A(e,n){if(null===n||\"object\"!=typeof n&&\"function\"!=typeof n)throw new TypeError(\"Cannot use 'in' operator on non-object\");return\"function\"==typeof e?n===e:e.has(n)}function L(e,n,t){if(null!=n){if(\"object\"!=typeof n&&\"function\"!=typeof n)throw new TypeError(\"Object expected.\");var r,o;if(t){if(!Symbol.asyncDispose)throw new TypeError(\"Symbol.asyncDispose is not defined.\");r=n[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError(\"Symbol.dispose is not defined.\");r=n[Symbol.dispose],t&&(o=r)}if(\"function\"!=typeof r)throw new TypeError(\"Object not disposable.\");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:n,dispose:r,async:t})}else t&&e.stack.push({async:!0});return n}var D=\"function\"==typeof SuppressedError?SuppressedError:function(e,n,t){var r=new Error(t);return r.name=\"SuppressedError\",r.error=e,r.suppressed=n,r};function W(e){function n(n){e.error=e.hasError?new D(n,e.error,\"An error was suppressed during disposal.\"):n,e.hasError=!0}var t,r=0;return function o(){for(;t=e.stack.pop();)try{if(!t.async&&1===r)return r=0,e.stack.push(t),Promise.resolve().then(o);if(t.dispose){var i=t.dispose.call(t.value);if(t.async)return r|=2,Promise.resolve(i).then(o,(function(e){return n(e),o()}))}else r|=1}catch(e){n(e)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function q(e,n){return\"string\"==typeof e&&/^\\.\\.?\\//.test(e)?e.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i,(function(e,t,r,o,i){return t?n?\".jsx\":\".js\":!r||o&&i?r+o+\".\"+i.toLowerCase()+\"js\":e})):e}var U={__extends:i,__assign:s,__rest:a,__decorate:c,__param:l,__esDecorate:u,__runInitializers:f,__propKey:d,__setFunctionName:p,__metadata:_,__awaiter:v,__generator:h,__createBinding:y,__exportStar:g,__values:b,__read:m,__spread:w,__spreadArrays:T,__spreadArray:E,__await:K,__asyncGenerator:S,__asyncDelegator:M,__asyncValues:C,__makeTemplateObject:k,__importStar:P,__importDefault:I,__classPrivateFieldGet:j,__classPrivateFieldSet:R,__classPrivateFieldIn:A,__addDisposableResource:L,__disposeResources:W,__rewriteRelativeImportExtension:q},B=Object.freeze({__proto__:null,__extends:i,get __assign(){return s},__rest:a,__decorate:c,__param:l,__esDecorate:u,__runInitializers:f,__propKey:d,__setFunctionName:p,__metadata:_,__awaiter:v,__generator:h,__createBinding:y,__exportStar:g,__values:b,__read:m,__spread:w,__spreadArrays:T,__spreadArray:E,__await:K,__asyncGenerator:S,__asyncDelegator:M,__asyncValues:C,__makeTemplateObject:k,__importStar:P,__importDefault:I,__classPrivateFieldGet:j,__classPrivateFieldSet:R,__classPrivateFieldIn:A,__addDisposableResource:L,__disposeResources:W,__rewriteRelativeImportExtension:q,default:U}),F=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.transportType=n.transportKey=n.beforeEmitResolveKey=n.beforeEmitKey=n.produceKey=n.prefixKey=n.timeoutKey=n.callbackKey=n.originalListensMapKey=n.verboseKey=n.logKey=n.serializerKey=n.listensMapKey=n.requestsMapKey=n.senderKey=n.listenKey=n.listenerKey=void 0,n.listenerKey=Symbol(\"listener\"),n.listenKey=Symbol(\"listen\"),n.senderKey=Symbol(\"sender\"),n.requestsMapKey=Symbol(\"requestsMap\"),n.listensMapKey=Symbol(\"listensMap\"),n.serializerKey=Symbol(\"serializer\"),n.logKey=Symbol(\"log\"),n.verboseKey=Symbol(\"verbose\"),n.originalListensMapKey=Symbol(\"originalListensMap\"),n.callbackKey=Symbol(\"callback\"),n.timeoutKey=Symbol(\"timeout\"),n.prefixKey=Symbol(\"prefix\"),n.produceKey=Symbol(\"produce\"),n.beforeEmitKey=Symbol(\"beforeEmit\"),n.beforeEmitResolveKey=Symbol(\"beforeEmitResolve\"),n.transportKey=\"__DATA_TRANSPORT_UUID__\",n.transportType={request:\"request\",response:\"response\"}})),N=r(B),z=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.listen=void 0;n.listen=function(e,n,t){var r,o=t.value;return e[F.originalListensMapKey]=null!==(r=e[F.originalListensMapKey])&&void 0!==r?r:new Map,e[F.originalListensMapKey].set(n,o),N.__assign(N.__assign({},t),{value:function(){return Promise.resolve()}})}})),$=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),N.__exportStar(z,n)}));let J;const G=new Uint8Array(16);function V(){if(!J&&(J=\"undefined\"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!J))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return J(G)}var X=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function H(e){return\"string\"==typeof e&&X.test(e)}const Q=[];for(let e=0;e<256;++e)Q.push((e+256).toString(16).slice(1));function Y(e,n=0){return(Q[e[n+0]]+Q[e[n+1]]+Q[e[n+2]]+Q[e[n+3]]+\"-\"+Q[e[n+4]]+Q[e[n+5]]+\"-\"+Q[e[n+6]]+Q[e[n+7]]+\"-\"+Q[e[n+8]]+Q[e[n+9]]+\"-\"+Q[e[n+10]]+Q[e[n+11]]+Q[e[n+12]]+Q[e[n+13]]+Q[e[n+14]]+Q[e[n+15]]).toLowerCase()}let Z,ee,ne=0,te=0;function re(e){if(!H(e))throw TypeError(\"Invalid UUID\");let n;const t=new Uint8Array(16);return t[0]=(n=parseInt(e.slice(0,8),16))>>>24,t[1]=n>>>16&255,t[2]=n>>>8&255,t[3]=255&n,t[4]=(n=parseInt(e.slice(9,13),16))>>>8,t[5]=255&n,t[6]=(n=parseInt(e.slice(14,18),16))>>>8,t[7]=255&n,t[8]=(n=parseInt(e.slice(19,23),16))>>>8,t[9]=255&n,t[10]=(n=parseInt(e.slice(24,36),16))/1099511627776&255,t[11]=n/4294967296&255,t[12]=n>>>24&255,t[13]=n>>>16&255,t[14]=n>>>8&255,t[15]=255&n,t}function oe(e,n,t){function r(e,r,o,i){var s;if(\"string\"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const n=[];for(let t=0;t<e.length;++t)n.push(e.charCodeAt(t));return n}(e)),\"string\"==typeof r&&(r=re(r)),16!==(null===(s=r)||void 0===s?void 0:s.length))throw TypeError(\"Namespace must be array-like (16 iterable integer values, 0-255)\");let a=new Uint8Array(16+e.length);if(a.set(r),a.set(e,r.length),a=t(a),a[6]=15&a[6]|n,a[8]=63&a[8]|128,o){i=i||0;for(let e=0;e<16;++e)o[i+e]=a[e];return o}return Y(a)}try{r.name=e}catch(e){}return r.DNS=\"6ba7b810-9dad-11d1-80b4-00c04fd430c8\",r.URL=\"6ba7b811-9dad-11d1-80b4-00c04fd430c8\",r}function ie(e){return 14+(e+64>>>9<<4)+1}function se(e,n){const t=(65535&e)+(65535&n);return(e>>16)+(n>>16)+(t>>16)<<16|65535&t}function ae(e,n,t,r,o,i){return se((s=se(se(n,e),se(r,i)))<<(a=o)|s>>>32-a,t);var s,a}function ce(e,n,t,r,o,i,s){return ae(n&t|~n&r,e,n,o,i,s)}function le(e,n,t,r,o,i,s){return ae(n&r|t&~r,e,n,o,i,s)}function ue(e,n,t,r,o,i,s){return ae(n^t^r,e,n,o,i,s)}function fe(e,n,t,r,o,i,s){return ae(t^(n|~r),e,n,o,i,s)}const de=oe(\"v3\",48,(function(e){if(\"string\"==typeof e){const n=unescape(encodeURIComponent(e));e=new Uint8Array(n.length);for(let t=0;t<n.length;++t)e[t]=n.charCodeAt(t)}return function(e){const n=[],t=32*e.length,r=\"0123456789abcdef\";for(let o=0;o<t;o+=8){const t=e[o>>5]>>>o%32&255,i=parseInt(r.charAt(t>>>4&15)+r.charAt(15&t),16);n.push(i)}return n}(function(e,n){e[n>>5]|=128<<n%32,e[ie(n)-1]=n;let t=1732584193,r=-271733879,o=-1732584194,i=271733878;for(let n=0;n<e.length;n+=16){const s=t,a=r,c=o,l=i;t=ce(t,r,o,i,e[n],7,-680876936),i=ce(i,t,r,o,e[n+1],12,-389564586),o=ce(o,i,t,r,e[n+2],17,606105819),r=ce(r,o,i,t,e[n+3],22,-1044525330),t=ce(t,r,o,i,e[n+4],7,-176418897),i=ce(i,t,r,o,e[n+5],12,1200080426),o=ce(o,i,t,r,e[n+6],17,-1473231341),r=ce(r,o,i,t,e[n+7],22,-45705983),t=ce(t,r,o,i,e[n+8],7,1770035416),i=ce(i,t,r,o,e[n+9],12,-1958414417),o=ce(o,i,t,r,e[n+10],17,-42063),r=ce(r,o,i,t,e[n+11],22,-1990404162),t=ce(t,r,o,i,e[n+12],7,1804603682),i=ce(i,t,r,o,e[n+13],12,-40341101),o=ce(o,i,t,r,e[n+14],17,-1502002290),r=ce(r,o,i,t,e[n+15],22,1236535329),t=le(t,r,o,i,e[n+1],5,-165796510),i=le(i,t,r,o,e[n+6],9,-1069501632),o=le(o,i,t,r,e[n+11],14,643717713),r=le(r,o,i,t,e[n],20,-373897302),t=le(t,r,o,i,e[n+5],5,-701558691),i=le(i,t,r,o,e[n+10],9,38016083),o=le(o,i,t,r,e[n+15],14,-660478335),r=le(r,o,i,t,e[n+4],20,-405537848),t=le(t,r,o,i,e[n+9],5,568446438),i=le(i,t,r,o,e[n+14],9,-1019803690),o=le(o,i,t,r,e[n+3],14,-187363961),r=le(r,o,i,t,e[n+8],20,1163531501),t=le(t,r,o,i,e[n+13],5,-1444681467),i=le(i,t,r,o,e[n+2],9,-51403784),o=le(o,i,t,r,e[n+7],14,1735328473),r=le(r,o,i,t,e[n+12],20,-1926607734),t=ue(t,r,o,i,e[n+5],4,-378558),i=ue(i,t,r,o,e[n+8],11,-2022574463),o=ue(o,i,t,r,e[n+11],16,1839030562),r=ue(r,o,i,t,e[n+14],23,-35309556),t=ue(t,r,o,i,e[n+1],4,-1530992060),i=ue(i,t,r,o,e[n+4],11,1272893353),o=ue(o,i,t,r,e[n+7],16,-155497632),r=ue(r,o,i,t,e[n+10],23,-1094730640),t=ue(t,r,o,i,e[n+13],4,681279174),i=ue(i,t,r,o,e[n],11,-358537222),o=ue(o,i,t,r,e[n+3],16,-722521979),r=ue(r,o,i,t,e[n+6],23,76029189),t=ue(t,r,o,i,e[n+9],4,-640364487),i=ue(i,t,r,o,e[n+12],11,-421815835),o=ue(o,i,t,r,e[n+15],16,530742520),r=ue(r,o,i,t,e[n+2],23,-995338651),t=fe(t,r,o,i,e[n],6,-198630844),i=fe(i,t,r,o,e[n+7],10,1126891415),o=fe(o,i,t,r,e[n+14],15,-1416354905),r=fe(r,o,i,t,e[n+5],21,-57434055),t=fe(t,r,o,i,e[n+12],6,1700485571),i=fe(i,t,r,o,e[n+3],10,-1894986606),o=fe(o,i,t,r,e[n+10],15,-1051523),r=fe(r,o,i,t,e[n+1],21,-2054922799),t=fe(t,r,o,i,e[n+8],6,1873313359),i=fe(i,t,r,o,e[n+15],10,-30611744),o=fe(o,i,t,r,e[n+6],15,-1560198380),r=fe(r,o,i,t,e[n+13],21,1309151649),t=fe(t,r,o,i,e[n+4],6,-145523070),i=fe(i,t,r,o,e[n+11],10,-1120210379),o=fe(o,i,t,r,e[n+2],15,718787259),r=fe(r,o,i,t,e[n+9],21,-343485551),t=se(t,s),r=se(r,a),o=se(o,c),i=se(i,l)}return[t,r,o,i]}(function(e){if(0===e.length)return[];const n=8*e.length,t=new Uint32Array(ie(n));for(let r=0;r<n;r+=8)t[r>>5]|=(255&e[r/8])<<r%32;return t}(e),8*e.length))}));var pe={randomUUID:\"undefined\"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function _e(e,n,t,r){switch(e){case 0:return n&t^~n&r;case 1:return n^t^r;case 2:return n&t^n&r^t&r;case 3:return n^t^r}}function ve(e,n){return e<<n|e>>>32-n}const he=oe(\"v5\",80,(function(e){const n=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(\"string\"==typeof e){const n=unescape(encodeURIComponent(e));e=[];for(let t=0;t<n.length;++t)e.push(n.charCodeAt(t))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const r=e.length/4+2,o=Math.ceil(r/16),i=new Array(o);for(let n=0;n<o;++n){const t=new Uint32Array(16);for(let r=0;r<16;++r)t[r]=e[64*n+4*r]<<24|e[64*n+4*r+1]<<16|e[64*n+4*r+2]<<8|e[64*n+4*r+3];i[n]=t}i[o-1][14]=8*(e.length-1)/Math.pow(2,32),i[o-1][14]=Math.floor(i[o-1][14]),i[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const r=new Uint32Array(80);for(let n=0;n<16;++n)r[n]=i[e][n];for(let e=16;e<80;++e)r[e]=ve(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let o=t[0],s=t[1],a=t[2],c=t[3],l=t[4];for(let e=0;e<80;++e){const t=Math.floor(e/20),i=ve(o,5)+_e(t,s,a,c)+l+n[t]+r[e]>>>0;l=c,c=a,a=ve(s,30)>>>0,s=o,o=i}t[0]=t[0]+o>>>0,t[1]=t[1]+s>>>0,t[2]=t[2]+a>>>0,t[3]=t[3]+c>>>0,t[4]=t[4]+l>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,255&t[0],t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,255&t[1],t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,255&t[2],t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,255&t[3],t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,255&t[4]]}));var ye=r(Object.freeze({__proto__:null,v1:function(e,n,t){let r=n&&t||0;const o=n||new Array(16);let i=(e=e||{}).node||Z,s=void 0!==e.clockseq?e.clockseq:ee;if(null==i||null==s){const n=e.random||(e.rng||V)();null==i&&(i=Z=[1|n[0],n[1],n[2],n[3],n[4],n[5]]),null==s&&(s=ee=16383&(n[6]<<8|n[7]))}let a=void 0!==e.msecs?e.msecs:Date.now(),c=void 0!==e.nsecs?e.nsecs:te+1;const l=a-ne+(c-te)/1e4;if(l<0&&void 0===e.clockseq&&(s=s+1&16383),(l<0||a>ne)&&void 0===e.nsecs&&(c=0),c>=1e4)throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");ne=a,te=c,ee=s,a+=122192928e5;const u=(1e4*(268435455&a)+c)%4294967296;o[r++]=u>>>24&255,o[r++]=u>>>16&255,o[r++]=u>>>8&255,o[r++]=255&u;const f=a/4294967296*1e4&268435455;o[r++]=f>>>8&255,o[r++]=255&f,o[r++]=f>>>24&15|16,o[r++]=f>>>16&255,o[r++]=s>>>8|128,o[r++]=255&s;for(let e=0;e<6;++e)o[r+e]=i[e];return n||Y(o)},v3:de,v4:function(e,n,t){if(pe.randomUUID&&!n&&!e)return pe.randomUUID();const r=(e=e||{}).random||(e.rng||V)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,n){t=t||0;for(let e=0;e<16;++e)n[t+e]=r[e];return n}return Y(r)},v5:he,NIL:\"00000000-0000-0000-0000-000000000000\",version:function(e){if(!H(e))throw TypeError(\"Invalid UUID\");return parseInt(e.slice(14,15),16)},validate:H,stringify:function(e,n=0){const t=Y(e,n);if(!H(t))throw TypeError(\"Stringified UUID is invalid\");return t},parse:re})),ge=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.generateId=n.detectSafari=void 0;n.detectSafari=function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)};n.generateId=function(){return(0,ye.v4)({rng:function(){for(var e,n=new Array(16),t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),n[t]=e>>>((3&t)<<3)&255;return n}})}})),be=t((function(e,n){var t;Object.defineProperty(n,\"__esModule\",{value:!0}),n.Transport=n.getAction=void 0;n.getAction=function(e,n){return\"\".concat(e,\"-\").concat(n.toString())};var r=function(){function e(e){var n=e.listener,r=e.sender,o=e.timeout,i=void 0===o?6e4:o,s=e.verbose,a=void 0!==s&&s,c=e.prefix,l=void 0===c?\"DataTransport\":c,u=e.listenKeys,f=void 0===u?[]:u;e.checkListen;var d,p,_=e.serializer,v=e.logger,h=this;this[t]=new Map,this.id=(0,ge.generateId)(),this[F.listensMapKey]=null!==(d=this[F.listensMapKey])&&void 0!==d?d:new Map,this[F.originalListensMapKey]=null!==(p=this[F.originalListensMapKey])&&void 0!==p?p:new Map,this[F.listenerKey]=n.bind(this),this[F.senderKey]=r.bind(this),this[F.timeoutKey]=i,this[F.prefixKey]=l,this[F.serializerKey]=_,this[F.verboseKey]=a,this[F.logKey]=v,new Set(f).forEach((function(e){var n,t=h[e];h[F.originalListensMapKey].set(e,t),Object.assign(h,((n={})[e]=function(){},n))})),this[F.originalListensMapKey].forEach((function(e,n){h[F.produceKey](n,e)})),this[F.listenKey]=function(e){var n,t;if(h[F.verboseKey]&&(\"function\"==typeof h[F.logKey]&&e?h[F.logKey](e):console.info(\"DataTransport Receive: \",e)),null==e?void 0:e[F.transportKey]){var r=function(e,n){return n.replace(new RegExp(\"^\".concat(e,\"-\")),\"\")}(h[F.prefixKey],e.action);if(h[r],e.type===F.transportType.response){var o=h[F.requestsMapKey].get(e[F.transportKey]);if(o){var i=e.response;o(\"string\"==typeof i&&(null===(n=h[F.serializerKey])||void 0===n?void 0:n.parse)?h[F.serializerKey].parse(i):i)}}else if(e.type===F.transportType.request){var s=h[F.listensMapKey].get(e.action);if(\"function\"==typeof s){var a=e.request;s(\"string\"==typeof a&&(null===(t=h[F.serializerKey])||void 0===t?void 0:t.parse)?h[F.serializerKey].parse(a):a,N.__assign(N.__assign({},e),{transportId:e[F.transportKey],hasRespond:e.hasRespond}))}}}};var y=this[F.listenerKey](this[F.listenKey]);this.dispose=function(){if(\"function\"==typeof y)return h[F.requestsMapKey].clear(),h[F.listensMapKey].clear(),h[F.originalListensMapKey].clear(),y()}}return e.prototype[(t=F.requestsMapKey,F.produceKey)]=function(e,t){var r=this,o=(0,n.getAction)(this[F.prefixKey],e);this[F.listensMapKey].set(o,(function(n,i){return N.__awaiter(r,void 0,void 0,(function(){var r,s,a,c,l=i.hasRespond,u=i.transportId;i.request;var f=N.__rest(i,[\"hasRespond\",\"transportId\",\"request\"]);return N.__generator(this,(function(i){switch(i.label){case 0:return\"function\"!=typeof t?[3,2]:[4,t.apply(this,n)];case 1:return r=i.sent(),l?(s=N.__assign(N.__assign({},f),((a={action:o,response:void 0!==r&&(null===(c=this[F.serializerKey])||void 0===c?void 0:c.stringify)?this[F.serializerKey].stringify(r):r,hasRespond:l})[F.transportKey]=u,a.type=F.transportType.response,a.responseId=this.id,a)),this[F.senderKey](s),[3,3]):[2];case 2:throw new Error(\"The listener for event \".concat(e,\" should be a function.\"));case 3:return[2]}}))}))}))},e.prototype.listen=function(e,t){var r=this;if(\"string\"!=typeof e)throw new Error('The event name \"'.concat(e.toString(),'\" is not a string, it should be a string.'));if(this[F.originalListensMapKey].get(e))throw new Error('Failed to listen to the event \"'.concat(e,'\", the event \"').concat(e,'\" is already listened to.'));if(\"function\"!=typeof t)throw new Error(\"The listener for event \".concat(e,\" should be a function.\"));return this[F.originalListensMapKey].set(e,t),this[F.produceKey](e,t),function(){r[F.originalListensMapKey].delete(e);var t=(0,n.getAction)(r[F.prefixKey],e);r[F.listensMapKey].delete(t)}},e.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return N.__awaiter(this,void 0,void 0,(function(){var r,o,i,s,a,c,l,u,f,d,p,_,v,h,y,g=this;return N.__generator(this,(function(b){switch(b.label){case 0:return o=null===(p=(r=\"object\"==typeof e?e:{}).respond)||void 0===p||p,i=null!==(_=r.silent)&&void 0!==_&&_,s=null!==(v=r.timeout)&&void 0!==v?v:this[F.timeoutKey],a=null!==(h=r.name)&&void 0!==h?h:e,c=(0,ge.generateId)(),l=(0,n.getAction)(this[F.prefixKey],a),u=N.__assign(N.__assign({},r._extra?{_extra:r._extra}:{}),((d={type:F.transportType.request,action:l,request:void 0!==t&&(null===(y=this[F.serializerKey])||void 0===y?void 0:y.stringify)?this[F.serializerKey].stringify(t):t,hasRespond:o})[F.transportKey]=c,d.requestId=this.id,d)),this[F.verboseKey]&&(\"function\"==typeof this[F.logKey]?this[F.logKey](u):console.info(\"DataTransport Send: \",u)),o?[3,3]:!this[F.beforeEmitKey]||r.skipBeforeEmit?[3,2]:[4,this[F.beforeEmitKey]];case 1:b.sent(),b.label=2;case 2:return this[F.senderKey](u),[2,Promise.resolve(void 0)];case 3:return[2,Promise.race([new Promise((function(e){return N.__awaiter(g,void 0,void 0,(function(){return N.__generator(this,(function(n){switch(n.label){case 0:return!this[F.beforeEmitKey]||r.skipBeforeEmit?[3,2]:[4,this[F.beforeEmitKey]];case 1:n.sent(),n.label=2;case 2:return this[F.requestsMapKey].set(c,e),this[F.senderKey](u),[2]}}))}))})),new Promise((function(e,n){f=setTimeout((function(){n()}),s)}))]).then((function(e){return clearTimeout(f),g[F.requestsMapKey].delete(c),e})).catch((function(e){if(clearTimeout(f),g[F.requestsMapKey].delete(c),void 0===e){if(i)return;console.warn(\"The event '\".concat(l,\"' timed out for \").concat(s,\" seconds...\"))}}))]}}))}))},e}();n.Transport=r})),me=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.IFrameTransport=n.IFrameInternalTransport=n.IFrameMainTransport=void 0;var t=\"iframe-connect\",r=function(e){function n(n){var r=this,o=n.iframe,i=void 0===o?document.querySelector(\"iframe\"):o,s=n.targetOrigin,a=void 0===s?\"*\":s,c=n.listener,l=void 0===c?function(e){var n=function(n){var t=n.data,r=n.source,o=i.contentWindow;if(o&&o===r)return e(t)};return window.addEventListener(\"message\",n),function(){window.removeEventListener(\"message\",n)}}:c,u=n.sender,f=void 0===u?function(e){i?i.contentWindow.postMessage(e,a):window.frames[0]?window.frames[0].postMessage(e,a):console.error(\"The current page does not have any iframe elements\")}:u,d=n.skipConnectionCheck,p=N.__rest(n,[\"iframe\",\"targetOrigin\",\"listener\",\"sender\",\"skipConnectionCheck\"]);if(r=e.call(this,N.__assign(N.__assign({},p),{listener:l,sender:f}))||this,!d){var _=function(){r.emit({name:t,silent:!0,skipBeforeEmit:!0}).then((function(e){e&&r[F.beforeEmitResolveKey]()}))};_(),r[F.beforeEmitKey]=new Promise((function(e){r[F.beforeEmitResolveKey]=e})),r.listen(t,(function(){return N.__awaiter(r,void 0,void 0,(function(){return N.__generator(this,(function(e){return this[F.beforeEmitResolveKey](),[2,!0]}))}))})),null==i||i.addEventListener(\"load\",(function(){r[F.beforeEmitKey]=new Promise((function(e){r[F.beforeEmitResolveKey]=e})),_()}))}return r}return N.__extends(n,e),n}(be.Transport);n.IFrameMainTransport=r;var o=function(e){function n(n){void 0===n&&(n={});var r=this,o=n.targetOrigin,i=void 0===o?\"*\":o,s=n.listener,a=void 0===s?function(e){var n=function(n){var t=n.data;return e(t)};return window.addEventListener(\"message\",n),function(){window.removeEventListener(\"message\",n)}}:s,c=n.sender,l=void 0===c?function(e){return window.parent.postMessage(e,i)}:c,u=n.skipConnectionCheck,f=N.__rest(n,[\"targetOrigin\",\"listener\",\"sender\",\"skipConnectionCheck\"]);return r=e.call(this,N.__assign(N.__assign({},f),{listener:a,sender:l}))||this,u||(r.emit({name:t,silent:!0}).then((function(e){e&&r[F.beforeEmitResolveKey]()})),r[F.beforeEmitKey]=new Promise((function(e){r[F.beforeEmitResolveKey]=e})),r.listen(t,(function(){return N.__awaiter(r,void 0,void 0,(function(){return N.__generator(this,(function(e){return this[F.beforeEmitResolveKey](),[2,!0]}))}))}))),r}return N.__extends(n,e),n}(be.Transport);n.IFrameInternalTransport=o,n.IFrameTransport={Main:r,IFrame:o}})),we=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.WorkerTransport=n.WorkerInternalTransport=n.WorkerMainTransport=void 0;var t=\"worker-connect\",r=function(e){function n(n){var r=this,o=n.worker,i=n.listener,s=void 0===i?function(e){var n=function(n){var t=n.data;e(t)};return o.addEventListener(\"message\",n),function(){o.removeEventListener(\"message\",n)}}:i,a=n.sender,c=void 0===a?function(e){var n,t=null!==(n=e.transfer)&&void 0!==n?n:[];delete e.transfer,o.postMessage(e,t)}:a,l=N.__rest(n,[\"worker\",\"listener\",\"sender\"]);return(r=e.call(this,N.__assign(N.__assign({},l),{listener:s,sender:c}))||this)._connected=!1,r._handleConnectCallbacks=function(){return N.__awaiter(r,void 0,void 0,(function(){return N.__generator(this,(function(e){return this._connected||(this._connected=!0,this._onConnectCallback.forEach((function(e){e()})),this._onConnectCallback.clear()),[2]}))}))},r._onConnectCallback=new Set,r.emit({name:t,respond:!0,silent:!0}).then(r._handleConnectCallbacks),r.listen(t,r._handleConnectCallbacks),r}return N.__extends(n,e),n.prototype.onConnect=function(e){var n=this;return this._connected?e():(this._onConnectCallback.add(e),function(){n._onConnectCallback.delete(e)})},n}(be.Transport);n.WorkerMainTransport=r;var o=function(e){function n(n){void 0===n&&(n={});var r=this,o=n.listener,i=void 0===o?function(e){var n=function(n){var t=n.data;e(t)};return self.addEventListener(\"message\",n),function(){self.removeEventListener(\"message\",n)}}:o,s=n.sender,a=void 0===s?function(e){var n,t=null!==(n=e.transfer)&&void 0!==n?n:[];delete e.transfer,postMessage(e,t)}:s,c=N.__rest(n,[\"listener\",\"sender\"]);return(r=e.call(this,N.__assign(N.__assign({},c),{listener:i,sender:a}))||this)._handleConnectCallbacks=function(){return N.__awaiter(r,void 0,void 0,(function(){return N.__generator(this,(function(e){return this._connected||(this._connected=!0,this._onConnectCallback.forEach((function(e){e()})),this._onConnectCallback.clear()),[2]}))}))},r._connected=!1,r._onConnectCallback=new Set,r.emit({name:t,respond:!0,silent:!0}).then(r._handleConnectCallbacks),r.listen(t,r._handleConnectCallbacks),r}return N.__extends(n,e),n.prototype.onConnect=function(e){var n=this;return this._connected?e():(this._onConnectCallback.add(e),function(){n._onConnectCallback.delete(e)})},n}(be.Transport);n.WorkerInternalTransport=o,n.WorkerTransport={Main:r,Worker:o}})),Te=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.SharedWorkerTransport=n.SharedWorkerInternalTransport=n.SharedWorkerClientTransport=void 0;var t=\"sharedworker-connect\",r=\"sharedworker-disconnect\",o=function(e){function n(n){var o=this,i=n.worker,s=n.listener,a=void 0===s?function(e){var n=function(n){var t=n.data;e(t)};return i.port.addEventListener(\"message\",n),i.port.start(),function(){i.port.removeEventListener(\"message\",n)}}:s,c=n.sender,l=void 0===c?function(e){var n,t=null!==(n=e.transfer)&&void 0!==n?n:[];delete e.transfer,i.port.postMessage(e,t)}:c,u=N.__rest(n,[\"worker\",\"listener\",\"sender\"]);return(o=e.call(this,N.__assign(N.__assign({},u),{listener:a,sender:l}))||this)._onConnectCallback=new Set,window.addEventListener(\"pagehide\",(function(){o.emit({name:r,respond:!1},o.id)})),o.listen(t,(function(){return N.__awaiter(o,void 0,void 0,(function(){var e=this;return N.__generator(this,(function(n){return Promise.resolve().then((function(){e._onConnectCallback.forEach((function(e){e()}))})),[2,this.id]}))}))})),o}return N.__extends(n,e),n.prototype.onConnect=function(e){var n=this;return this._onConnectCallback.add(e),function(){n._onConnectCallback.delete(e)}},n}(be.Transport);n.SharedWorkerClientTransport=o;var i=function(e){function n(n){void 0===n&&(n={});var o=this,i=n.listener,s=void 0===i?function(e){var n=this;return this[F.callbackKey]=e,function(){n.ports.forEach((function(e){e._handler&&e.removeEventListener(\"message\",e._handler),delete e._handler})),self.close()}}:i,a=n.sender,c=void 0===a?function(e){var n,t,r=null!==(n=e.transfer)&&void 0!==n?n:[];delete e.transfer;var i=null===(t=e._extra)||void 0===t?void 0:t._port;if(i)delete e._extra._port,i.postMessage(e,r);else if(\"response\"===e.type&&o.ports.has(e.requestId)){o.ports.get(e.requestId).postMessage(e,r)}else o.ports.forEach((function(n){n.postMessage(e,r)})),o.tempPorts.forEach((function(n){n.postMessage(e,r)}))}:a,l=N.__rest(n,[\"listener\",\"sender\"]);(o=e.call(this,N.__assign(N.__assign({},l),{listener:s,sender:c}))||this).ports=new Map,o.tempPorts=new Set,o._onConnectCallback=new Set,o._onDisconnectCallback=new Set;var u=(0,be.getAction)(o[F.prefixKey],r);return self.addEventListener(\"connect\",(function(e){return N.__awaiter(o,void 0,void 0,(function(){var n,r,o,i=this;return N.__generator(this,(function(s){switch(s.label){case 0:(n=e.ports[0])._handler=function(e){var t,r=e.data;r.hasRespond&&(r._extra=null!==(t=r._extra)&&void 0!==t?t:{},r._extra._port=n),r.action===u&&i.ports.has(r.requestId)&&(i.ports.delete(r.requestId),i._onDisconnectCallback.forEach((function(e){e(r.requestId)}))),i[F.callbackKey](r)},n.addEventListener(\"message\",n._handler),n.start(),this.tempPorts.add(n),s.label=1;case 1:return s.trys.push([1,3,,4]),[4,this.emit({name:t,_extra:{_port:n}})];case 2:return r=s.sent(),this.ports.set(r,n),this.tempPorts.delete(n),this._onConnectCallback.forEach((function(e){e(r)})),[3,4];case 3:return o=s.sent(),this.tempPorts.delete(n),console.error(o),[3,4];case 4:return[2]}}))}))})),o}return N.__extends(n,e),n.prototype.onConnect=function(e){var n=this;return this._onConnectCallback.add(e),function(){n._onConnectCallback.delete(e)}},n.prototype.onDisconnect=function(e){var n=this;return this._onDisconnectCallback.add(e),function(){n._onDisconnectCallback.delete(e)}},n}(be.Transport);n.SharedWorkerInternalTransport=i,n.SharedWorkerTransport={Client:o,Worker:i}})),Ee=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.ServiceWorkerTransport=n.ServiceWorkerServiceTransport=n.ServiceWorkerClientTransport=void 0;var t=function(e){function n(n){var t=n.worker,r=n.useOnSafari,o=void 0===r||r,i=n.listener,s=void 0===i?function(e){var n=function(n){var t=n.data;e(function(e,n){try{return\"string\"==typeof e&&n&&(0,ge.detectSafari)()?JSON.parse(e):e}catch(n){console.error(\"Failed to parse:\",e)}return e}(t,o))};return navigator.serviceWorker.addEventListener(\"message\",n),function(){navigator.serviceWorker.removeEventListener(\"message\",n)}}:i,a=n.sender,c=void 0===a?function(e){var n,r=null!==(n=e.transfer)&&void 0!==n?n:[];delete e.transfer,t.postMessage(e,r)}:a,l=N.__rest(n,[\"worker\",\"useOnSafari\",\"listener\",\"sender\"]);return e.call(this,N.__assign(N.__assign({},l),{listener:s,sender:c}))||this}return N.__extends(n,e),n}(be.Transport);n.ServiceWorkerClientTransport=t;var r=function(e){function n(n){void 0===n&&(n={});var t=this,r=n.useOnSafari,o=void 0===r||r,i=n.listener,s=void 0===i?function(e){var n=function(n){var t=n.data,r=n.source;t._clientId=r.id,e(t)};return self.addEventListener(\"message\",n),function(){return self.removeEventListener(\"message\",n)}}:i,a=n.sender,c=void 0===a?function(e){return N.__awaiter(t,void 0,void 0,(function(){var n,t,r,i,s;return N.__generator(this,(function(a){switch(a.label){case 0:return n=e.transfer||[],delete e.transfer,t=function(e,n){try{return n&&(0,ge.detectSafari)()?JSON.stringify(e):e}catch(n){throw console.error(\"Failed to stringify:\",e),n}}(e,o),e._clientId?[4,self.clients.get(e._clientId)]:[3,2];case 1:return(r=a.sent())?(delete e._clientId,r.postMessage(t,n),[2]):(console.warn('The client \"'.concat(e._clientId,'\" is closed.')),[2]);case 2:return(i=null===(s=e._extra)||void 0===s?void 0:s._client)?(delete e._extra._client,i.postMessage(t,n),[2]):(self.clients.matchAll().then((function(e){return e.map((function(e){return e.postMessage(t,n)}))})),[2])}}))}))}:a,l=N.__rest(n,[\"useOnSafari\",\"listener\",\"sender\"]);return t=e.call(this,N.__assign(N.__assign({},l),{listener:s,sender:c}))||this,self.addEventListener(\"activate\",(function(e){e.waitUntil(self.clients.claim())})),t}return N.__extends(n,e),n}(be.Transport);n.ServiceWorkerServiceTransport=r,n.ServiceWorkerTransport={Client:t,Service:r}})),Ke=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.BroadcastTransport=void 0;var t=function(e){function n(n){void 0===n&&(n={});var t=n.channel,r=void 0===t?\"$$BroadcastChannel_Transport$$\":t,o=n.broadcastChannel,i=void 0===o?new BroadcastChannel(r):o,s=n.listener,a=void 0===s?function(e){var n=function(n){var t=n.data;e(t)};return i.addEventListener(\"message\",n),function(){i.removeEventListener(\"message\",n)}}:s,c=n.sender,l=void 0===c?function(e){return i.postMessage(e)}:c,u=N.__rest(n,[\"channel\",\"broadcastChannel\",\"listener\",\"sender\"]);return e.call(this,N.__assign(N.__assign({},u),{listener:a,sender:l}))||this}return N.__extends(n,e),n}(be.Transport);n.BroadcastTransport=t})),Se=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.ElectronTransport=n.ElectronRendererTransport=n.ElectronMainTransport=void 0;var t=\"$$Electron_Transport$$\",r=function(e){function n(n){var r=n.ipcMain,o=n.browserWindow,i=n.channel,s=void 0===i?t:i,a=n.listener,c=void 0===a?function(e){var n=function(n,t){e(t)};return r.on(s,n),function(){r.off(s,n)}}:a,l=n.sender,u=void 0===l?function(e){return o.webContents.send(s,e)}:l,f=N.__rest(n,[\"ipcMain\",\"browserWindow\",\"channel\",\"listener\",\"sender\"]);return e.call(this,N.__assign(N.__assign({},f),{listener:c,sender:u}))||this}return N.__extends(n,e),n}(be.Transport);n.ElectronMainTransport=r;var o=function(e){function n(n){var r=n.ipcRenderer,o=n.channel,i=void 0===o?t:o,s=n.listener,a=void 0===s?function(e){var n=function(n,t){e(t)};return r.on(i,n),function(){r.off(i,n)}}:s,c=n.sender,l=void 0===c?function(e){return r.send(i,e)}:c,u=N.__rest(n,[\"ipcRenderer\",\"channel\",\"listener\",\"sender\"]);return e.call(this,N.__assign(N.__assign({},u),{listener:a,sender:l}))||this}return N.__extends(n,e),n}(be.Transport);n.ElectronRendererTransport=o,n.ElectronTransport={Main:r,Renderer:o}})),Me=t((function(n,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.BrowserExtensionsTransport=t.BrowserExtensionsClientTransport=t.BrowserExtensionsMainTransport=t.BrowserExtensionsGenericTransport=void 0;var r=\"__DATA_TRANSPORT_BROWSER_EXTENSIONS__\",o=function(n){function t(t){var r;void 0===t&&(t={});var o=t.browser,i=void 0===o?null!==(r=e.browser)&&void 0!==r?r:e.chrome:o,s=t.listener,a=void 0===s?function(e){this[F.callbackKey]=e;var n=function(n,t,r){n._sendResponse=r,e(n)};return i.runtime.onMessage.addListener(n),function(){i.runtime.onMessage.removeListener(n)}}:s,c=t.sender,l=void 0===c?function(e){if(e._sendResponse){var n=e._sendResponse;delete e._sendResponse,n(e)}else i.runtime.sendMessage(e,{},this[F.callbackKey])}:c,u=N.__rest(t,[\"browser\",\"listener\",\"sender\"]);return n.call(this,N.__assign(N.__assign({},u),{listener:a,sender:l}))||this}return N.__extends(t,n),t}(be.Transport);t.BrowserExtensionsGenericTransport=o;var i=\"sharedworker-connect\",s=function(n){function t(t){void 0===t&&(t={});var o,s=this,a=t.browser,c=void 0===a?null!==(o=e.browser)&&void 0!==o?o:e.chrome:a,l=t.listener,u=void 0===l?function(e){var n=this;return this[F.callbackKey]=e,function(){n.ports.forEach((function(e){e.disconnect()}))}}:l,f=t.sender,d=void 0===f?function(e){var n,t=null===(n=e._extra)||void 0===n?void 0:n._port;if(t)delete e._port,t.postMessage(e);else if(\"response\"===e.type&&this.ports.has(e.requestId)){this.ports.get(e.requestId).postMessage(e)}else this.ports.forEach((function(n){n.postMessage(e)}))}:f,p=N.__rest(t,[\"browser\",\"listener\",\"sender\"]);return(s=n.call(this,N.__assign(N.__assign({},p),{listener:u,sender:d}))||this).ports=new Map,s._onConnectCallback=new Set,s._onDisconnectCallback=new Set,c.runtime.onConnect.addListener((function(e){return N.__awaiter(s,void 0,void 0,(function(){var n,t,o=this;return N.__generator(this,(function(s){switch(s.label){case 0:return e.name!==r?[3,2]:(n=function(n){var t;n._extra=null!==(t=n._extra)&&void 0!==t?t:{},n._extra._port=e,o[F.callbackKey](n)},e.onMessage.addListener(n),e.onDisconnect.addListener((function(){e.onMessage.removeListener(n),o.ports.forEach((function(n,t){n===e&&o.ports.delete(t)}))})),[4,this.emit({name:i,_extra:{_port:e}})]);case 1:t=s.sent(),this.ports.set(t,e),this._onConnectCallback.forEach((function(e){e(t)})),s.label=2;case 2:return[2]}}))}))})),s}return N.__extends(t,n),t.prototype.onConnect=function(e){var n=this;return this._onConnectCallback.add(e),function(){n._onConnectCallback.delete(e)}},t.prototype.onDisconnect=function(e){var n=this;return this._onDisconnectCallback.add(e),function(){n._onDisconnectCallback.delete(e)}},t}(be.Transport);t.BrowserExtensionsMainTransport=s;var a=function(n){function t(t){void 0===t&&(t={});var o,s=this,a=t.browser,c=void 0===a?null!==(o=e.browser)&&void 0!==o?o:e.chrome:a,l=t.port,u=void 0===l?c.runtime.connect({name:r}):l,f=t.listener,d=void 0===f?function(e){var n=function(n){e(n)};return u.onMessage.addListener(n),function(){u.onMessage.removeListener(n)}}:f,p=t.sender,_=void 0===p?function(e){u.postMessage(e)}:p,v=N.__rest(t,[\"browser\",\"port\",\"listener\",\"sender\"]);return(s=n.call(this,N.__assign(N.__assign({},v),{listener:d,sender:_}))||this)._onConnectCallback=new Set,s.listen(i,(function(){return N.__awaiter(s,void 0,void 0,(function(){var e=this;return N.__generator(this,(function(n){return Promise.resolve().then((function(){e._onConnectCallback.forEach((function(e){e()}))})),[2,this.id]}))}))})),s}return N.__extends(t,n),t.prototype.onConnect=function(e){var n=this;return this._onConnectCallback.add(e),function(){n._onConnectCallback.delete(e)}},t}(be.Transport);t.BrowserExtensionsClientTransport=a,t.BrowserExtensionsTransport={Main:s,Client:a}})),Ce=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.WebRTCTransport=void 0;var t=61440,r=function(e){function n(n){var r=this,o=n.peer,i=n.listener,s=void 0===i?function(e){var n=function(n){var t,o,i,s=JSON.parse(n),a=Object.prototype.hasOwnProperty.call(s,\"request\")?\"request\":\"response\",c=null!==(i=r.receiveBuffer.get(s.__DATA_TRANSPORT_UUID__))&&void 0!==i?i:{data:[],timestamp:Date.now()};if(r.receiveBuffer.set(s.__DATA_TRANSPORT_UUID__,c),c.data[s.chunkId]=s[a],c.data.length=s.length,c.timestamp=Date.now(),c.data.filter((function(e){return e})).length===s.length){var l=JSON.parse(c.data.join(\"\"));s[a]=\"request\"===a?l:l[0],delete s.length,e(s),r.receiveBuffer.delete(s.__DATA_TRANSPORT_UUID__);try{for(var u=N.__values(r.receiveBuffer),f=u.next();!f.done;f=u.next()){var d=N.__read(f.value,2),p=d[0],_=d[1];Date.now()-_.timestamp>6e4&&r.receiveBuffer.delete(p)}}catch(e){t={error:e}}finally{try{f&&!f.done&&(o=u.return)&&o.call(u)}finally{if(t)throw t.error}}}};return o.on(\"data\",n),function(){o.off(\"data\",n)}}:i,a=n.sender,c=void 0===a?function(e){var n,r=Object.prototype.hasOwnProperty.call(e,\"request\")?\"request\":\"response\";e[r]=JSON.stringify(\"request\"===r?e.request:void 0!==e.response?[e.response]:[]);for(var i=0,s=Math.ceil(e[r].length/t);e[r].length>0;){var a=N.__assign(N.__assign({},e),((n={})[r]=e[r].slice(0,t),n.chunkId=i,n.length=s,n));o.send(JSON.stringify(a)),e[r]=e[r].slice(t),i+=1}}:a,l=N.__rest(n,[\"peer\",\"listener\",\"sender\"]);if((r=e.call(this,N.__assign(N.__assign({},l),{listener:s,sender:c}))||this).receiveBuffer=new Map,o){var u=!1,f=[],d=o.send.bind(o),p=function(){u=!1;for(var e=f.shift(),n=function(){if(o._channel.bufferedAmount&&o._channel.bufferedAmount>65536){u=!0,f.unshift(e);var n=function(){o._channel.removeEventListener(\"bufferedamountlow\",n),p()};return o._channel.addEventListener(\"bufferedamountlow\",n),{value:void 0}}try{d(e),e=f.shift()}catch(e){throw new Error(\"Error send message to peer: \".concat(e.message))}};e;){var t=n();if(\"object\"==typeof t)return t.value}};o.send=function(e){f.push(e),u||p()}}return r}return N.__extends(n,e),n}(be.Transport);n.WebRTCTransport=r})),ke=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.MessageTransport=void 0;var t=function(e){function n(n){var t=n.targetOrigin,r=void 0===t?\"*\":t,o=n.listener,i=void 0===o?function(e){var n=function(n){var t=n.data;return e(t)};return window.addEventListener(\"message\",n),function(){window.removeEventListener(\"message\",n)}}:o,s=n.sender,a=void 0===s?function(e){window.postMessage(e,r)}:s,c=N.__rest(n,[\"targetOrigin\",\"listener\",\"sender\"]);return e.call(this,N.__assign(N.__assign({},c),{listener:i,sender:a}))||this}return N.__extends(n,e),n}(be.Transport);n.MessageTransport=t})),Oe=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.ProcessTransport=n.ChildProcessTransport=n.MainProcessTransport=void 0;var t=function(e){function n(n){var t=n.child,r=n.listener,o=void 0===r?function(e){var n=function(n){e(n)};return t.on(\"message\",n),function(){t.off(\"message\",n)}}:r,i=n.sender,s=void 0===i?function(e){t.send(e)}:i,a=N.__rest(n,[\"child\",\"listener\",\"sender\"]);return e.call(this,N.__assign(N.__assign({},a),{listener:o,sender:s}))||this}return N.__extends(n,e),n}(be.Transport);n.MainProcessTransport=t;var r=function(e){function n(n){void 0===n&&(n={});var t=n.listener,r=void 0===t?function(e){var n=function(n){e(n)};return process.on(\"message\",n),function(){process.off(\"message\",n)}}:t,o=n.sender,i=void 0===o?function(e){process.send(e)}:o,s=N.__rest(n,[\"listener\",\"sender\"]);return e.call(this,N.__assign(N.__assign({},s),{listener:r,sender:i}))||this}return N.__extends(n,e),n}(be.Transport);n.ChildProcessTransport=r,n.ProcessTransport={Main:t,Child:r}})),xe=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),N.__exportStar(me,n),N.__exportStar(we,n),N.__exportStar(Te,n),N.__exportStar(Ee,n),N.__exportStar(Ke,n),N.__exportStar(Se,n),N.__exportStar(Me,n),N.__exportStar(Ce,n),N.__exportStar(ke,n),N.__exportStar(Oe,n)})),Pe=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.createTransport=n.TransportMap=void 0,n.TransportMap={Base:be.Transport,MessageTransport:xe.MessageTransport,IFrameMain:xe.IFrameTransport.Main,IFrameInternal:xe.IFrameTransport.IFrame,BrowserExtensions:xe.BrowserExtensionsGenericTransport,BrowserExtensionsMain:xe.BrowserExtensionsTransport.Main,BrowserExtensionsClient:xe.BrowserExtensionsTransport.Client,ElectronMain:xe.ElectronTransport.Main,ElectronRenderer:xe.ElectronTransport.Renderer,ServiceWorkerClient:xe.ServiceWorkerTransport.Client,ServiceWorkerService:xe.ServiceWorkerTransport.Service,WebWorkerClient:xe.WorkerTransport.Main,WebWorkerInternal:xe.WorkerTransport.Worker,WebRTC:xe.WebRTCTransport,Broadcast:xe.BroadcastTransport,SharedWorkerClient:xe.SharedWorkerTransport.Client,SharedWorkerInternal:xe.SharedWorkerTransport.Worker,MainProcess:xe.ProcessTransport.Main,ChildProcess:xe.ProcessTransport.Child};n.createTransport=function(e,t){return new n.TransportMap[e](t)}})),Ie=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.mockPorts=void 0;n.mockPorts=function(){var e=new Set,n=null;return{main:{listener:function(e){return n=e,function(){n=null}},sender:function(n){var t,r;try{for(var o=N.__values(e),i=o.next();!i.done;i=o.next()){(0,i.value)(JSON.parse(JSON.stringify(n)))}}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}}},create:function(){return{listener:function(n){return e.add(n),function(){e.delete(n)}},sender:function(e){null==n||n(JSON.parse(JSON.stringify(e)))}}}}}})),je=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.merge=void 0;n.merge=function(e,n){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];var o=N.__spreadArray([e,n],N.__read(t),!1);if(void 0===e||void 0===n)throw new Error(\"Only more than one transports can be merged.\");return(0,Pe.createTransport)(\"Base\",{listener:function(e){var n=function(n){e(n)},t=o.map((function(e){return e[F.listenerKey](n)}));return function(){t.forEach((function(e){return e&&e()}))}},sender:function(e){o.forEach((function(n){n[F.senderKey](e)}))}})}})),Re=t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0})})),Ae=n(t((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.verboseKey=n.logKey=n.listenKey=n.senderKey=n.listenerKey=void 0,Object.defineProperty(n,\"listenerKey\",{enumerable:!0,get:function(){return F.listenerKey}}),Object.defineProperty(n,\"senderKey\",{enumerable:!0,get:function(){return F.senderKey}}),Object.defineProperty(n,\"listenKey\",{enumerable:!0,get:function(){return F.listenKey}}),Object.defineProperty(n,\"logKey\",{enumerable:!0,get:function(){return F.logKey}}),Object.defineProperty(n,\"verboseKey\",{enumerable:!0,get:function(){return F.verboseKey}}),N.__exportStar($,n),N.__exportStar(be,n),N.__exportStar(Pe,n),N.__exportStar(xe,n),N.__exportStar(Ie,n),N.__exportStar(je,n),N.__exportStar(Re,n)})));module.exports=Ae;\n//# sourceMappingURL=index.cjs.js.map\n","'use strict';\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t\tpath: basedir,\n\t\texports: {},\n\t\trequire: function (path, base) {\n\t\t\treturn commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n\t\t}\n\t}, fn(module, module.exports), module.exports;\n}\n\nfunction getAugmentedNamespace(n) {\n\tif (n.__esModule) return n;\n\tvar a = Object.defineProperty({}, '__esModule', {value: true});\n\tObject.keys(n).forEach(function (k) {\n\t\tvar d = Object.getOwnPropertyDescriptor(n, k);\n\t\tObject.defineProperty(a, k, d.get ? d : {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn n[k];\n\t\t\t}\n\t\t});\n\t});\n\treturn a;\n}\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\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/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\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 __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n}\r\nfunction __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n}\r\nfunction __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n}\r\nfunction __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n}\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nfunction __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\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\n/** @deprecated */\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\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}\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n}\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nfunction __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nfunction __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nfunction __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nfunction __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nvar tslib_es6 = {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\n\nvar tslib_es6$1 = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\t__extends: __extends,\n\tget __assign () { return __assign; },\n\t__rest: __rest,\n\t__decorate: __decorate,\n\t__param: __param,\n\t__esDecorate: __esDecorate,\n\t__runInitializers: __runInitializers,\n\t__propKey: __propKey,\n\t__setFunctionName: __setFunctionName,\n\t__metadata: __metadata,\n\t__awaiter: __awaiter,\n\t__generator: __generator,\n\t__createBinding: __createBinding,\n\t__exportStar: __exportStar,\n\t__values: __values,\n\t__read: __read,\n\t__spread: __spread,\n\t__spreadArrays: __spreadArrays,\n\t__spreadArray: __spreadArray,\n\t__await: __await,\n\t__asyncGenerator: __asyncGenerator,\n\t__asyncDelegator: __asyncDelegator,\n\t__asyncValues: __asyncValues,\n\t__makeTemplateObject: __makeTemplateObject,\n\t__importStar: __importStar,\n\t__importDefault: __importDefault,\n\t__classPrivateFieldGet: __classPrivateFieldGet,\n\t__classPrivateFieldSet: __classPrivateFieldSet,\n\t__classPrivateFieldIn: __classPrivateFieldIn,\n\t__addDisposableResource: __addDisposableResource,\n\t__disposeResources: __disposeResources,\n\t__rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\n\t'default': tslib_es6\n});\n\nvar constant = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.transportType = exports.transportKey = exports.beforeEmitResolveKey = exports.beforeEmitKey = exports.produceKey = exports.prefixKey = exports.timeoutKey = exports.callbackKey = exports.originalListensMapKey = exports.verboseKey = exports.logKey = exports.serializerKey = exports.listensMapKey = exports.requestsMapKey = exports.senderKey = exports.listenKey = exports.listenerKey = void 0;\nexports.listenerKey = Symbol('listener');\nexports.listenKey = Symbol('listen');\nexports.senderKey = Symbol('sender');\nexports.requestsMapKey = Symbol('requestsMap');\nexports.listensMapKey = Symbol('listensMap');\nexports.serializerKey = Symbol('serializer');\nexports.logKey = Symbol('log');\nexports.verboseKey = Symbol('verbose');\nexports.originalListensMapKey = Symbol('originalListensMap');\nexports.callbackKey = Symbol('callback');\nexports.timeoutKey = Symbol('timeout');\nexports.prefixKey = Symbol('prefix');\nexports.produceKey = Symbol('produce');\nexports.beforeEmitKey = Symbol('beforeEmit');\nexports.beforeEmitResolveKey = Symbol('beforeEmitResolve');\nexports.transportKey = '__DATA_TRANSPORT_UUID__';\nexports.transportType = {\n request: 'request',\n response: 'response',\n};\n\n});\n\nvar tslib_1 = /*@__PURE__*/getAugmentedNamespace(tslib_es6$1);\n\nvar listen_1 = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listen = void 0;\n\n\nvar listen = function (target, key, descriptor) {\n var _a;\n var fn = descriptor.value;\n {\n if (typeof fn !== 'function') {\n console.warn(\"The decorator '@listen' can only decorate methods, '\".concat(key, \"' is NOT a methods.\"));\n return descriptor;\n }\n }\n target[constant.originalListensMapKey] = (_a = target[constant.originalListensMapKey]) !== null && _a !== void 0 ? _a : new Map();\n target[constant.originalListensMapKey].set(key, fn);\n return tslib_1.__assign(tslib_1.__assign({}, descriptor), { value: function () {\n {\n throw new Error(\"The method '\".concat(key, \"' is a listen function that can NOT be actively called.\"));\n }\n } });\n};\nexports.listen = listen;\n\n});\n\nvar decorators = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\ntslib_1.__exportStar(listen_1, exports);\n\n});\n\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}\n\nvar REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || unsafeStringify(b);\n}\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nconst v3 = v35('v3', 0x30, md5);\n\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar native = {\n randomUUID\n};\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nconst v5 = v35('v5', 0x50, sha1);\n\nvar nil = '00000000-0000-0000-0000-000000000000';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar esmBrowser = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tv1: v1,\n\tv3: v3,\n\tv4: v4,\n\tv5: v5,\n\tNIL: nil,\n\tversion: version,\n\tvalidate: validate,\n\tstringify: stringify,\n\tparse: parse\n});\n\nvar uuid_1 = /*@__PURE__*/getAugmentedNamespace(esmBrowser);\n\nvar utils = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateId = exports.detectSafari = void 0;\n\nvar detectSafari = function () {\n return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n};\nexports.detectSafari = detectSafari;\nvar generateId = function () {\n return (0, uuid_1.v4)({\n // In nodejs, crypto.getRandomValues() not supported.\n // workaround: https://github.com/uuidjs/uuid/issues/375\n rng: function () {\n var randomNumbers = new Array(16);\n var r;\n for (var i = 0; i < 16; i++) {\n if ((i & 0x03) === 0)\n r = Math.random() * 0x100000000;\n randomNumbers[i] = (r >>> ((i & 0x03) << 3)) & 0xff;\n }\n return randomNumbers;\n },\n });\n};\nexports.generateId = generateId;\n\n});\n\nvar transport = createCommonjsModule(function (module, exports) {\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transport = exports.getAction = void 0;\n\n\n\nvar DEFAULT_TIMEOUT = 60 * 1000;\nvar DEFAULT_RESPOND = true;\nvar DEFAULT_SILENT = false;\nvar DEFAULT_PREFIX = 'DataTransport';\nvar getAction = function (prefix, name) {\n return \"\".concat(prefix, \"-\").concat(name.toString());\n};\nexports.getAction = getAction;\nvar getListenName = function (prefix, action) {\n return action.replace(new RegExp(\"^\".concat(prefix, \"-\")), '');\n};\n/**\n * Create a base transport\n */\nvar Transport = /** @class */ (function () {\n function Transport(_b) {\n var listener = _b.listener, sender = _b.sender, _c = _b.timeout, timeout = _c === void 0 ? DEFAULT_TIMEOUT : _c, _d = _b.verbose, verbose = _d === void 0 ? false : _d, _e = _b.prefix, prefix = _e === void 0 ? DEFAULT_PREFIX : _e, _f = _b.listenKeys, listenKeys = _f === void 0 ? [] : _f, _g = _b.checkListen, checkListen = _g === void 0 ? true : _g, serializer = _b.serializer, logger = _b.logger;\n var _this = this;\n var _h, _j;\n this[_a] = new Map();\n this.id = (0, utils.generateId)();\n this[constant.listensMapKey] = (_h = this[constant.listensMapKey]) !== null && _h !== void 0 ? _h : new Map();\n this[constant.originalListensMapKey] = (_j = this[constant.originalListensMapKey]) !== null && _j !== void 0 ? _j : new Map();\n this[constant.listenerKey] = listener.bind(this);\n this[constant.senderKey] = sender.bind(this);\n this[constant.timeoutKey] = timeout;\n this[constant.prefixKey] = prefix;\n this[constant.serializerKey] = serializer;\n this[constant.verboseKey] = verbose;\n this[constant.logKey] = logger;\n new Set(listenKeys).forEach(function (key) {\n var _b;\n var fn = _this[key];\n {\n if (typeof fn !== 'function') {\n console.warn(\"'\".concat(key, \"' is NOT a methods or function.\"));\n }\n }\n _this[constant.originalListensMapKey].set(key, fn);\n Object.assign(_this, (_b = {},\n _b[key] = function () {\n {\n throw new Error(\"The method '\".concat(key, \"' is a listen function that can NOT be actively called.\"));\n }\n },\n _b));\n });\n this[constant.originalListensMapKey].forEach(function (value, name) {\n _this[constant.produceKey](name, value);\n });\n this[constant.listenKey] = function (options) {\n var _b, _c;\n if (_this[constant.verboseKey]) {\n if (typeof _this[constant.logKey] === 'function' && options) {\n _this[constant.logKey](options);\n }\n else {\n console.info('DataTransport Receive: ', options);\n }\n }\n if (options === null || options === void 0 ? void 0 : options[constant.transportKey]) {\n var listenName = getListenName(_this[constant.prefixKey], options.action);\n var hasListen = typeof _this[listenName] === 'function';\n if (options.type === constant.transportType.response) {\n var resolve = _this[constant.requestsMapKey].get(options[constant.transportKey]);\n if (resolve) {\n var response = options.response;\n resolve(typeof response === 'string' && ((_b = _this[constant.serializerKey]) === null || _b === void 0 ? void 0 : _b.parse)\n ? _this[constant.serializerKey].parse(response)\n : response);\n }\n else if (hasListen) {\n if ( checkListen) {\n console.warn(\"The type '\".concat(options.action, \"' event '\").concat(options[constant.transportKey], \"' has been resolved. Please check for a duplicate response.\"));\n }\n }\n }\n else if (options.type === constant.transportType.request) {\n var respond = _this[constant.listensMapKey].get(options.action);\n if (typeof respond === 'function') {\n var request = options.request;\n respond(typeof request === 'string' && ((_c = _this[constant.serializerKey]) === null || _c === void 0 ? void 0 : _c.parse)\n ? _this[constant.serializerKey].parse(request)\n : request, tslib_1.__assign(tslib_1.__assign({}, options), { transportId: options[constant.transportKey], hasRespond: options.hasRespond }));\n }\n else if (hasListen) {\n if ( checkListen) {\n console.error(\"The listen method or function '\".concat(listenName, \"' is NOT decorated by decorator '@listen' or be added 'listenKeys' list.\"));\n }\n }\n }\n }\n };\n var dispose = this[constant.listenerKey](this[constant.listenKey]);\n this.dispose = function () {\n if (typeof dispose === 'function') {\n _this[constant.requestsMapKey].clear();\n _this[constant.listensMapKey].clear();\n _this[constant.originalListensMapKey].clear();\n return dispose();\n }\n else {\n console.warn(\"The return value of the the '\".concat(_this.constructor.name, \"' transport's listener should be a 'dispose' function for removing the listener\"));\n }\n };\n }\n Transport.prototype[(_a = constant.requestsMapKey, constant.produceKey)] = function (name, fn) {\n var _this = this;\n // https://github.com/microsoft/TypeScript/issues/40465\n var action = (0, exports.getAction)(this[constant.prefixKey], name);\n this[constant.listensMapKey].set(action, function (request, _b) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var response, data;\n var _c;\n var _d;\n var hasRespond = _b.hasRespond, transportId = _b.transportId; _b.request; var args = tslib_1.__rest(_b, [\"hasRespond\", \"transportId\", \"request\"]);\n return tslib_1.__generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n if (!(typeof fn === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, fn.apply(this, request)];\n case 1:\n response = _e.sent();\n if (!hasRespond)\n return [2 /*return*/];\n data = tslib_1.__assign(tslib_1.__assign({}, args), (_c = { action: action, response: (typeof response !== 'undefined' &&\n ((_d = this[constant.serializerKey]) === null || _d === void 0 ? void 0 : _d.stringify)\n ? this[constant.serializerKey].stringify(response)\n : response), hasRespond: hasRespond }, _c[constant.transportKey] = transportId, _c.type = constant.transportType.response, _c.responseId = this.id, _c));\n this[constant.senderKey](data);\n return [3 /*break*/, 3];\n case 2: throw new Error(\"The listener for event \".concat(name, \" should be a function.\"));\n case 3: return [2 /*return*/];\n }\n });\n }); });\n };\n /**\n * Listen an event that transport data.\n *\n * @param name A transport action as listen message data action type\n * @param fn A transport listener\n */\n Transport.prototype.listen = function (name, fn) {\n var _this = this;\n if (typeof name === 'string') {\n if (this[constant.originalListensMapKey].get(name)) {\n throw new Error(\"Failed to listen to the event \\\"\".concat(name, \"\\\", the event \\\"\").concat(name, \"\\\" is already listened to.\"));\n }\n if (typeof fn === 'function') {\n this[constant.originalListensMapKey].set(name, fn);\n this[constant.produceKey](name, fn);\n }\n else {\n throw new Error(\"The listener for event \".concat(name, \" should be a function.\"));\n }\n }\n else {\n throw new Error(\"The event name \\\"\".concat(name.toString(), \"\\\" is not a string, it should be a string.\"));\n }\n return function () {\n _this[constant.originalListensMapKey].delete(name);\n var action = (0, exports.getAction)(_this[constant.prefixKey], name);\n _this[constant.listensMapKey].delete(action);\n };\n };\n /**\n * Emit an event that transport data.\n *\n * @param emitOptions A option for the transport data\n * @param request A request data\n *\n * @returns Return a response for the request.\n */\n Transport.prototype.emit = function (options) {\n var request = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n request[_i - 1] = arguments[_i];\n }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var params, hasRespond, isSilent, timeout, name, transportId, action, rawRequestData, timeoutId, promise;\n var _b;\n var _this = this;\n var _c, _d, _e, _f, _g;\n return tslib_1.__generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n params = typeof options === 'object' ? options : {};\n hasRespond = (_c = params.respond) !== null && _c !== void 0 ? _c : DEFAULT_RESPOND;\n isSilent = (_d = params.silent) !== null && _d !== void 0 ? _d : DEFAULT_SILENT;\n timeout = (_e = params.timeout) !== null && _e !== void 0 ? _e : this[constant.timeoutKey];\n name = (_f = params.name) !== null && _f !== void 0 ? _f : options;\n transportId = (0, utils.generateId)();\n if ( (!name || typeof name !== 'string')) {\n throw new Error(\"The event name should be a string, and it's required.\");\n }\n action = (0, exports.getAction)(this[constant.prefixKey], name);\n rawRequestData = tslib_1.__assign(tslib_1.__assign({}, (params._extra ? { _extra: params._extra } : {})), (_b = { type: constant.transportType.request, action: action, request: (typeof request !== 'undefined' && ((_g = this[constant.serializerKey]) === null || _g === void 0 ? void 0 : _g.stringify)\n ? this[constant.serializerKey].stringify(request)\n : request), hasRespond: hasRespond }, _b[constant.transportKey] = transportId, _b.requestId = this.id, _b));\n if (this[constant.verboseKey]) {\n if (typeof this[constant.logKey] === 'function') {\n this[constant.logKey](rawRequestData);\n }\n else {\n console.info('DataTransport Send: ', rawRequestData);\n }\n }\n if (!!hasRespond) return [3 /*break*/, 3];\n if (!(this[constant.beforeEmitKey] && !params.skipBeforeEmit)) return [3 /*break*/, 2];\n return [4 /*yield*/, this[constant.beforeEmitKey]];\n case 1:\n _h.sent();\n _h.label = 2;\n case 2:\n this[constant.senderKey](rawRequestData);\n return [2 /*return*/, Promise.resolve(undefined)];\n case 3:\n promise = Promise.race([\n new Promise(function (resolve) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this[constant.beforeEmitKey] && !params.skipBeforeEmit)) return [3 /*break*/, 2];\n return [4 /*yield*/, this[constant.beforeEmitKey]];\n case 1:\n _b.sent();\n _b.label = 2;\n case 2:\n this[constant.requestsMapKey].set(transportId, resolve);\n this[constant.senderKey](rawRequestData);\n return [2 /*return*/];\n }\n });\n }); }),\n new Promise(function (_, reject) {\n timeoutId = setTimeout(function () {\n reject();\n }, timeout);\n }),\n ]);\n return [2 /*return*/, promise\n .then(function (response) {\n // support Safari 10-11.1\n clearTimeout(timeoutId);\n _this[constant.requestsMapKey].delete(transportId);\n return response;\n })\n .catch(function (error) {\n clearTimeout(timeoutId);\n _this[constant.requestsMapKey].delete(transportId);\n if (typeof error === 'undefined') {\n if (isSilent)\n return;\n console.warn(\"The event '\".concat(action, \"' timed out for \").concat(timeout, \" seconds...\"));\n }\n else {\n {\n throw error;\n }\n }\n })];\n }\n });\n });\n };\n return Transport;\n}());\nexports.Transport = Transport;\n\n});\n\nvar iframeTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IFrameTransport = exports.IFrameInternalTransport = exports.IFrameMainTransport = void 0;\n\n\n\nvar connectEventName = 'iframe-connect';\nvar IFrameMainTransport = /** @class */ (function (_super) {\n tslib_1.__extends(IFrameMainTransport, _super);\n function IFrameMainTransport(_options) {\n var _this = this;\n var _a = _options.iframe, iframe = _a === void 0 ? document.querySelector('iframe') : _a, _b = _options.targetOrigin, targetOrigin = _b === void 0 ? '*' : _b, _c = _options.listener, listener = _c === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data, source = _a.source;\n var contentWindow = iframe.contentWindow;\n if (contentWindow && contentWindow === source) {\n return callback(data);\n }\n };\n window.addEventListener('message', handler);\n return function () {\n window.removeEventListener('message', handler);\n };\n } : _c, _d = _options.sender, sender = _d === void 0 ? function (message) {\n if (iframe) {\n iframe.contentWindow.postMessage(message, targetOrigin);\n }\n else if (window.frames[0]) {\n window.frames[0].postMessage(message, targetOrigin);\n }\n else {\n console.error('The current page does not have any iframe elements');\n }\n } : _d, skipConnectionCheck = _options.skipConnectionCheck, options = tslib_1.__rest(_options, [\"iframe\", \"targetOrigin\", \"listener\", \"sender\", \"skipConnectionCheck\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n if (!skipConnectionCheck) {\n var connect_1 = function () {\n _this.emit({\n // @ts-ignore\n name: connectEventName,\n silent: true,\n skipBeforeEmit: true,\n }).then(function (connected) {\n if (connected) {\n _this[constant.beforeEmitResolveKey]();\n }\n });\n };\n connect_1();\n _this[constant.beforeEmitKey] = new Promise(function (resolve) {\n _this[constant.beforeEmitResolveKey] = resolve;\n });\n // @ts-ignore\n _this.listen(connectEventName, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n this[constant.beforeEmitResolveKey]();\n return [2 /*return*/, true];\n });\n }); });\n // for iframe reload\n iframe === null || iframe === void 0 ? void 0 : iframe.addEventListener('load', function () {\n _this[constant.beforeEmitKey] = new Promise(function (resolve) {\n _this[constant.beforeEmitResolveKey] = resolve;\n });\n connect_1();\n });\n }\n return _this;\n }\n return IFrameMainTransport;\n}(transport.Transport));\nexports.IFrameMainTransport = IFrameMainTransport;\nvar IFrameInternalTransport = /** @class */ (function (_super) {\n tslib_1.__extends(IFrameInternalTransport, _super);\n function IFrameInternalTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _this = this;\n var _a = _options.targetOrigin, targetOrigin = _a === void 0 ? '*' : _a, _b = _options.listener, listener = _b === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data;\n return callback(data);\n };\n window.addEventListener('message', handler);\n return function () {\n window.removeEventListener('message', handler);\n };\n } : _b, _c = _options.sender, sender = _c === void 0 ? function (message) { return window.parent.postMessage(message, targetOrigin); } : _c, skipConnectionCheck = _options.skipConnectionCheck, options = tslib_1.__rest(_options, [\"targetOrigin\", \"listener\", \"sender\", \"skipConnectionCheck\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n if (!skipConnectionCheck) {\n _this.emit({\n // @ts-ignore\n name: connectEventName,\n silent: true,\n }).then(function (connected) {\n if (connected) {\n _this[constant.beforeEmitResolveKey]();\n }\n });\n _this[constant.beforeEmitKey] = new Promise(function (resolve) {\n _this[constant.beforeEmitResolveKey] = resolve;\n });\n // @ts-ignore\n _this.listen(connectEventName, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n this[constant.beforeEmitResolveKey]();\n return [2 /*return*/, true];\n });\n }); });\n }\n return _this;\n }\n return IFrameInternalTransport;\n}(transport.Transport));\nexports.IFrameInternalTransport = IFrameInternalTransport;\nexports.IFrameTransport = {\n Main: IFrameMainTransport,\n IFrame: IFrameInternalTransport,\n};\n\n});\n\nvar workerTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkerTransport = exports.WorkerInternalTransport = exports.WorkerMainTransport = void 0;\n\n\nvar connectEventName = 'worker-connect';\nvar WorkerMainTransport = /** @class */ (function (_super) {\n tslib_1.__extends(WorkerMainTransport, _super);\n function WorkerMainTransport(_options) {\n var _this = this;\n var worker = _options.worker, _a = _options.listener, listener = _a === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data;\n callback(data);\n };\n worker.addEventListener('message', handler);\n return function () {\n worker.removeEventListener('message', handler);\n };\n } : _a, _b = _options.sender, sender = _b === void 0 ? function (message) {\n var _a;\n var transfer = (_a = message.transfer) !== null && _a !== void 0 ? _a : [];\n delete message.transfer;\n worker.postMessage(message, transfer);\n } : _b, options = tslib_1.__rest(_options, [\"worker\", \"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n _this._connected = false;\n _this._handleConnectCallbacks = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n if (this._connected) {\n return [2 /*return*/];\n }\n this._connected = true;\n this._onConnectCallback.forEach(function (callback) {\n callback();\n });\n this._onConnectCallback.clear();\n return [2 /*return*/];\n });\n }); };\n _this._onConnectCallback = new Set();\n _this.emit({\n // @ts-ignore\n name: connectEventName,\n respond: true,\n silent: true,\n }).then(_this._handleConnectCallbacks);\n // @ts-ignore\n _this.listen(connectEventName, _this._handleConnectCallbacks);\n return _this;\n }\n WorkerMainTransport.prototype.onConnect = function (callback) {\n var _this = this;\n if (this._connected) {\n return callback();\n }\n this._onConnectCallback.add(callback);\n return function () {\n _this._onConnectCallback.delete(callback);\n };\n };\n return WorkerMainTransport;\n}(transport.Transport));\nexports.WorkerMainTransport = WorkerMainTransport;\nvar WorkerInternalTransport = /** @class */ (function (_super) {\n tslib_1.__extends(WorkerInternalTransport, _super);\n function WorkerInternalTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _this = this;\n var _a = _options.listener, listener = _a === void 0 ? function (callback) {\n var handler = (function (_a) {\n var data = _a.data;\n callback(data);\n });\n self.addEventListener('message', handler);\n return function () {\n self.removeEventListener('message', handler);\n };\n } : _a, _b = _options.sender, sender = _b === void 0 ? function (message) {\n var _a;\n var transfer = (_a = message.transfer) !== null && _a !== void 0 ? _a : [];\n delete message.transfer;\n postMessage(message, transfer);\n } : _b, options = tslib_1.__rest(_options, [\"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n _this._handleConnectCallbacks = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n if (this._connected) {\n return [2 /*return*/];\n }\n this._connected = true;\n this._onConnectCallback.forEach(function (callback) {\n callback();\n });\n this._onConnectCallback.clear();\n return [2 /*return*/];\n });\n }); };\n _this._connected = false;\n _this._onConnectCallback = new Set();\n _this.emit({\n // @ts-ignore\n name: connectEventName,\n respond: true,\n silent: true,\n }).then(_this._handleConnectCallbacks);\n // @ts-ignore\n _this.listen(connectEventName, _this._handleConnectCallbacks);\n return _this;\n }\n WorkerInternalTransport.prototype.onConnect = function (callback) {\n var _this = this;\n if (this._connected) {\n return callback();\n }\n this._onConnectCallback.add(callback);\n return function () {\n _this._onConnectCallback.delete(callback);\n };\n };\n return WorkerInternalTransport;\n}(transport.Transport));\nexports.WorkerInternalTransport = WorkerInternalTransport;\nexports.WorkerTransport = {\n Main: WorkerMainTransport,\n Worker: WorkerInternalTransport,\n};\n\n});\n\nvar sharedWorkerTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedWorkerTransport = exports.SharedWorkerInternalTransport = exports.SharedWorkerClientTransport = void 0;\n\n\n\nvar connectEventName = 'sharedworker-connect';\nvar disconnectEventName = 'sharedworker-disconnect';\nvar SharedWorkerClientTransport = /** @class */ (function (_super) {\n tslib_1.__extends(SharedWorkerClientTransport, _super);\n function SharedWorkerClientTransport(_options) {\n var _this = this;\n var worker = _options.worker, _a = _options.listener, listener = _a === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data;\n callback(data);\n };\n worker.port.addEventListener('message', handler);\n worker.port.start();\n return function () {\n worker.port.removeEventListener('message', handler);\n };\n } : _a, _b = _options.sender, sender = _b === void 0 ? function (message) {\n var _a;\n var transfer = (_a = message.transfer) !== null && _a !== void 0 ? _a : [];\n delete message.transfer;\n worker.port.postMessage(message, transfer);\n } : _b, options = tslib_1.__rest(_options, [\"worker\", \"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n _this._onConnectCallback = new Set();\n // do not use `unload` event\n // https://developer.chrome.com/docs/web-platform/deprecating-unload\n window.addEventListener('pagehide', function () {\n // @ts-ignore\n _this.emit({ name: disconnectEventName, respond: false }, _this.id);\n });\n // @ts-ignore\n _this.listen(connectEventName, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n Promise.resolve().then(function () {\n _this._onConnectCallback.forEach(function (callback) {\n callback();\n });\n });\n return [2 /*return*/, this.id];\n });\n }); });\n return _this;\n }\n SharedWorkerClientTransport.prototype.onConnect = function (callback) {\n var _this = this;\n this._onConnectCallback.add(callback);\n return function () {\n _this._onConnectCallback.delete(callback);\n };\n };\n return SharedWorkerClientTransport;\n}(transport.Transport));\nexports.SharedWorkerClientTransport = SharedWorkerClientTransport;\nvar SharedWorkerInternalTransport = /** @class */ (function (_super) {\n tslib_1.__extends(SharedWorkerInternalTransport, _super);\n function SharedWorkerInternalTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _this = this;\n var _a = _options.listener, listener = _a === void 0 ? function (callback) {\n var _this = this;\n this[constant.callbackKey] = callback;\n return function () {\n _this.ports.forEach(function (port) {\n port._handler && port.removeEventListener('message', port._handler);\n delete port._handler;\n });\n self.close();\n };\n } : _a, _b = _options.sender, sender = _b === void 0 ? function (message) {\n var _a, _b;\n var transfer = (_a = message.transfer) !== null && _a !== void 0 ? _a : [];\n delete message.transfer;\n var port = (_b = message._extra) === null || _b === void 0 ? void 0 : _b._port;\n // pick a client port for sender.\n if (port) {\n delete message._extra._port;\n port.postMessage(message, transfer);\n }\n else if (message.type === 'response' &&\n // @ts-ignore\n _this.ports.has(message.requestId)) {\n // @ts-ignore\n var port_1 = _this.ports.get(message.requestId);\n port_1.postMessage(message, transfer);\n }\n else {\n _this.ports.forEach(function (port) {\n port.postMessage(message, transfer);\n });\n _this.tempPorts.forEach(function (port) {\n port.postMessage(message, transfer);\n });\n }\n } : _b, options = tslib_1.__rest(_options, [\"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n _this.ports = new Map();\n _this.tempPorts = new Set();\n _this._onConnectCallback = new Set();\n _this._onDisconnectCallback = new Set();\n var disconnectActionName = (0, transport.getAction)(_this[constant.prefixKey], disconnectEventName);\n self.addEventListener('connect', function (e) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var port, id_1, err_1;\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n port = e.ports[0];\n port._handler = function (_a) {\n var _b;\n var data = _a.data;\n if (data.hasRespond) {\n data._extra = (_b = data._extra) !== null && _b !== void 0 ? _b : {};\n data._extra._port = port;\n }\n if (data.action === disconnectActionName &&\n _this.ports.has(data.requestId)) {\n // clear port and clientId when the port's client is disconnected.\n _this.ports.delete(data.requestId);\n _this._onDisconnectCallback.forEach(function (callback) {\n callback(data.requestId);\n });\n }\n _this[constant.callbackKey](data);\n };\n port.addEventListener('message', port._handler);\n port.start();\n this.tempPorts.add(port);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.emit({\n // @ts-ignore\n name: connectEventName,\n _extra: { _port: port },\n })];\n case 2:\n id_1 = _a.sent();\n this.ports.set(id_1, port);\n this.tempPorts.delete(port);\n this._onConnectCallback.forEach(function (callback) {\n callback(id_1);\n });\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n this.tempPorts.delete(port);\n console.error(err_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); });\n return _this;\n }\n SharedWorkerInternalTransport.prototype.onConnect = function (callback) {\n var _this = this;\n this._onConnectCallback.add(callback);\n return function () {\n _this._onConnectCallback.delete(callback);\n };\n };\n SharedWorkerInternalTransport.prototype.onDisconnect = function (callback) {\n var _this = this;\n this._onDisconnectCallback.add(callback);\n return function () {\n _this._onDisconnectCallback.delete(callback);\n };\n };\n return SharedWorkerInternalTransport;\n}(transport.Transport));\nexports.SharedWorkerInternalTransport = SharedWorkerInternalTransport;\nexports.SharedWorkerTransport = {\n Client: SharedWorkerClientTransport,\n Worker: SharedWorkerInternalTransport,\n};\n\n});\n\nvar serviceWorkerTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceWorkerTransport = exports.ServiceWorkerServiceTransport = exports.ServiceWorkerClientTransport = void 0;\n\n\n\nvar DEFAULT_USE_ON_SAFARI = true;\nvar decode = function (data, useOnSafari) {\n try {\n return useOnSafari && (0, utils.detectSafari)() ? JSON.stringify(data) : data;\n }\n catch (e) {\n console.error(\"Failed to stringify:\", data);\n throw e;\n }\n};\nvar encode = function (data, useOnSafari) {\n try {\n return typeof data === 'string' && useOnSafari && (0, utils.detectSafari)()\n ? JSON.parse(data)\n : data;\n }\n catch (e) {\n console.error(\"Failed to parse:\", data);\n }\n return data;\n};\nvar ServiceWorkerClientTransport = /** @class */ (function (_super) {\n tslib_1.__extends(ServiceWorkerClientTransport, _super);\n function ServiceWorkerClientTransport(_options) {\n var worker = _options.worker, _a = _options.useOnSafari, useOnSafari = _a === void 0 ? DEFAULT_USE_ON_SAFARI : _a, _b = _options.listener, listener = _b === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data;\n callback(encode(data, useOnSafari));\n };\n navigator.serviceWorker.addEventListener('message', handler);\n return function () {\n navigator.serviceWorker.removeEventListener('message', handler);\n };\n } : _b, _c = _options.sender, sender = _c === void 0 ? function (message) {\n var _a;\n var transfer = (_a = message.transfer) !== null && _a !== void 0 ? _a : [];\n delete message.transfer;\n worker.postMessage(message, transfer);\n } : _c, options = tslib_1.__rest(_options, [\"worker\", \"useOnSafari\", \"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return ServiceWorkerClientTransport;\n}(transport.Transport));\nexports.ServiceWorkerClientTransport = ServiceWorkerClientTransport;\nvar ServiceWorkerServiceTransport = /** @class */ (function (_super) {\n tslib_1.__extends(ServiceWorkerServiceTransport, _super);\n function ServiceWorkerServiceTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _this = this;\n var _a = _options.useOnSafari, useOnSafari = _a === void 0 ? DEFAULT_USE_ON_SAFARI : _a, _b = _options.listener, listener = _b === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data, source = _a.source;\n data._clientId = source.id;\n callback(data);\n };\n self.addEventListener('message', handler);\n return function () { return self.removeEventListener('message', handler); };\n } : _b, _c = _options.sender, sender = _c === void 0 ? function (message) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var transfer, data, client_1, client;\n var _a;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n transfer = message.transfer || [];\n delete message.transfer;\n data = decode(message, useOnSafari);\n if (!message._clientId) return [3 /*break*/, 2];\n return [4 /*yield*/, self.clients.get(message._clientId)];\n case 1:\n client_1 = _b.sent();\n if (!client_1) {\n console.warn(\"The client \\\"\".concat(message._clientId, \"\\\" is closed.\"));\n return [2 /*return*/];\n }\n delete message._clientId;\n client_1.postMessage(data, transfer);\n return [2 /*return*/];\n case 2:\n client = (_a = message._extra) === null || _a === void 0 ? void 0 : _a._client;\n if (client) {\n delete message._extra._client;\n client.postMessage(data, transfer);\n return [2 /*return*/];\n }\n self.clients\n .matchAll()\n .then(function (all) {\n return all.map(function (client) { return client.postMessage(data, transfer); });\n });\n return [2 /*return*/];\n }\n });\n }); } : _c, options = tslib_1.__rest(_options, [\"useOnSafari\", \"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n self.addEventListener('activate', function (event) {\n event.waitUntil(self.clients.claim());\n });\n return _this;\n }\n return ServiceWorkerServiceTransport;\n}(transport.Transport));\nexports.ServiceWorkerServiceTransport = ServiceWorkerServiceTransport;\nexports.ServiceWorkerTransport = {\n Client: ServiceWorkerClientTransport,\n Service: ServiceWorkerServiceTransport,\n};\n\n});\n\nvar broadcastTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BroadcastTransport = void 0;\n\n\nvar defaultChannel = '$$BroadcastChannel_Transport$$';\nvar BroadcastTransport = /** @class */ (function (_super) {\n tslib_1.__extends(BroadcastTransport, _super);\n function BroadcastTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _a = _options.channel, channel = _a === void 0 ? defaultChannel : _a, _b = _options.broadcastChannel, broadcastChannel = _b === void 0 ? new BroadcastChannel(channel) : _b, _c = _options.listener, listener = _c === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data;\n callback(data);\n };\n broadcastChannel.addEventListener('message', handler);\n return function () {\n broadcastChannel.removeEventListener('message', handler);\n };\n } : _c, _d = _options.sender, sender = _d === void 0 ? function (message) { return broadcastChannel.postMessage(message); } : _d, options = tslib_1.__rest(_options, [\"channel\", \"broadcastChannel\", \"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return BroadcastTransport;\n}(transport.Transport));\nexports.BroadcastTransport = BroadcastTransport;\n\n});\n\nvar electronTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElectronTransport = exports.ElectronRendererTransport = exports.ElectronMainTransport = void 0;\n\n\nvar defaultChannel = '$$Electron_Transport$$';\nvar ElectronMainTransport = /** @class */ (function (_super) {\n tslib_1.__extends(ElectronMainTransport, _super);\n function ElectronMainTransport(_options) {\n var ipcMain = _options.ipcMain, browserWindow = _options.browserWindow, _a = _options.channel, channel = _a === void 0 ? defaultChannel : _a, _b = _options.listener, listener = _b === void 0 ? function (callback) {\n var handler = function (_, data) {\n callback(data);\n };\n ipcMain.on(channel, handler);\n return function () {\n ipcMain.off(channel, handler);\n };\n } : _b, _c = _options.sender, sender = _c === void 0 ? function (message) { return browserWindow.webContents.send(channel, message); } : _c, options = tslib_1.__rest(_options, [\"ipcMain\", \"browserWindow\", \"channel\", \"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return ElectronMainTransport;\n}(transport.Transport));\nexports.ElectronMainTransport = ElectronMainTransport;\nvar ElectronRendererTransport = /** @class */ (function (_super) {\n tslib_1.__extends(ElectronRendererTransport, _super);\n function ElectronRendererTransport(_options) {\n var ipcRenderer = _options.ipcRenderer, _a = _options.channel, channel = _a === void 0 ? defaultChannel : _a, _b = _options.listener, listener = _b === void 0 ? function (callback) {\n var handler = function (_, data) {\n callback(data);\n };\n ipcRenderer.on(channel, handler);\n return function () {\n ipcRenderer.off(channel, handler);\n };\n } : _b, _c = _options.sender, sender = _c === void 0 ? function (message) { return ipcRenderer.send(channel, message); } : _c, options = tslib_1.__rest(_options, [\"ipcRenderer\", \"channel\", \"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return ElectronRendererTransport;\n}(transport.Transport));\nexports.ElectronRendererTransport = ElectronRendererTransport;\nexports.ElectronTransport = {\n Main: ElectronMainTransport,\n Renderer: ElectronRendererTransport,\n};\n\n});\n\nvar browserExtensionsTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserExtensionsTransport = exports.BrowserExtensionsClientTransport = exports.BrowserExtensionsMainTransport = exports.BrowserExtensionsGenericTransport = void 0;\n\n\n\nvar transportName = '__DATA_TRANSPORT_BROWSER_EXTENSIONS__';\nvar BrowserExtensionsGenericTransport = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserExtensionsGenericTransport, _super);\n function BrowserExtensionsGenericTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _a;\n var _b = _options.browser, browser = _b === void 0 ? (_a = commonjsGlobal.browser) !== null && _a !== void 0 ? _a : commonjsGlobal.chrome : _b, _c = _options.listener, listener = _c === void 0 ? function (callback) {\n this[constant.callbackKey] = callback;\n var handler = function (data, sender, sendResponse) {\n data._sendResponse = sendResponse;\n callback(data);\n };\n browser.runtime.onMessage.addListener(handler);\n return function () {\n browser.runtime.onMessage.removeListener(handler);\n };\n } : _c, _d = _options.sender, sender = _d === void 0 ? function (message) {\n if (message._sendResponse) {\n var sendResponse = message._sendResponse;\n delete message._sendResponse;\n sendResponse(message);\n }\n else {\n // @ts-ignore\n browser.runtime.sendMessage(message, {}, this[constant.callbackKey]);\n }\n } : _d, options = tslib_1.__rest(_options, [\"browser\", \"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return BrowserExtensionsGenericTransport;\n}(transport.Transport));\nexports.BrowserExtensionsGenericTransport = BrowserExtensionsGenericTransport;\nvar connectEventName = 'sharedworker-connect';\nvar BrowserExtensionsMainTransport = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserExtensionsMainTransport, _super);\n function BrowserExtensionsMainTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _this = this;\n var _a;\n var _b = _options.browser, browser = _b === void 0 ? (_a = commonjsGlobal.browser) !== null && _a !== void 0 ? _a : commonjsGlobal.chrome : _b, _c = _options.listener, listener = _c === void 0 ? function (callback) {\n var _this = this;\n this[constant.callbackKey] = callback;\n return function () {\n _this.ports.forEach(function (port) {\n port.disconnect();\n });\n };\n } : _c, _d = _options.sender, sender = _d === void 0 ? function (message) {\n var _a;\n var port = (_a = message._extra) === null || _a === void 0 ? void 0 : _a._port;\n if (port) {\n delete message._port;\n port.postMessage(message);\n }\n else if (message.type === 'response' &&\n // @ts-ignore\n this.ports.has(message.requestId)) {\n // @ts-ignore\n var port_1 = this.ports.get(message.requestId);\n port_1.postMessage(message);\n }\n else {\n this.ports.forEach(function (port) {\n port.postMessage(message);\n });\n }\n } : _d, options = tslib_1.__rest(_options, [\"browser\", \"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n _this.ports = new Map();\n _this._onConnectCallback = new Set();\n _this._onDisconnectCallback = new Set();\n browser.runtime.onConnect.addListener(function (port) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var handler_1, id_1;\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(port.name === transportName)) return [3 /*break*/, 2];\n handler_1 = function (data) {\n var _a;\n data._extra = (_a = data._extra) !== null && _a !== void 0 ? _a : {};\n data._extra._port = port;\n _this[constant.callbackKey](data);\n };\n port.onMessage.addListener(handler_1);\n port.onDisconnect.addListener(function () {\n port.onMessage.removeListener(handler_1);\n _this.ports.forEach(function (_port, id) {\n if (_port === port) {\n _this.ports.delete(id);\n }\n });\n });\n return [4 /*yield*/, this.emit({\n // @ts-ignore\n name: connectEventName,\n _extra: { _port: port },\n })];\n case 1:\n id_1 = _a.sent();\n this.ports.set(id_1, port);\n this._onConnectCallback.forEach(function (callback) {\n callback(id_1);\n });\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); });\n return _this;\n }\n BrowserExtensionsMainTransport.prototype.onConnect = function (callback) {\n var _this = this;\n this._onConnectCallback.add(callback);\n return function () {\n _this._onConnectCallback.delete(callback);\n };\n };\n BrowserExtensionsMainTransport.prototype.onDisconnect = function (callback) {\n var _this = this;\n this._onDisconnectCallback.add(callback);\n return function () {\n _this._onDisconnectCallback.delete(callback);\n };\n };\n return BrowserExtensionsMainTransport;\n}(transport.Transport));\nexports.BrowserExtensionsMainTransport = BrowserExtensionsMainTransport;\nvar BrowserExtensionsClientTransport = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserExtensionsClientTransport, _super);\n function BrowserExtensionsClientTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _this = this;\n var _a;\n var _b = _options.browser, browser = _b === void 0 ? (_a = commonjsGlobal.browser) !== null && _a !== void 0 ? _a : commonjsGlobal.chrome : _b, _c = _options.port, port = _c === void 0 ? browser.runtime.connect({ name: transportName }) : _c, _d = _options.listener, listener = _d === void 0 ? function (callback) {\n var handler = function (options) {\n callback(options);\n };\n port.onMessage.addListener(handler);\n return function () {\n port.onMessage.removeListener(handler);\n };\n } : _d, _e = _options.sender, sender = _e === void 0 ? function (message) {\n port.postMessage(message);\n } : _e, options = tslib_1.__rest(_options, [\"browser\", \"port\", \"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n _this._onConnectCallback = new Set();\n // @ts-ignore\n _this.listen(connectEventName, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n Promise.resolve().then(function () {\n _this._onConnectCallback.forEach(function (callback) {\n callback();\n });\n });\n return [2 /*return*/, this.id];\n });\n }); });\n return _this;\n }\n BrowserExtensionsClientTransport.prototype.onConnect = function (callback) {\n var _this = this;\n this._onConnectCallback.add(callback);\n return function () {\n _this._onConnectCallback.delete(callback);\n };\n };\n return BrowserExtensionsClientTransport;\n}(transport.Transport));\nexports.BrowserExtensionsClientTransport = BrowserExtensionsClientTransport;\nexports.BrowserExtensionsTransport = {\n Main: BrowserExtensionsMainTransport,\n Client: BrowserExtensionsClientTransport,\n};\n\n});\n\nvar webRTCTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebRTCTransport = void 0;\n\n\nvar MAX_CHUNK_SIZE = 1024 * 60;\nvar BUFFER_FULL_THRESHOLD = 1024 * 64;\nvar EXPIRED_TIME = 1000 * 60;\nvar WebRTCTransport = /** @class */ (function (_super) {\n tslib_1.__extends(WebRTCTransport, _super);\n function WebRTCTransport(_options) {\n var _this = this;\n var peer = _options.peer, _a = _options.listener, listener = _a === void 0 ? function (callback) {\n var handler = function (data) {\n var e_1, _a;\n var _b;\n var message = JSON.parse(data);\n var key = Object.prototype.hasOwnProperty.call(message, 'request')\n ? 'request'\n : 'response';\n var buffer = (_b = _this.receiveBuffer.get(message.__DATA_TRANSPORT_UUID__)) !== null && _b !== void 0 ? _b : {\n data: [],\n timestamp: Date.now(),\n };\n _this.receiveBuffer.set(message.__DATA_TRANSPORT_UUID__, buffer);\n buffer.data[message.chunkId] = message[key];\n buffer.data.length = message.length;\n buffer.timestamp = Date.now();\n var isComplete = buffer.data.filter(function (item) { return item; }).length === message.length;\n if (isComplete) {\n var data_1 = JSON.parse(buffer.data.join(''));\n message[key] = key === 'request' ? data_1 : data_1[0];\n delete message.length;\n callback(message);\n _this.receiveBuffer.delete(message.__DATA_TRANSPORT_UUID__);\n try {\n for (var _c = tslib_1.__values(_this.receiveBuffer), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = tslib_1.__read(_d.value, 2), id = _e[0], item = _e[1];\n if (Date.now() - item.timestamp > EXPIRED_TIME) {\n _this.receiveBuffer.delete(id);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n };\n peer.on('data', handler);\n return function () {\n peer.off('data', handler);\n };\n } : _a, _b = _options.sender, sender = _b === void 0 ? function (message) {\n var _a;\n var key = Object.prototype.hasOwnProperty.call(message, 'request')\n ? 'request'\n : 'response';\n message[key] = JSON.stringify(key === 'request'\n ? message.request\n : typeof message.response !== 'undefined'\n ? [message.response]\n : []);\n var chunkId = 0;\n var allChunksSize = Math.ceil(message[key].length / MAX_CHUNK_SIZE);\n while (message[key].length > 0) {\n var data = tslib_1.__assign(tslib_1.__assign({}, message), (_a = {}, _a[key] = message[key].slice(0, MAX_CHUNK_SIZE), _a.chunkId = chunkId, _a.length = allChunksSize, _a));\n peer.send(JSON.stringify(data));\n message[key] = message[key].slice(MAX_CHUNK_SIZE);\n chunkId += 1;\n }\n } : _b, options = tslib_1.__rest(_options, [\"peer\", \"listener\", \"sender\"]);\n _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n _this.receiveBuffer = new Map();\n if (peer) {\n var webRTCPaused_1 = false;\n var webRTCMessageQueue_1 = [];\n var peerSend_1 = peer.send.bind(peer);\n var sendMessageQueued_1 = function () {\n webRTCPaused_1 = false;\n var message = webRTCMessageQueue_1.shift();\n var _loop_1 = function () {\n if (peer._channel.bufferedAmount &&\n peer._channel.bufferedAmount > BUFFER_FULL_THRESHOLD) {\n webRTCPaused_1 = true;\n webRTCMessageQueue_1.unshift(message);\n var listener_1 = function () {\n peer._channel.removeEventListener('bufferedamountlow', listener_1);\n sendMessageQueued_1();\n };\n peer._channel.addEventListener('bufferedamountlow', listener_1);\n return { value: void 0 };\n }\n try {\n peerSend_1(message);\n message = webRTCMessageQueue_1.shift();\n }\n catch (error) {\n throw new Error(\"Error send message to peer: \".concat(error.message));\n }\n };\n while (message) {\n var state_1 = _loop_1();\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n };\n peer.send = function (chunk) {\n webRTCMessageQueue_1.push(chunk);\n if (webRTCPaused_1) {\n return;\n }\n sendMessageQueued_1();\n };\n }\n return _this;\n }\n return WebRTCTransport;\n}(transport.Transport));\nexports.WebRTCTransport = WebRTCTransport;\n\n});\n\nvar messageTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageTransport = void 0;\n\n\nvar MessageTransport = /** @class */ (function (_super) {\n tslib_1.__extends(MessageTransport, _super);\n function MessageTransport(_options) {\n var _a = _options.targetOrigin, targetOrigin = _a === void 0 ? '*' : _a, _b = _options.listener, listener = _b === void 0 ? function (callback) {\n var handler = function (_a) {\n var data = _a.data;\n return callback(data);\n };\n window.addEventListener('message', handler);\n return function () {\n window.removeEventListener('message', handler);\n };\n } : _b, _c = _options.sender, sender = _c === void 0 ? function (message) {\n window.postMessage(message, targetOrigin);\n } : _c, options = tslib_1.__rest(_options, [\"targetOrigin\", \"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return MessageTransport;\n}(transport.Transport));\nexports.MessageTransport = MessageTransport;\n\n});\n\nvar processTransport = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessTransport = exports.ChildProcessTransport = exports.MainProcessTransport = void 0;\n\n\nvar MainProcessTransport = /** @class */ (function (_super) {\n tslib_1.__extends(MainProcessTransport, _super);\n function MainProcessTransport(_options) {\n var child = _options.child, _a = _options.listener, listener = _a === void 0 ? function (callback) {\n var handler = function (data) {\n callback(data);\n };\n child.on('message', handler);\n return function () {\n child.off('message', handler);\n };\n } : _a, _b = _options.sender, sender = _b === void 0 ? function (message) {\n child.send(message);\n } : _b, options = tslib_1.__rest(_options, [\"child\", \"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return MainProcessTransport;\n}(transport.Transport));\nexports.MainProcessTransport = MainProcessTransport;\nvar ChildProcessTransport = /** @class */ (function (_super) {\n tslib_1.__extends(ChildProcessTransport, _super);\n function ChildProcessTransport(_options) {\n if (_options === void 0) { _options = {}; }\n var _a = _options.listener, listener = _a === void 0 ? function (callback) {\n var handler = function (data) {\n callback(data);\n };\n process.on('message', handler);\n return function () {\n process.off('message', handler);\n };\n } : _a, _b = _options.sender, sender = _b === void 0 ? function (message) {\n // @ts-ignore\n process.send(message);\n } : _b, options = tslib_1.__rest(_options, [\"listener\", \"sender\"]);\n return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this;\n }\n return ChildProcessTransport;\n}(transport.Transport));\nexports.ChildProcessTransport = ChildProcessTransport;\nexports.ProcessTransport = {\n Main: MainProcessTransport,\n Child: ChildProcessTransport,\n};\n\n});\n\nvar transports = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\ntslib_1.__exportStar(iframeTransport, exports);\ntslib_1.__exportStar(workerTransport, exports);\ntslib_1.__exportStar(sharedWorkerTransport, exports);\ntslib_1.__exportStar(serviceWorkerTransport, exports);\ntslib_1.__exportStar(broadcastTransport, exports);\ntslib_1.__exportStar(electronTransport, exports);\ntslib_1.__exportStar(browserExtensionsTransport, exports);\ntslib_1.__exportStar(webRTCTransport, exports);\ntslib_1.__exportStar(messageTransport, exports);\ntslib_1.__exportStar(processTransport, exports);\n\n});\n\nvar createTransport_1 = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createTransport = exports.TransportMap = void 0;\n\n\nexports.TransportMap = {\n Base: transport.Transport,\n MessageTransport: transports.MessageTransport,\n IFrameMain: transports.IFrameTransport.Main,\n IFrameInternal: transports.IFrameTransport.IFrame,\n BrowserExtensions: transports.BrowserExtensionsGenericTransport,\n BrowserExtensionsMain: transports.BrowserExtensionsTransport.Main,\n BrowserExtensionsClient: transports.BrowserExtensionsTransport.Client,\n ElectronMain: transports.ElectronTransport.Main,\n ElectronRenderer: transports.ElectronTransport.Renderer,\n ServiceWorkerClient: transports.ServiceWorkerTransport.Client,\n ServiceWorkerService: transports.ServiceWorkerTransport.Service,\n WebWorkerClient: transports.WorkerTransport.Main,\n WebWorkerInternal: transports.WorkerTransport.Worker,\n WebRTC: transports.WebRTCTransport,\n Broadcast: transports.BroadcastTransport,\n SharedWorkerClient: transports.SharedWorkerTransport.Client,\n SharedWorkerInternal: transports.SharedWorkerTransport.Worker,\n MainProcess: transports.ProcessTransport.Main,\n ChildProcess: transports.ProcessTransport.Child,\n};\n/**\n * Create a transport instance.\n *\n * @param name transport type name\n * @param options transport options\n *\n * @returns Return a transport instance.\n */\nvar createTransport = function (name, options) {\n return new exports.TransportMap[name](options);\n};\nexports.createTransport = createTransport;\n\n});\n\nvar mockPorts_1 = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mockPorts = void 0;\n\n/**\n * Mock ports for testing\n */\nvar mockPorts = function () {\n var emitter = new Set();\n var mainCallback = null;\n return {\n main: {\n listener: function (callback) {\n mainCallback = callback;\n return function () {\n mainCallback = null;\n };\n },\n sender: function (message) {\n var e_1, _a;\n try {\n for (var emitter_1 = tslib_1.__values(emitter), emitter_1_1 = emitter_1.next(); !emitter_1_1.done; emitter_1_1 = emitter_1.next()) {\n var emit = emitter_1_1.value;\n emit(JSON.parse(JSON.stringify(message)));\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (emitter_1_1 && !emitter_1_1.done && (_a = emitter_1.return)) _a.call(emitter_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n },\n },\n create: function () { return ({\n listener: function (callback) {\n emitter.add(callback);\n return function () {\n emitter.delete(callback);\n };\n },\n sender: function (message) {\n mainCallback === null || mainCallback === void 0 ? void 0 : mainCallback(JSON.parse(JSON.stringify(message)));\n },\n }); },\n };\n};\nexports.mockPorts = mockPorts;\n\n});\n\nvar merge_1 = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.merge = void 0;\n\n\n\n/**\n * Merge multiple transports into one transport\n */\nvar merge = function (first, seconds) {\n var _args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _args[_i - 2] = arguments[_i];\n }\n var args = tslib_1.__spreadArray([first, seconds], tslib_1.__read(_args), false);\n if (typeof first === 'undefined' || typeof seconds === 'undefined') {\n throw new Error(\"Only more than one transports can be merged.\");\n }\n return (0, createTransport_1.createTransport)('Base', {\n listener: function (callback) {\n var handler = function (data) {\n callback(data);\n };\n var disposers = args.map(function (transport) {\n return transport[constant.listenerKey](handler);\n });\n return function () {\n disposers.forEach(function (dispose) { return dispose && dispose(); });\n };\n },\n sender: function (message) {\n args.forEach(function (transport) {\n transport[constant.senderKey](message);\n });\n },\n });\n};\nexports.merge = merge;\n\n});\n\nvar _interface = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n\n});\n\nvar dist = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.verboseKey = exports.logKey = exports.listenKey = exports.senderKey = exports.listenerKey = void 0;\n\n\nObject.defineProperty(exports, \"listenerKey\", { enumerable: true, get: function () { return constant.listenerKey; } });\nObject.defineProperty(exports, \"senderKey\", { enumerable: true, get: function () { return constant.senderKey; } });\nObject.defineProperty(exports, \"listenKey\", { enumerable: true, get: function () { return constant.listenKey; } });\nObject.defineProperty(exports, \"logKey\", { enumerable: true, get: function () { return constant.logKey; } });\nObject.defineProperty(exports, \"verboseKey\", { enumerable: true, get: function () { return constant.verboseKey; } });\ntslib_1.__exportStar(decorators, exports);\ntslib_1.__exportStar(transport, exports);\ntslib_1.__exportStar(createTransport_1, exports);\ntslib_1.__exportStar(transports, exports);\ntslib_1.__exportStar(mockPorts_1, exports);\ntslib_1.__exportStar(merge_1, exports);\ntslib_1.__exportStar(_interface, exports);\n\n});\n\nvar index = /*@__PURE__*/getDefaultExportFromCjs(dist);\n\nmodule.exports = index;\n//# sourceMappingURL=index.cjs.development.js.map\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../dist/index.cjs.js');\n} else {\n module.exports = require('../dist/index.cjs.development.js');\n}\n","import { createTransport } from 'data-transport';\nimport type { Patches } from 'mutative';\nimport type {\n Store,\n ClientTransportOptions,\n CreateState,\n ClientTransport\n} from './interface';\nimport type { Internal } from './internal';\n\nexport const createAsyncClientStore = <T extends CreateState>(\n createStore: (options: { share?: 'client' }) => {\n store: Store<T>;\n internal: Internal<T>;\n },\n asyncStoreClientOption: ClientTransportOptions\n) => {\n const { store: asyncClientStore } = createStore({\n share: 'client'\n });\n // the transport is in the worker or shared worker, and the client is in the main thread.\n // This store can't be directly executed by any of the store's methods\n // its methods are proxied to the worker or share worker for execution.\n // and the executed patch is sent to the store to be applied to synchronize the state.\n const transport: ClientTransport = asyncStoreClientOption.worker\n ? createTransport(\n asyncStoreClientOption.worker instanceof SharedWorker\n ? 'SharedWorkerClient'\n : 'WebWorkerClient',\n {\n worker: asyncStoreClientOption.worker as SharedWorker,\n prefix: asyncClientStore.name\n }\n )\n : asyncStoreClientOption.clientTransport;\n if (!transport) {\n throw new Error('transport is required');\n }\n asyncClientStore.transport = transport;\n let sequence: number;\n const fullSync = async () => {\n const latest = await transport.emit('fullSync');\n asyncClientStore.apply(JSON.parse(latest.state));\n sequence = latest.sequence;\n };\n if (typeof transport.onConnect !== 'function') {\n throw new Error('transport.onConnect is required');\n }\n transport.onConnect?.(async () => {\n await fullSync();\n });\n transport.listen('update', async (options) => {\n if (\n typeof options.sequence === 'number' &&\n options.sequence === sequence + 1\n ) {\n sequence = options.sequence;\n asyncClientStore.apply(undefined, options.patches);\n } else {\n await fullSync();\n }\n });\n const { name, ..._store } = asyncClientStore;\n return Object.assign(\n {\n [name]: () => asyncClientStore.getState()\n }[name],\n _store\n );\n};\n\nexport const emit = <T extends CreateState>(\n store: Store<T>,\n internal: Internal<T>,\n patches?: Patches\n) => {\n if (store.transport && patches?.length) {\n internal.sequence += 1;\n // it is not necessary to respond to the update event\n store.transport.emit(\n {\n name: 'update',\n respond: false\n },\n {\n patches: patches,\n sequence: internal.sequence\n }\n );\n }\n};\n\nexport const handleDraft = <T extends CreateState>(\n store: Store<T>,\n internal: Internal<T>\n) => {\n internal.rootState = internal.backupState;\n const [, patches, inversePatches] = internal.finalizeDraft();\n const finalPatches = store.patch\n ? store.patch({ patches, inversePatches })\n : { patches, inversePatches };\n if (finalPatches.patches.length) {\n store.apply(internal.rootState as T, finalPatches.patches);\n // 3rd party model will send update notifications on its own after `store.apply` in mutableInstance mode\n emit(store, internal, finalPatches.patches);\n }\n};\n","const isEqual = (x: unknown, y: unknown) => {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n }\n return x !== x && y !== y;\n};\n\nexport const areShallowEqualWithArray = (\n prev: any[] | null | IArguments,\n next: any[] | null | IArguments\n) => {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n const { length } = prev;\n for (let i = 0; i < length; i += 1) {\n if (!isEqual(prev[i], next[i])) {\n return false;\n }\n }\n return true;\n};\n\nexport const mergeObject = (target: any, source: any, isSlice?: boolean) => {\n if (isSlice) {\n if (typeof source === 'object' && source !== null) {\n for (const key in source) {\n if (typeof source[key] === 'object' && source[key] !== null) {\n Object.assign(target[key], source[key]);\n }\n }\n }\n } else {\n Object.assign(target, source);\n }\n};\n\nexport const uuid = () => {\n let timestamp = new Date().getTime();\n const uuidTemplate = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\n const uuid = uuidTemplate.replace(/[xy]/g, (char) => {\n let randomNum = (timestamp + Math.random() * 16) % 16 | 0;\n timestamp = Math.floor(timestamp / 16);\n return (char === 'x' ? randomNum : (randomNum & 0x3) | 0x8).toString(16);\n });\n return uuid;\n};\n","import type { Store } from './interface';\nimport { areShallowEqualWithArray } from './utils';\n\nexport class Computed {\n constructor(\n public deps: (state: Store['getState']) => any[],\n public fn: (...args: any[]) => any\n ) {}\n}\n\nconst defaultMemoize = (func: (...args: any) => any) => {\n const lastArgs: WeakMap<any, IArguments | null> = new WeakMap();\n const lastResult: WeakMap<any, unknown> = new WeakMap();\n return function (this: ThisType<unknown>) {\n if (!areShallowEqualWithArray(lastArgs.get(this) ?? [], arguments)) {\n lastResult.set(this, func.apply(this, arguments as any));\n }\n lastArgs.set(this, arguments);\n return lastResult.get(this);\n };\n};\n\nconst createSelectorCreatorWithArray = (\n memoize: (...args: any) => (..._args: any) => any = defaultMemoize\n) => {\n return (\n dependenciesFunc: (that: any) => any[],\n resultFunc: (...args: any) => any\n ) => {\n const memoizedResultFunc = memoize(function (this: ThisType<unknown>) {\n return resultFunc.apply(this, arguments as any);\n });\n return function (this: ThisType<unknown>) {\n return memoizedResultFunc.apply(\n this,\n dependenciesFunc.apply(null, [this])\n );\n };\n };\n};\n\nexport const createSelectorWithArray = createSelectorCreatorWithArray();\n","import {\n create as createWithMutative,\n type Draft,\n isDraft,\n type Patches\n} from 'mutative';\nimport { Computed, createSelectorWithArray } from './computed';\nimport type {\n ClientStoreOptions,\n CreateState,\n Store,\n StoreOptions\n} from './interface';\nimport type { Internal } from './internal';\nimport { handleDraft } from './asyncClientStore';\nimport { uuid } from './utils';\n\nexport const getRawState = <T extends CreateState>(\n store: Store<T>,\n internal: Internal<T>,\n initialState: any,\n options: StoreOptions<T> | ClientStoreOptions<T>\n) => {\n const rawState = {} as Record<string, any>;\n const handle = (_rawState: any, _initialState: any, sliceKey?: string) => {\n internal.mutableInstance = store.toRaw?.(_initialState);\n const descriptors = Object.getOwnPropertyDescriptors(_initialState);\n Object.entries(descriptors).forEach(([key, descriptor]) => {\n if (Object.prototype.hasOwnProperty.call(descriptor, 'value')) {\n if (typeof descriptor.value !== 'function') {\n const isComputed = descriptor.value instanceof Computed;\n if (internal.mutableInstance) {\n Object.defineProperty(_rawState, key, {\n get: () => internal.mutableInstance[key],\n set: (value) => {\n internal.mutableInstance[key] = value;\n },\n enumerable: true\n });\n } else if (!isComputed) {\n _rawState[key] = descriptor.value;\n }\n if (isComputed) {\n if (internal.mutableInstance) {\n throw new Error(\n 'Computed is not supported with mutable instance'\n );\n }\n // manually handle computed property\n const { deps, fn } = descriptor.value as Computed;\n const depsCallbackSelector = createSelectorWithArray(\n () => [internal.rootState],\n () => {\n return deps(internal.module as Store<T>['getState']);\n }\n );\n const selector = createSelectorWithArray(\n (that) => depsCallbackSelector.call(that),\n fn\n );\n descriptor.get = function () {\n return selector.call(this);\n };\n } else {\n if (sliceKey) {\n descriptor.get = () => (internal.rootState as any)[sliceKey][key];\n descriptor.set = (value: unknown) => {\n (internal.rootState as any)[sliceKey][key] = value;\n };\n } else {\n descriptor.get = () => (internal.rootState as any)[key];\n descriptor.set = (value: unknown) => {\n (internal.rootState as any)[key] = value;\n };\n }\n }\n // handle state property\n delete descriptor.value;\n delete descriptor.writable;\n } else if (store.share === 'client') {\n descriptor.value = (...args: unknown[]) => {\n let actionId: string | undefined;\n let done: ((result: any) => void) | undefined;\n if (store.trace) {\n actionId = uuid();\n store.trace!({\n method: key,\n parameters: args,\n id: actionId,\n sliceKey\n });\n done = (result: any) => {\n store.trace!({\n method: key,\n id: actionId!,\n result,\n sliceKey\n });\n };\n }\n const keys = sliceKey ? [sliceKey, key] : [key];\n // emit the action to worker or main thread execute\n return store\n .transport!.emit('execute', keys, args)\n .then((result: any) => {\n if (result?.$$Error) {\n done?.(result);\n throw new Error(result.$$Error);\n }\n done?.(result);\n return result;\n });\n };\n } else {\n const fn = descriptor.value;\n descriptor.value = (...args: unknown[]) => {\n let actionId: string | undefined;\n let done: ((result: any) => void) | undefined;\n if (store.trace) {\n actionId = uuid();\n store.trace({\n method: key,\n parameters: args,\n id: actionId,\n sliceKey\n });\n done = (result: any) => {\n store.trace!({\n method: key,\n id: actionId!,\n result,\n sliceKey\n });\n };\n }\n const enablePatches =\n store.transport ?? (options as StoreOptions<T>).enablePatches;\n if (\n internal.mutableInstance &&\n !internal.isBatching &&\n enablePatches\n ) {\n let result: any;\n const handleResult = (isDrafted?: boolean) => {\n handleDraft(store, internal);\n if (isDrafted) {\n internal.backupState = internal.rootState;\n const [draft, finalize] = createWithMutative(\n internal.rootState,\n {\n enablePatches: true\n }\n );\n internal.finalizeDraft = finalize as () => [\n T,\n Patches,\n Patches\n ];\n internal.rootState = draft as Draft<T>;\n }\n };\n const isDrafted = isDraft(internal.rootState);\n if (isDrafted) {\n handleResult();\n }\n internal.backupState = internal.rootState;\n const [draft, finalize] = createWithMutative(internal.rootState, {\n enablePatches: true\n });\n internal.finalizeDraft = finalize as () => [T, Patches, Patches];\n internal.rootState = draft as Draft<T>;\n try {\n result = fn.apply(\n sliceKey ? store.getState()[sliceKey] : store.getState(),\n args\n );\n } finally {\n if (result instanceof Promise) {\n // if (process.env.NODE_ENV === 'development') {\n // console.warn(\n // 'It will be combined with the next state in the async function.'\n // );\n // }\n return result.finally(() => {\n const result = handleResult(isDrafted);\n done?.(result);\n return result;\n });\n }\n handleResult(isDrafted);\n }\n done?.(result);\n return result;\n }\n if (internal.mutableInstance && store.act) {\n const result = store.act(() => {\n return fn.apply(\n sliceKey ? store.getState()[sliceKey] : store.getState(),\n args\n );\n });\n done?.(result);\n return result;\n }\n const result = fn.apply(\n sliceKey ? store.getState()[sliceKey] : store.getState(),\n args\n );\n done?.(result);\n return result;\n };\n }\n }\n });\n // it should be a immutable state\n const slice = Object.defineProperties({}, descriptors);\n return slice;\n };\n if (store.isSliceStore) {\n internal.module = {} as T;\n Object.entries(initialState).forEach(([key, value]) => {\n rawState[key] = {};\n internal.module[key] = handle(rawState[key], value, key);\n });\n } else {\n internal.module = handle(rawState, initialState) as T;\n }\n return rawState;\n};\n","import {\n type Draft,\n create as createWithMutative,\n isDraft,\n Patches\n} from 'mutative';\nimport type {\n ClientStoreOptions,\n CreateState,\n Store,\n StoreOptions\n} from './interface';\nimport type { Internal } from './internal';\nimport { mergeObject } from './utils';\nimport { emit, handleDraft } from './asyncClientStore';\nimport { Computed } from './computed';\n\nexport const handleState = <T extends CreateState>(\n store: Store<T>,\n internal: Internal<T>,\n options: StoreOptions<T> | ClientStoreOptions<T>\n): {\n setState: Store['setState'];\n getState: Store['getState'];\n} => {\n const setState: Store['setState'] = (\n next,\n updater = (next) => {\n const merge = (_next = next) => {\n mergeObject(internal.rootState, _next, store.isSliceStore);\n };\n const fn =\n typeof next === 'function'\n ? () => {\n const returnValue = next(internal.module);\n if (returnValue instanceof Promise) {\n throw new Error(\n 'setState with async function is not supported'\n );\n }\n if (typeof returnValue === 'object' && returnValue !== null) {\n merge(returnValue);\n }\n }\n : merge;\n const enablePatches =\n store.transport ?? (options as StoreOptions<T>).enablePatches;\n if (!enablePatches) {\n if (internal.mutableInstance) {\n if (store.act) {\n store.act(() => {\n fn.apply(null);\n });\n return [];\n }\n fn.apply(null);\n return [];\n }\n // best performance by default for immutable state\n // TODO: supporting nested set functions?\n try {\n internal.backupState = internal.rootState;\n internal.rootState = createWithMutative(\n internal.rootState,\n (draft) => {\n internal.rootState = draft as Draft<any>;\n return fn.apply(null);\n }\n );\n } catch (error) {\n internal.rootState = internal.backupState;\n throw error;\n }\n internal.listeners.forEach((listener) => listener());\n return [];\n }\n internal.backupState = internal.rootState;\n let patches: Patches;\n let inversePatches: Patches;\n try {\n const result = createWithMutative(\n internal.rootState,\n (draft) => {\n internal.rootState = draft as Draft<T>;\n return fn.apply(null);\n },\n {\n enablePatches: true\n }\n );\n patches = result[1];\n inversePatches = result[2];\n } finally {\n internal.rootState = internal.backupState;\n }\n const finalPatches = store.patch\n ? store.patch({ patches, inversePatches })\n : { patches, inversePatches };\n if (finalPatches.patches.length) {\n store.apply(internal.rootState as T, finalPatches.patches);\n if (!internal.mutableInstance) {\n internal.listeners.forEach((listener) => listener());\n }\n }\n return [internal.rootState as any, patches, inversePatches];\n }\n ) => {\n if (store.share === 'client') {\n throw new Error(\n `setState() cannot be called in the client store. To update the state, please trigger a store method with setState() instead.`\n );\n }\n if (internal.isBatching) {\n throw new Error('setState cannot be called within the updater');\n }\n internal.isBatching = true;\n let result: void | [] | [any, Patches, Patches];\n try {\n const isDrafted = internal.mutableInstance && isDraft(internal.rootState);\n if (isDrafted) {\n handleDraft(store, internal);\n }\n result = updater(next);\n if (isDrafted) {\n internal.backupState = internal.rootState;\n const [draft, finalize] = createWithMutative(\n internal.rootState as any,\n {\n enablePatches: true\n }\n );\n internal.finalizeDraft = finalize;\n internal.rootState = draft;\n }\n } finally {\n internal.isBatching = false;\n }\n emit(store, internal, result?.[1]);\n return result;\n };\n const getState = (\n deps?: (...args: any) => any,\n selector?: (...args: any) => any\n ) => (deps && selector ? new Computed(deps, selector) : internal.module);\n return { setState, getState };\n};\n","import type { Store, StoreReturn } from './interface';\n\n/**\n * wrapStore is a function to wrap the store and return function to get the state with store.\n */\nexport const wrapStore = (\n store: Store<any>,\n getState: (...args: any[]) => any = () => store.getState()\n) => {\n const { name, ..._store } = store;\n return Object.assign(\n {\n [name]: (...args: any[]) => getState(...args)\n }[name],\n _store\n ) as StoreReturn<any>;\n};\n","import { apply as applyWithMutative } from 'mutative';\nimport type {\n Listener,\n Slice,\n Store,\n StoreOptions,\n CreateState,\n ClientStoreOptions,\n Creator\n} from './interface';\nimport { defaultName, WorkerType } from './constant';\nimport { createAsyncClientStore } from './asyncClientStore';\nimport { getInitialState } from './getInitialState';\nimport { getRawState } from './getRawState';\nimport { handleState } from './handleState';\nimport type { Internal } from './internal';\nimport { applyMiddlewares } from './applyMiddlewares';\nimport { wrapStore } from './wrapStore';\nimport { handleMainTransport } from './handleMainTransport';\n\nconst namespaceMap = new Map<string, boolean>();\n\n/**\n * Create a simple store or a shared store. The shared store can be used in a worker or another thread.\n */\nexport const create: Creator = <T extends CreateState>(\n createState: Slice<T> | T,\n options: StoreOptions<T> | ClientStoreOptions<T> = {}\n) => {\n const checkEnablePatches =\n Object.hasOwnProperty.call(options, 'enablePatches') &&\n !(options as StoreOptions<T>).enablePatches;\n const workerType = options.workerType ?? WorkerType;\n if (\n process.env.NODE_ENV === 'development' &&\n (options as StoreOptions<T>).transport &&\n (options as ClientStoreOptions<T>).clientTransport\n ) {\n throw new Error(\n `transport and clientTransport cannot be used together, please use one of them.`\n );\n }\n const storeTransport = (options as StoreOptions<T>).transport;\n const share =\n workerType === 'WebWorkerInternal' ||\n workerType === 'SharedWorkerInternal' ||\n storeTransport\n ? 'main'\n : undefined;\n const createStore = ({ share }: { share?: 'client' | 'main' }) => {\n const store = {} as Store<T>;\n const internal = {\n sequence: 0,\n isBatching: false,\n listeners: new Set<Listener>()\n } as Internal<T>;\n const name = options.name ?? defaultName;\n // check if the store name is unique in main share mode\n if (process.env.NODE_ENV === 'development' && share === 'main') {\n if (namespaceMap.get(name)) {\n throw new Error(`Store name '${name}' is not unique.`);\n }\n namespaceMap.set(name, true);\n }\n const { setState, getState } = handleState(store, internal, options);\n const subscribe: Store<T>['subscribe'] = (listener) => {\n internal.listeners.add(listener);\n return () => internal.listeners.delete(listener);\n };\n const destroy: Store<T>['destroy'] = () => {\n internal.listeners.clear();\n store.transport?.dispose();\n };\n const apply: Store<T>['apply'] = (\n state = internal.rootState as T,\n patches\n ) => {\n internal.rootState = patches\n ? (applyWithMutative(state, patches) as T)\n : state;\n internal.listeners.forEach((listener) => listener());\n };\n const getPureState: Store<T>['getPureState'] = () =>\n internal.rootState as T;\n const isSliceStore = typeof createState === 'object';\n Object.assign(store, {\n name,\n share: share ?? false,\n setState,\n getState,\n subscribe,\n destroy,\n apply,\n isSliceStore,\n getPureState\n } as Store<T>);\n applyMiddlewares(store, options.middlewares ?? []);\n const initialState = getInitialState(store, createState);\n store.getInitialState = () => initialState;\n internal.rootState = getRawState(\n store,\n internal,\n initialState,\n options\n ) as T;\n return { store, internal };\n };\n if (\n (options as ClientStoreOptions<T>).clientTransport ||\n (options as ClientStoreOptions<T>).worker ||\n options.workerType === 'WebWorkerClient' ||\n options.workerType === 'SharedWorkerClient'\n ) {\n if (checkEnablePatches) {\n throw new Error(`enablePatches: true is required for the async store`);\n }\n const store = createAsyncClientStore(\n createStore,\n options as ClientStoreOptions<T>\n );\n return wrapStore(store);\n }\n const { store, internal } = createStore({\n share\n });\n handleMainTransport(\n store,\n internal,\n storeTransport,\n workerType,\n checkEnablePatches\n );\n return wrapStore(store);\n};\n","import type { CreateState, ISlices, Middleware, Store } from './interface';\n\nexport const applyMiddlewares = <T extends CreateState>(\n store: Store<T>,\n middlewares: Middleware<T>[]\n) => {\n return middlewares.reduce((store, middleware, index) => {\n if (process.env.NODE_ENV === 'development') {\n if (typeof middleware !== 'function') {\n throw new Error(`middlewares[${index}] should be a function`);\n }\n }\n return middleware(store);\n }, store);\n};\n","import { bindSymbol } from './constant';\nimport type { CreateState, ISlices, Slice, Store } from './interface';\n\nexport const getInitialState = <T extends CreateState>(\n store: Store<T>,\n createState: any\n) => {\n const makeState = (fn: (...args: any[]) => any) => {\n // make sure createState is a function\n if (process.env.NODE_ENV !== 'production' && typeof fn !== 'function') {\n throw new Error('createState should be a function');\n }\n let state = fn(store.setState, store.getState, store);\n if (typeof state === 'function') {\n state = state();\n }\n if (state[bindSymbol]) {\n const rawState = state[bindSymbol].bind(state);\n state[bindSymbol].handleStore(store, rawState, state);\n return rawState;\n }\n return state;\n };\n return store.isSliceStore\n ? Object.entries(createState).reduce(\n (stateTree, [key, value]) =>\n Object.assign(stateTree, { [key]: makeState(value as Slice<any>) }),\n {} as ISlices<Slice<any>>\n )\n : makeState(createState as Slice<any>);\n};\n","import { createTransport, type Transport } from 'data-transport';\nimport type {\n ExternalEvents,\n InternalEvents,\n Store,\n CreateState,\n StoreTransport\n} from './interface';\nimport type { Internal } from './internal';\n\nexport const handleMainTransport = <T extends CreateState>(\n store: Store<T>,\n internal: Internal<T>,\n storeTransport?: Transport<{\n emit: InternalEvents;\n listen: ExternalEvents;\n }>,\n workerType?:\n | 'SharedWorkerInternal'\n | 'WebWorkerInternal'\n | 'WebWorkerClient'\n | 'SharedWorkerClient'\n | null,\n checkEnablePatches?: boolean\n) => {\n // store transport for server port\n // the store transport is responsible for transmitting the sync state to the client transport.\n const transport: StoreTransport | undefined =\n storeTransport ??\n (workerType === 'SharedWorkerInternal' || workerType === 'WebWorkerInternal'\n ? createTransport(workerType, {\n prefix: store.name\n })\n : undefined);\n if (!transport) return;\n if (typeof transport.onConnect !== 'function') {\n throw new Error('transport.onConnect is required');\n }\n if (checkEnablePatches) {\n throw new Error(`enablePatches: true is required for the transport`);\n }\n transport.listen('execute', async (keys, args) => {\n let base = store.getState();\n let obj = base;\n for (const key of keys) {\n base = base[key];\n if (typeof base === 'function') {\n base = base.bind(obj);\n }\n obj = base;\n }\n if (process.env.NODE_ENV === 'development' && typeof base !== 'function') {\n throw new Error('The function is not found');\n }\n try {\n return (base as Function)(...args);\n } catch (error: any) {\n console.error(error);\n return { $$Error: error.message };\n }\n });\n transport.listen('fullSync', async () => {\n return {\n state: JSON.stringify(internal.rootState),\n sequence: internal.sequence\n };\n });\n store.transport = transport;\n};\n","import type { Store } from './interface';\nimport { bindSymbol } from './constant';\n\n/**\n * createBinder is a function to create a binder for the 3rd party store.\n */\nexport function createBinder<F = (...args: any[]) => any>({\n handleState,\n handleStore\n}: {\n /**\n * handleState is a function to handle the state object.\n */\n handleState: <T extends object = object>(\n state: T\n ) => {\n /**\n * copyState is a copy of the state object.\n */\n copyState: T;\n /**\n * key is the key of the state object.\n */\n key?: keyof T;\n /**\n * bind is a function to bind the state object.\n */\n bind: (state: T) => T;\n };\n /**\n * handleStore is a function to handle the store object.\n */\n handleStore: (store: Store<object>, rawState: object, state: object) => void;\n}) {\n return (<S extends object>(state: S): S => {\n const { copyState, key, bind } = handleState(state);\n const value = (key ? copyState[key] : copyState) as {\n [bindSymbol]: {\n handleStore: typeof handleStore;\n bind: typeof bind;\n };\n };\n value[bindSymbol] = {\n handleStore,\n bind\n };\n return copyState;\n }) as F;\n}\n"],"names":["Operation","Remove","Replace","Add","PROXY_DRAFT","Symbol","for","RAW_RETURN_SYMBOL","iteratorSymbol","iterator","dataTypes","mutable","immutable","internal","has","target","key","Map","Object","prototype","hasOwnProperty","call","getDescriptor","Reflect","getPrototypeOf","descriptor","getOwnPropertyDescriptor","isBaseSetInstance","obj","Set","isBaseMapInstance","latest","proxyDraft","_a","copy","original","isDraft","getProxyDraft","value","getValue","isDraftable","options","markResult","Array","isArray","mark","getPath","path","parentCopy","parent","get","isSet","type","from","setMap","keys","indexOf","size","push","reverse","base","index","length","getType","Error","join","resolvePath","e","set","peek","state","isEqual","x","y","revokeProxy","finalities","revoke","pop","escapePath","pathAsArray","concat","map","_item","item","replace","propIsEnum","propertyIsEnumerable","shallowCopy","SubClass","constructor","values","difference","undefined","create","ownKeys","forEach","desc","enumerable","configurable","writable","defineProperty","strictCopy","enablePatches","enableAutoFreeze","getOwnPropertySymbols","ensureShallowCopy","deepClone","iterable","entries","k","v","cloneIfNeeded","markChanged","assignedMap","operated","throwFrozenError","deepFreeze","subKey","updatedValues","stack","WeakMap","slice","toString","isFrozen","clear","delete","add","freeze","name","iter","entry","handleValue","handledSet","updatedValue","finalizeAssigned","finalizeSetValue","finalizePatches","generatePatches","patches","inversePatches","finalized","basePath","markFinalization","callbacks","draft","proxyState","assignedValue","originalValue","op","generatePatchesFromAssigned","arrayLengthAssignment","generateArrayPatches","unshift","generateSetPatches","checkReadable","ignoreCheckDraftable","mapHandler","this","source","callback","thisArg","_value","_key","_b","strict","createDraft","parentDraft","next","result","done","mapHandlerKeys","getNextIterator","isValuesIterator","currentDraft","proxy","setHandler","valueProxyDraft","assign","intersection","other","union","symmetricDifference","isSubsetOf","isSupersetOf","isDisjointFrom","setHandlerKeys","draftsCache","WeakSet","proxyHandler","receiver","includes","handle","bind","Number","subProxyDraft","isInteger","String","current","currentProxyDraft","setPrototypeOf","deleteProperty","createDraftOptions","Proxy","revocable","oldProxyDraft","finalizeDraft","returnedValue","hasReturnedValue","finalize","handleReturnValue","rootDraft","useRawReturn","isRoot","isContainDraft","currentValue","arr","console","warn","getCurrent","newValue","arg","arg0","arg1","arg2","_c","args","mutate","types","_options","baseState","finalizedState","finalizedPatches","finalizedInversePatches","draftify","error","returnValue","rawReturnValue","returnedProxyDraft","Promise","then","makeCreator","apply","applyOptions","i","patch","_path","split","unescapePath","parentType","splice","WorkerType","getGlobal","_global","window","SharedWorkerGlobalScope","globalThis","WorkerGlobalScope","bindSymbol","t","n","exports","require","r","__esModule","o","__proto__","TypeError","s","arguments","a","c","decorate","l","u","kind","static","f","d","p","_","access","addInitializer","h","init","description","metadata","throw","label","sent","trys","ops","Iterator","return","g","b","m","w","T","E","K","S","asyncIterator","AsyncIterator","resolve","shift","M","C","raw","O","default","getOwnPropertyNames","P","I","j","R","A","L","asyncDispose","dispose","reject","async","D","SuppressedError","suppressed","W","hasError","q","test","toLowerCase","U","__extends","__assign","__rest","__decorate","__param","__esDecorate","__runInitializers","__propKey","__setFunctionName","__metadata","__awaiter","__generator","__createBinding","__exportStar","__values","__read","__spread","__spreadArrays","__spreadArray","__await","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__importStar","__importDefault","__classPrivateFieldGet","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","__disposeResources","__rewriteRelativeImportExtension","B","F","transportType","transportKey","beforeEmitResolveKey","beforeEmitKey","produceKey","prefixKey","timeoutKey","callbackKey","originalListensMapKey","verboseKey","logKey","serializerKey","listensMapKey","requestsMapKey","senderKey","listenKey","listenerKey","request","response","N","z","listen","$","J","G","Uint8Array","V","crypto","getRandomValues","X","H","Q","Y","Z","ee","ne","te","re","parseInt","oe","unescape","encodeURIComponent","charCodeAt","DNS","URL","ie","se","ae","ce","le","ue","fe","de","charAt","Uint32Array","pe","randomUUID","_e","ve","he","Math","ceil","pow","floor","ye","v1","node","clockseq","random","rng","msecs","Date","now","nsecs","v3","v4","v5","NIL","version","validate","stringify","parse","ge","generateId","detectSafari","navigator","userAgent","be","Transport","getAction","listener","sender","timeout","verbose","prefix","listenKeys","checkListen","serializer","logger","id","info","RegExp","action","transportId","hasRespond","responseId","emit","respond","silent","_extra","requestId","skipBeforeEmit","race","setTimeout","clearTimeout","catch","me","IFrameTransport","IFrameInternalTransport","IFrameMainTransport","iframe","document","querySelector","targetOrigin","data","contentWindow","addEventListener","removeEventListener","postMessage","frames","skipConnectionCheck","Main","IFrame","we","WorkerTransport","WorkerInternalTransport","WorkerMainTransport","worker","transfer","_connected","_handleConnectCallbacks","_onConnectCallback","onConnect","self","Worker","Te","SharedWorkerTransport","SharedWorkerInternalTransport","SharedWorkerClientTransport","port","start","ports","_handler","close","_port","tempPorts","_onDisconnectCallback","onDisconnect","Client","Ee","ServiceWorkerTransport","ServiceWorkerServiceTransport","ServiceWorkerClientTransport","useOnSafari","JSON","serviceWorker","_clientId","clients","_client","matchAll","waitUntil","claim","Service","Ke","BroadcastTransport","channel","broadcastChannel","BroadcastChannel","Se","ElectronTransport","ElectronRendererTransport","ElectronMainTransport","ipcMain","browserWindow","on","off","webContents","send","ipcRenderer","Renderer","Me","BrowserExtensionsTransport","BrowserExtensionsClientTransport","BrowserExtensionsMainTransport","BrowserExtensionsGenericTransport","browser","chrome","_sendResponse","runtime","onMessage","addListener","removeListener","sendMessage","disconnect","connect","Ce","WebRTCTransport","peer","receiveBuffer","__DATA_TRANSPORT_UUID__","timestamp","chunkId","filter","_channel","bufferedAmount","message","ke","MessageTransport","Oe","ProcessTransport","ChildProcessTransport","MainProcessTransport","child","process","Child","xe","Pe","createTransport","TransportMap","Base","IFrameMain","IFrameInternal","BrowserExtensions","BrowserExtensionsMain","BrowserExtensionsClient","ElectronMain","ElectronRenderer","ServiceWorkerClient","ServiceWorkerService","WebWorkerClient","WebWorkerInternal","WebRTC","Broadcast","SharedWorkerClient","SharedWorkerInternal","MainProcess","ChildProcess","Ie","mockPorts","main","je","merge","Re","Ae","module","commonjsGlobal","getDefaultExportFromCjs","createCommonjsModule","fn","basedir","commonjsRequire","getAugmentedNamespace","extendStatics","__","decorators","paramIndex","decorator","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","context","useValue","metadataKey","metadataValue","_arguments","generator","fulfilled","step","rejected","body","verb","k2","ar","il","jl","to","pack","resume","fulfill","settle","cooked","__setModuleDefault","mod","env","inner","_SuppressedError","fail","preserveJsx","tsx","ext","cm","tslib_es6","tslib_es6$1","constant","tslib_1","listen_1","rnds8","REGEX","uuid","byteToHex","unsafeStringify","offset","_nodeId","_clockseq","_lastMSecs","_lastNSecs","v35","hashfunc","generateUUID","namespace","buf","_namespace","str","bytes","stringToBytes","err","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","num","cnt","md5ff","md5gg","md5hh","md5ii","msg","input","output","length32","hexTab","hex","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","bytesToWords","native","ROTL","esmBrowser","seedBytes","dt","tl","tmh","rnds","uuid_1","utils","randomNumbers","transport","_h","_j","_d","_f","_g","_this","listenName","getListenName","hasListen","_i","params","isSilent","rawRequestData","timeoutId","promise","iframeTransport","connectEventName","_super","handler","connect_1","connected","workerTransport","sharedWorkerTransport","disconnectEventName","disconnectActionName","id_1","err_1","serviceWorkerTransport","DEFAULT_USE_ON_SAFARI","encode","client_1","client","decode","all","event","broadcastTransport","electronTransport","defaultChannel","browserExtensionsTransport","transportName","sendResponse","handler_1","webRTCTransport","MAX_CHUNK_SIZE","e_1","buffer","isComplete","data_1","e_1_1","allChunksSize","webRTCPaused_1","webRTCMessageQueue_1","peerSend_1","sendMessageQueued_1","_loop_1","listener_1","state_1","chunk","messageTransport","processTransport","transports","createTransport_1","mockPorts_1","emitter","mainCallback","emitter_1","emitter_1_1","merge_1","first","seconds","_args","disposers","_interface","dist","require$$0","store","sequence","handleDraft","rootState","backupState","finalPatches","getTime","char","randomNum","Computed","deps","defaultMemoize","func","lastArgs","lastResult","areShallowEqualWithArray","prev","createSelectorWithArray","createSelectorCreatorWithArray","memoize","dependenciesFunc","resultFunc","memoizedResultFunc","getRawState","initialState","rawState","_rawState","_initialState","sliceKey","mutableInstance","toRaw","descriptors","getOwnPropertyDescriptors","isComputed","depsCallbackSelector","selector","that","share","actionId","trace","method","parameters","$$Error","isBatching","handleResult","isDrafted","createWithMutative","getState","finally","act","defineProperties","isSliceStore","handleState","setState","updater","_next","mergeObject","isSlice","listeners","wrapStore","_store","createState","checkEnablePatches","workerType","storeTransport","createStore","subscribe","destroy","applyWithMutative","getPureState","applyMiddlewares","middlewares","reduce","middleware","getInitialState","makeState","handleStore","stateTree","clientTransport","createAsyncClientStore","asyncStoreClientOption","asyncClientStore","SharedWorker","fullSync","handleMainTransport","copyState"],"mappings":"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"}