@netless/window-manager 0.4.9 → 0.4.10

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 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/constants.ts","../src/callback.ts","../src/Utils/AppCreateQueue.ts","../src/InternalEmitter.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/RedoUndo.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/image/laser-pointer-cursor.svg","../src/Cursor/Cursor.ts","../src/Helper.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCamera = \"MoveCamera\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n\nexport const ROOT_DIR = \"/\";\n","import Emittery from \"emittery\";\nimport type { TeleBoxColorScheme, TELE_BOX_STATE } from \"@netless/telebox-insider\";\nimport type { CameraState, SceneState, ViewVisionMode } from \"white-web-sdk\";\nimport type { LoadAppEvent } from \"./Register\";\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n mainViewScenesLengthChange: number;\n canRedoStepsChange: number;\n canUndoStepsChange: number;\n loadApp: LoadAppEvent;\n ready: undefined; // 所有 APP 创建完毕时触发\n sceneStateChange: SceneState;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n","import { callbacks } from \"../callback\";\nimport type { AppProxy } from \"../AppProxy\";\n\nexport type Invoker = () => Promise<AppProxy | undefined>;\n\nexport class AppCreateQueue {\n private list: Invoker[] = [];\n private currentInvoker: Invoker | undefined;\n private timer: number | undefined;\n public isEmit = false;\n\n private initInterval() {\n return setInterval(() => {\n this.invoke();\n }, 50);\n }\n\n public push(item: Invoker) {\n this.list.push(item);\n this.invoke();\n if (this.timer === undefined && this.list.length > 0) {\n this.timer = this.initInterval();\n }\n }\n\n public invoke() {\n if (this.list.length === 0) {\n return;\n }\n if (this.currentInvoker !== undefined) {\n return;\n }\n\n const item = this.list.shift();\n if (item) {\n this.currentInvoker = item;\n item()\n .then(() => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n clearInterval(this.timer);\n this.emitReady();\n }\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n clearInterval(this.timer);\n });\n }\n }\n\n public emitReady() {\n if (!this.isEmit) {\n callbacks.emit(\"ready\");\n }\n this.isEmit = true;\n }\n\n public destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n","import Emittery from \"emittery\";\nimport type { AppInitState, CursorMovePayload } from \"./index\";\n\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n updateManagerRect: undefined;\n focusedChange: { focused: string | undefined; prev: string | undefined };\n rootDirRemoved: undefined;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { callbacks } from \"../callback\";\nimport { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 下载 script 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `\\n;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n callbacks.emit(\"loadApp\", { kind: key, status: \"start\" });\n try {\n const text = await getScript(url);\n if (!text || text.length === 0) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: \"script is empty.\" });\n return;\n }\n try {\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n }\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n } catch (error: any) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport { loadApp } from \"./loader\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\n\nexport type LoadAppEvent = {\n kind: string;\n status: \"start\" | \"success\" | \"failed\";\n reason?: string;\n};\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.appClassesCache.delete(params.kind);\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { appRegister } from \"../Register\";\nimport { debounce } from \"lodash\";\nimport { emitter } from \"../InternalEmitter\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../callback\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\nimport { ROOT_DIR } from \"../constants\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === ROOT_DIR) {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n return displayer.entireScenes();\n};\n\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { isEqual, omit } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AnimationMode, Camera, Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCamera: {\n this.moveCameraHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraHandler = (\n payload: Camera & { animationMode?: AnimationMode | undefined }\n ) => {\n if (isEqual(omit(payload, [\"animationMode\"]), { ...this.manager.mainView.camera })) return;\n this.manager.mainView.moveCamera(payload);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return this._context.getAttributes() ?? defaultValue;\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import { BoxNotCreatedError } from \"./Utils/error\";\nimport { Storage } from \"./App/Storage\";\nimport {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS,\n} from \"white-web-sdk\";\nimport type {\n Room,\n SceneDefinition,\n View,\n EventListener as WhiteEventListener,\n} from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport type {\n MagixEventAddListener,\n MagixEventDispatcher,\n MagixEventRemoveListener,\n} from \"./App/MagixEvent\";\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS,\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed,\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions)\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n };\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n };\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n };\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n };\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n };\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n };\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n };\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n };\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n };\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n };\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n };\n\n public mountView = (dom: HTMLElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom as HTMLDivElement;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n };\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === \"function\"\n ? (this.appOptions as () => TAppOptions)()\n : this.appOptions;\n };\n\n private _storage?: Storage<TAttributes>;\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns\n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n };\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (...args) => {\n // can't dispatch events on replay mode\n return this.manager.room?.dispatchMagixEvent(...args);\n };\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (\n event,\n handler,\n options\n ) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () =>\n this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n };\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(\n this.manager.displayer\n ) as MagixEventRemoveListener<TMagixEventPayloads>;\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { entireScenes, getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public kind: string;\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = entireScenes(this.manager.displayer)[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath]) || this.getFullScenePathFromScenes();\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n emitter.emit(\"updateManagerRect\")\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(this.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n this.boxManager.focusBox({ appId }, false);\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n return fullPath;\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n try {\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n } catch (error) {\n console.error(\"[WindowManager]: notifyApp error\", error.message, error.stack);\n }\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n try {\n view.release();\n } catch {\n // ignore\n }\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n try {\n view.release();\n } catch {\n // ignore\n }\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks } from \"../callback\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { emitter } from \"../InternalEmitter\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n public onReconnect(): void {\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(this.view, mainViewScenePath);\n }\n }\n\n public rebind(): void {\n const divElement = this.mainView.divElement;\n const disableCameraTransform = this.mainView.disableCameraTransform;\n this.stop();\n this.mainView.release();\n this.mainView = this.createMainView();\n this.mainView.disableCameraTransform = disableCameraTransform;\n this.mainView.divElement = divElement;\n this.start();\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport type { View } from \"white-web-sdk\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type RedoUndoContext = {\n mainView: () => View;\n focus: () => string | undefined;\n getAppProxy: (id: string) => AppProxy | undefined;\n};\n\nexport class RedoUndo {\n constructor(private context: RedoUndoContext) {\n emitter.on(\"focusedChange\", changed => {\n this.disposePrevFocusViewRedoUndoListeners(changed.prev);\n setTimeout(() => {\n this.addRedoUndoListeners(changed.focused);\n }, 0);\n });\n emitter.on(\"rootDirRemoved\", () => {\n this.disposePrevFocusViewRedoUndoListeners(context.focus());\n this.addRedoUndoListeners(context.focus());\n });\n this.addRedoUndoListeners(context.focus());\n }\n\n private addRedoUndoListeners = (focused: string | undefined) => {\n if (focused === undefined) {\n this.addViewCallbacks(\n this.context.mainView(),\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n } else {\n const focusApp = this.context.getAppProxy(focused);\n if (focusApp && focusApp.view) {\n this.addViewCallbacks(\n focusApp.view,\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n }\n }\n };\n\n private addViewCallbacks = (\n view: View,\n redoListener: (steps: number) => void,\n undoListener: (steps: number) => void\n ) => {\n redoListener(view.canRedoSteps);\n undoListener(view.canUndoSteps);\n view.callbacks.on(\"onCanRedoStepsUpdate\", redoListener);\n view.callbacks.on(\"onCanUndoStepsUpdate\", undoListener);\n };\n\n private disposeViewCallbacks = (view: View) => {\n view.callbacks.off(\"onCanRedoStepsUpdate\", this.onCanRedoStepsUpdate);\n view.callbacks.off(\"onCanUndoStepsUpdate\", this.onCanUndoStepsUpdate);\n };\n\n private onCanRedoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canRedoStepsChange\", steps);\n };\n\n private onCanUndoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canUndoStepsChange\", steps);\n };\n\n private disposePrevFocusViewRedoUndoListeners = (prevFocused: string | undefined) => {\n let view: View | undefined = undefined;\n if (prevFocused === undefined) {\n view = this.context.mainView();\n } else {\n const appProxy = this.context.getAppProxy(prevFocused);\n if (appProxy && appProxy.view) {\n view = appProxy.view;\n }\n }\n if (view) {\n this.disposeViewCallbacks(view);\n }\n };\n\n public destroy() {\n this.disposePrevFocusViewRedoUndoListeners(this.context.focus());\n }\n}\n","import { AppAttributes, AppStatus, Events, MagixEventName, ROOT_DIR } from \"./constants\";\nimport { AppCreateQueue } from \"./Utils/AppCreateQueue\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { appRegister } from \"./Register\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport { get, isInteger, orderBy } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { reconnectRefresher, WindowManager } from \"./index\";\nimport { RedoUndo } from \"./RedoUndo\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport type { EmitterEvent } from \"./InternalEmitter\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type {\n Displayer,\n DisplayerState,\n Room,\n ScenesCallbacksNode,\n SceneState,\n} from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect } from \"./index\";\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n public mainViewScenesLength = 0;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n private callbacksNode: ScenesCallbacksNode | null = null;\n private appCreateQueue = new AppCreateQueue();\n\n private sideEffectManager = new SideEffectManager();\n\n public sceneState: SceneState | null = null;\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n this.sideEffectManager.add(() => {\n return () => {\n this.appCreateQueue.destroy();\n this.mainViewProxy.destroy();\n this.refresher?.destroy();\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.callbacksNode?.dispose();\n };\n });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", time => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n });\n }\n emitter.on(\"removeScenes\", scenePath => {\n if (scenePath === ROOT_DIR) {\n this.setMainViewScenePath(ROOT_DIR);\n this.createRootDirScenesCallback();\n this.onRootDirRemoved();\n emitter.emit(\"rootDirRemoved\");\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(ROOT_DIR);\n }\n }\n });\n this.createRootDirScenesCallback();\n }\n\n /**\n * 根目录被删除时所有的 scene 都会被删除.\n * 所以需要关掉所有开启了 view 的 app\n */\n private onRootDirRemoved() {\n this.appProxies.forEach(appProxy => {\n if (appProxy.view) {\n this.closeApp(appProxy.id);\n }\n });\n // 删除了根目录的 scenes 之后 mainview 需要重新绑定, 否则主白板会不能渲染\n this.mainViewProxy.rebind();\n }\n\n private createRootDirScenesCallback = () => {\n let isRecreate = false;\n if (this.callbacksNode) {\n this.callbacksNode.dispose();\n isRecreate = true;\n }\n this.callbacksNode = this.displayer.createScenesCallback(ROOT_DIR, {\n onAddScene: this.onSceneChange,\n onRemoveScene: this.onSceneChange,\n });\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n if (isRecreate) {\n callbacks.emit(\"mainViewScenesLengthChange\", this.callbacksNode.scenes.length);\n }\n }\n };\n\n private onSceneChange = (node: ScenesCallbacksNode) => {\n this.mainViewScenesLength = node.scenes.length;\n this.updateSceneState(node);\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n };\n\n private updateSceneState = (node: ScenesCallbacksNode) => {\n const currentIndex = this.store.getMainViewSceneIndex() || 0;\n const sceneName = node.scenes[currentIndex];\n this.sceneState = {\n scenePath: `${ROOT_DIR}${sceneName}`,\n contextPath: node.path,\n index: currentIndex,\n scenes: node.scenes.map(scene => {\n return {\n name: scene,\n };\n }),\n sceneName: sceneName,\n };\n callbacks.emit(\"sceneStateChange\", this.sceneState);\n };\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n\n public getMainViewSceneDir() {\n const scenePath = this.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n emitter.emit(\"updateManagerRect\");\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n }\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n callbacks.emit(\"focusedChange\", focused);\n emitter.emit(\"focusedChange\", { focused, prev: this._prevFocused });\n this._prevFocused = focused;\n if (focused !== undefined) {\n this.boxManager?.focusBox({ appId: focused });\n // 确保 focus 修改的时候, appProxy 已经创建\n setTimeout(() => {\n const appProxy = this.appProxies.get(focused);\n if (appProxy) {\n appRegister.notifyApp(appProxy.kind, \"focus\", { appId: focused });\n }\n }, 0);\n }\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n\n this.sideEffectManager.add(() => {\n const redoUndo = new RedoUndo({\n mainView: () => this.mainViewProxy.view,\n focus: () => this.attributes.focus,\n getAppProxy: id => this.appProxies.get(id),\n });\n return () => redoUndo.destroy();\n });\n }\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n if (appIds.length === 0) {\n this.appCreateQueue.emitReady();\n }\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of orderBy(appsWithCreatedAt, \"createdAt\", \"asc\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n this.appStatus.set(id, AppStatus.StartCreate);\n try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n return this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n });\n this.focusByAttributes(apps);\n } catch (error) {\n console.warn(`[WindowManager]: Insert App Error`, error);\n }\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n const sceneDir = parseSceneDir(scenePath);\n if (sceneDir !== ROOT_DIR) {\n throw new Error(`[WindowManager]: main view scenePath must in root dir \"/\"`);\n }\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchSetMainViewScenePath(scenePath);\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchSetMainViewScenePath(scenePath);\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n private dispatchSetMainViewScenePath(scenePath: string): void {\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n // 兼容 15 的 SDK, 需要 room 的当前 ScenePath\n setScenePath(this.room, scenePath);\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n this.mainViewProxy.onReconnect();\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n callbacks.clearListeners();\n this.sideEffectManager.flushAll();\n this._prevFocused = undefined;\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType } from \"./InternalEmitter\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect);\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},z=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],B=function(e){return w=e},_=z.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=B,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=z.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,z.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=function(e){return{test:function(t){return\"string\"==typeof t&&t.endsWith(e)&&1===t.split(\" \").length},parse:parseFloat,transform:function(t){return\"\"+t+e}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function ze(e){return\"function\"==typeof e}function Be(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&ze(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),ze(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,Be(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=5&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=5&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=10&&Math.abs(r-this.lastTitleBarTouch.clientY)<=10&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.Close,iconClassName:this.wrapClassName(\"titlebar-icon-close\")}],this.$dragArea=this.renderDragArea()}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,i)=>{t.isActive&&this.$btns[i].classList.toggle(\"is-active\",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement(\"div\"),this.$titleBar.className=this.wrapClassName(\"titlebar\");const e=document.createElement(\"div\");e.className=this.wrapClassName(\"title-area\"),e.dataset.teleBoxHandle=\"dh\",this.$title=document.createElement(\"h1\"),this.$title.className=this.wrapClassName(\"title\"),this.$title.dataset.teleBoxHandle=\"dh\",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement(\"div\");t.className=this.wrapClassName(\"titlebar-btns\"),this.buttons.forEach((({iconClassName:e,isActive:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"drag-area\"),e.dataset.teleBoxHandle=\"dh\",this.sideEffect.addEventListener(e,\"mousedown\",this.handleTitleBarClick),this.sideEffect.addEventListener(e,\"touchstart\",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:z,styles:B,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(z),ee=k(B);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return\"string\"==typeof e?(t=document.createElement(\"style\"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement(\"div\")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName(\"box\"));const t=(e,t,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?\"block\":\"none\"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.className=this.wrapClassName(\"content-wrap\");const l=document.createElement(\"div\");l.className=this.wrapClassName(\"content\")+\" tele-fancy-scrollbar\",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-visible\"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-readonly\"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}return this}render(){return this.$collector||(this.$collector=document.createElement(\"button\"),this.$collector.className=this.wrapClassName(\"collector\"),this.$collector.style.backgroundImage=\"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')\",this.$collector.addEventListener(\"click\",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName(\"collector-visible\")),this._readonly&&this.$collector.classList.add(this.wrapClassName(\"collector-readonly\")),this.$collector.classList.add(this.wrapClassName(this._darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener(\"click\",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class zt extends pt{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"px\"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),e===Ke.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e)))}render(){const e=super.render(),{x:t,y:i,width:s}=this.containerRect;e.style.transform=`translate(${t}px, ${i}px)`,e.style.width=s+\"px\",e.classList.add(this.wrapClassName(\"max-titlebar\")),e.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),e.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),e.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\"));const r=document.createElement(\"div\");return r.classList.add(this.wrapClassName(\"titles-area\")),e.insertBefore(r,e.firstElementChild),this.updateTitles(),e}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-single-title\"),1===this.boxes.length),1===this.boxes.length?this.setTitle(this.boxes[0].title):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement(\"div\"),this.$titles.className=this.wrapClassName(\"titles\"),this.$titles.addEventListener(\"wheel\",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:\"smooth\"})}),{passive:!1});const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"titles-content\"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class Bt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia(\"(prefers-color-scheme: dark)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const z=this.wrapClassName(\"titlebar-icon-close\"),B=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(z))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,\"mousedown\",B,!0),this._sideEffect.addEventListener(window,\"touchstart\",B,!0),this.maxTitleBar=new zt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const i=new gt(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{if(this.boxes.length>0){const e=this.boxes.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(e)}s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&e.setZIndex(this.topBox.zIndex+1,t)}getBoxIndex(e){return\"string\"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return\"string\"==typeof e?this.boxes.find((t=>t.id===e)):e}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,Bt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { TELE_BOX_STATE, TeleBoxCollector, TeleBoxManager } from \"@netless/telebox-insider\";\nimport { WindowManager } from \"./index\";\nimport type { AddAppOptions, AppInitState } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\nimport type { CallbacksType } from \"./callback\";\nimport type { EmitterType } from \"./InternalEmitter\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", () => this.updateManagerRect());\n emitter.on(\"updateManagerRect\", () => this.updateManagerRect());\n }\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '&quot;',\n \"'\": '&#39;',\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n import { ApplianceNames } from \"white-web-sdk\";\n\n export let cursorName: string;\n export let tagName: string | undefined;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string | undefined;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n $: isLaserPointer = appliance === ApplianceNames.laserPointer;\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n> \n {#if !isLaserPointer}\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n {/if}\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\nimport laser from \"../image/laser-pointer-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n [ApplianceNames.laserPointer]: laser,\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjggMjgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjEgKDc4MTM2KSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT7nvJbnu4QgMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIgeD0iLTEyMC4wJSIgeT0iLTEyMC4wJSIgd2lkdGg9IjM0MC4wJSIgaGVpZ2h0PSIzNDAuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNCIgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Iue8lue7hC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgOS4wMDAwMDApIiBmaWxsPSIjRkYwMTAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiBjeD0iNSIgY3k9IjUiIHI9IjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8cGF0aCBkPSJNNSw4IEM2LjY1Njg1NDI1LDggOCw2LjY1Njg1NDI1IDgsNSBDOCwzLjM0MzE0NTc1IDYuNjU2ODU0MjUsMiA1LDIgQzMuMzQzMTQ1NzUsMiAyLDMuMzQzMTQ1NzUgMiw1IEMyLDYuNjU2ODU0MjUgMy4zNDMxNDU3NSw4IDUsOCBaIE01LDYuMjg1NzE0MjkgQzQuMjg5OTE5NjEsNi4yODU3MTQyOSAzLjcxNDI4NTcxLDUuNzEwMDgwMzkgMy43MTQyODU3MSw1IEMzLjcxNDI4NTcxLDQuMjg5OTE5NjEgNC4yODk5MTk2MSwzLjcxNDI4NTcxIDUsMy43MTQyODU3MSBDNS43MTAwODAzOSwzLjcxNDI4NTcxIDYuMjg1NzE0MjksNC4yODk5MTk2MSA2LjI4NTcxNDI5LDUgQzYuMjg1NzE0MjksNS43MTAwODAzOSA1LjcxMDA4MDM5LDYuMjg1NzE0MjkgNSw2LjI4NTcxNDI5IFoiIGlkPSLmpK3lnIblvaIiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { findMemberByUid } from \"../Helper\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.updateMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private get memberTagName(): string | undefined {\n return this.payload?.cursorTagName;\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName as string,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n tagName: this.memberTagName,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public updateMember() {\n this.member = findMemberByUid(this.manager.room, this.memberId);\n this.updateComponent();\n return this.member;\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { getVersionNumber } from \"./Utils/Common\";\nimport { REQUIRE_VERSION } from \"./constants\";\nimport { WhiteVersion } from \"white-web-sdk\";\nimport { WhiteWebSDKInvalidError } from \"./Utils/error\";\nimport { WindowManager } from \"./index\";\nimport type { Room } from \"white-web-sdk\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};\n\nexport const checkVersion = () => {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n};\n\nexport const findMemberByUid = (room: Room | undefined, uid: string) => {\n const roomMembers = room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n};\n","import { ApplianceNames } from \"white-web-sdk\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter } from \"../InternalEmitter\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { throttle } from \"lodash\";\nimport { WindowManager } from \"../index\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager, private enableCursor: boolean) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n this.sideEffectManager.add(() => {\n return emitter.on(\"cursorMove\", this.onCursorMove);\n });\n\n this.sideEffectManager.add(() => {\n return emitter.on(\"playgroundSizeChange\", () => this.updateContainerRect());\n });\n }\n\n private onCursorMove = (payload: CursorMovePayload) => {\n const cursorInstance = this.initCursorInstance(payload.uid);\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n const member = cursorInstance.updateMember();\n if (this.canMoveCursor(member)) {\n cursorInstance.move(payload.position);\n }\n }\n };\n\n private initCursorInstance = (uid: string) => {\n let cursorInstance = this.cursorInstances.get(uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, uid, this, WindowManager.wrapper);\n this.cursorInstances.set(uid, cursorInstance);\n }\n return cursorInstance;\n };\n\n private canMoveCursor(member: RoomMember | undefined) {\n const isLaserPointer =\n member?.memberState.currentApplianceName === ApplianceNames.laserPointer;\n // 激光笔教具在不开启光标的情况下也要显示\n return this.enableCursor || isLaserPointer;\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: PointerEvent) => {\n if (event.pointerType === \"touch\") {\n if (!event.isPrimary) return;\n }\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../InternalEmitter\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room | Player, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n room = room as unknown as Room;\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.redo();\n room.undo = () => manager.undo();\n room.cleanCurrentScene = () => manager.cleanCurrentScene();\n room.delete = () => manager.delete();\n room.copy = () => manager.copy();\n room.paste = () => manager.paste();\n room.duplicate = () => manager.duplicate();\n room.insertImage = (...args) => manager.insertImage(...args);\n room.completeImageUpload = (...args) => manager.completeImageUpload(...args);\n room.insertText = (...args) => manager.insertText(...args);\n room.lockImage = (...args) => manager.lockImage(...args);\n room.lockImages = (...args) => manager.lockImages(...args);\n\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}\\n\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z\");\n $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{constructor(e){super(e),this.seeking=!1,this.mobileSeeking=!1,this.track=null,this.hoverTime=null,this.offset=0,this.secondsPrefix=\"00:00:\",this.minutesPrefix=\"00:\",this.seekPause=!1,this.handleTouchSeeking=e=>{let t=0;for(let i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].pageX;t=t<0?0:t,this.mobileSeeking&&this.changeCurrentTimePosition(t)},this.handleSeeking=e=>{this.seeking&&this.changeCurrentTimePosition(e.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(e,t)=>{if(this.track){const i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=e=>{this.setSeeking(!1,e),this.onMouseUp()},this.setSeeking=(e,t)=>{t.preventDefault(),this.handleSeeking(t),this.seeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=e=>{this.mobileSeeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const e=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.call(t)},this.onMouseUp=()=>{var e,t;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),null==(t=(e=this.props).onSeekEnd)||t.call(e)},this.props.secondsPrefix&&(this.secondsPrefix=this.props.secondsPrefix),this.props.minutesPrefix&&(this.minutesPrefix=this.props.minutesPrefix),this.state={ready:!1,trackWidth:0,seekHoverPosition:0}}componentDidMount(){this.setTrackWidthState(),window.addEventListener(\"resize\",this.setTrackWidthState),window.addEventListener(\"mousemove\",this.handleSeeking),window.addEventListener(\"mouseup\",this.mouseSeekingHandler),window.addEventListener(\"touchmove\",this.handleTouchSeeking),window.addEventListener(\"touchend\",this.mobileTouchSeekingHandler)}componentWillUnmount(){window.removeEventListener(\"resize\",this.setTrackWidthState),window.removeEventListener(\"mousemove\",this.handleSeeking),window.removeEventListener(\"mouseup\",this.mouseSeekingHandler),window.removeEventListener(\"touchmove\",this.handleTouchSeeking),window.removeEventListener(\"touchend\",this.mobileTouchSeekingHandler)}changeCurrentTimePosition(e){if(this.track){const t=this.props.scale||1;let i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}getPositionStyle(e){return{transform:`scaleX(${100*e/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let e=0;return this.hoverTime&&(e=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(e<0?e=0:e+this.hoverTime.offsetWidth>this.state.trackWidth&&(e=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${e}px)`}}secondsToTime(e){e=Math.round(e+this.offset);const t=Math.floor(e/3600),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.toString(),ss:r<10?\"0\"+r:r.toString()}}getHoverTime(){const e=100*this.state.seekHoverPosition/this.state.trackWidth,t=Math.floor(+e*(this.props.total/100)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.createElement(\"div\",{className:\"track\",ref:e=>this.track=e,onMouseMove:e=>this.handleTrackHover(!1,e),onMouseLeave:e=>this.handleTrackHover(!0,e),onMouseDown:this.onMouseDown,onTouchStart:e=>{this.setMobileSeeking(!0),this.onMouseDown(e)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{constructor(e){super(e),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:e}=this.props;e?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:e}=this.props;return e?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}),this.handleClickVolume=()=>{0===this.props.volume?0!==this.stageVolume?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=e=>{this.setState({currentTime:e}),e&&this.changeTime(e)},this.changeTime=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{this.setState({isPlayerSeeking:!1})}),500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=e.volume}componentDidMount(){this.updateVolumeTimer=setInterval((()=>{this.onVolumeSeeking||this.setState({seekVolume:this.props.volume}),this.state.isPlayerSeeking||this.setState({currentTime:this.props.currentTime})}),100)}componentWillUnmount(){this.updateVolumeTimer&&clearInterval(this.updateVolumeTimer)}render(){const{duration:e,currentTime:t}=this.props;return l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{total:e,current:this.state.currentTime,onChange:this.onChange,buffered:this.props.buffered,bufferColor:\"rgba(255,255,255,0.3)\",hideHoverTime:!0,limitTimeTooltipBySides:!0,onSeekStart:this.onProgressSeekStart,onSeekEnd:this.onProgressSeekEnd,play:this.props.play,pause:this.props.pause,paused:this.props.paused,scale:this.props.scale})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.createRef(),this.controllerHiddenTimer=0,this.syncPlayerTimer=0,this.retryCount=0,this.decreaseRetryTimer=0,this.noSoundSyncCount=0,this.showController=()=>{this.setState({controllerVisible:!0}),this.debounceHidingController()},this.play=()=>{var e;const t=null==(e=this.props.room)?void 0:e.calibrationTimestamp;this.debug(\">>> play\",{paused:!1,hostTime:t}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:t})},this.pause=()=>{const e=A(this.getAttributes(),this.props);this.debug(\">>> pause\",{paused:!0,currentTime:e}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:e})},this.setVolume=e=>{this.debug(\">>> volume\",{volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e,muted:0===e})},this.setCurrentTime=e=>{var t;const i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},this.resetPlayer=()=>{var e;null==(e=this.player)||e.autoplay(!1),this.state.NoSound||(this.debug(\">>> ended\",{paused:!0,currentTime:0}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:0}))},this.syncPlayerWithAttributes=()=>{var e;const t=this.getAttributes();if(!t)return;const i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.error();t&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug(\"catch videojs media error\",t),this.setState({MediaError:!0}))),this.debug(\"catch error\",e)}},this.fixPlayFail=()=>{this.debug(\"try to fix play state\"),this.setState({NoSound:!1});const{muted:e,volume:t}=this.getAttributes();this.player&&(this.player.muted(e),this.player.volume(t))},this.initPlayer=async()=>{var e;null==(e=this.player)||e.dispose(),this.player=void 0,this.debug(\"creating elements ...\");const{type:t,src:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.on(\"error\",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=e=>{e&&(e.addEventListener(\"touchstart\",this.fixPlayFail),e.addEventListener(\"click\",this.fixPlayFail)),this.alertMask=e},this.setupReload=e=>{e&&(e.addEventListener(\"touchstart\",this.initPlayer),e.addEventListener(\"click\",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},e.room&&function(e){if(!e.calibrationTimestamp)throw new Error(\"@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.\")}(e.room)}getAttributes(){const{context:e}=this.props;let s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.retryInterval)}componentWillUnmount(){var e;this.debug(\"unmount\"),this.props.context.emitter.off(\"attributesUpdate\",this.syncPlayerWithAttributes),null==(e=this.player)||e.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const K={kind:\"MediaPlayer\",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit(\"destroy\",{error:new Error(\"[MediaPlayer]: Missing 'attributes'.'src'.\")});t=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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);background-repeat:repeat-x;background-position:0 50%;display:flex;align-items:center;justify-content:center}.vjs-p .video-js-plugin-poster img{box-shadow:0 0 5px 10px #0006}.vjs-p .player-controller,.vjs-p .videojs-plugin-muted-alert{pointer-events:auto}.vjs-p.disabled .videojs-plugin-close-icon,.vjs-p.disabled .player-controller{pointer-events:none}.vjs-p .video-js-plugin-player{position:absolute;top:0;left:0;right:0;bottom:0}.video-js,[data-vjs-player]{width:100%;height:100%}.vjs-p .videojs-plugin-muted-alert{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43}.vjs-p .videojs-plugin-muted-alert:before{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43;content:\"\\\\f104\";background:rgba(0,0,0,.3);font-family:VideoJS;font-size:2em;display:flex;align-items:center;justify-content:center;color:#fff}.vjs-p .videojs-plugin-recovery-mode{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:44}.vjs-p .videojs-plugin-recovery-mode button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-p .seek-slider{position:relative;width:100%}.vjs-p .seek-slider:focus{outline:none}.vjs-p .seek-slider .track{padding:10px 0;cursor:pointer;outline:none}.vjs-p .seek-slider .track:focus{border:0;outline:none}.vjs-p .seek-slider .track .main{width:100%;height:3px;background-color:#ffffff4d;border-radius:30px;position:absolute;left:0;top:8.5px;transition:transform .4s;outline:none}.vjs-p .seek-slider .track .main:focus{border:0;outline:none}.vjs-p .seek-slider .track .main .buffered{position:absolute;background-color:#ffffff4d;width:100%;height:100%;transform:scaleX(.8);z-index:2;transform-origin:0 0}.vjs-p .seek-slider .track .main .seek-hover{position:absolute;background-color:#ffffff80;width:100%;height:100%;z-index:1;transform:scaleX(.6);transform-origin:0 0;opacity:0;transition:opacity .4s}.vjs-p .seek-slider .track .main .connect{position:absolute;background-color:#fff;width:100%;height:100%;z-index:3;left:0;transform:scaleX(.13);transform-origin:0 0}.vjs-p .seek-slider .track.active .main{transform:scaleY(2)}.vjs-p .seek-slider .thumb{pointer-events:none;position:absolute;width:12px;height:12px;left:-6px;top:4px;z-index:4;transform:translate(100px)}.vjs-p .seek-slider .thumb .handler{border-radius:100%;width:100%;height:100%;background-color:#fff;opacity:0;transform:scale(.4);cursor:pointer;transition:transform .2s;pointer-events:none}.vjs-p .seek-slider .thumb.active .handler{opacity:1;transform:scale(1)}.vjs-p .seek-slider .hover-time{position:absolute;background-color:#0000004d;line-height:18px;font-size:16px;color:#ddd;top:-25px;left:0;padding:5px 10px;border-radius:5px;box-shadow:0 0 5px #0000004d;opacity:0;transform:translate(150px);pointer-events:none}.vjs-p .seek-slider .hover-time.active{opacity:1}.vjs-p .seek-slider:hover .track .main .seek-hover{opacity:1}.vjs-p .player-controller{position:absolute;z-index:100;bottom:0px;left:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:64px;background-image:linear-gradient(0deg,#000,transparent);transition:opacity .2s;color:#fff}.vjs-p .player-menu-box{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:40px}.vjs-p .player-menu-cell{width:100%;text-align:center;font-size:12px;color:#7a7b7c}.vjs-p .player-multiple-play{width:64px;height:120px}.vjs-p .player-controller-actions-left{display:flex;justify-content:center;align-items:center;flex-shrink:0}.vjs-p .player-right-box{font-size:14px;color:#7a7b7c;cursor:pointer;margin-right:12px}.vjs-p .player-controller-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;margin-top:2px}.vjs-p .player-mid-box-time{font-size:9px;display:flex;justify-content:center;align-items:center;color:#fff;flex-shrink:0;margin-right:8px;font-family:monospace}.vjs-p .player-controller-play{display:flex;align-items:center;justify-content:center;cursor:pointer;padding-right:4px}.vjs-p .player-controller-progress{width:calc(100% - 28px);margin-left:14px;display:flex;align-items:center;justify-content:center;margin-top:8px}.vjs-p .player-volume{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:16px;margin-left:8px}.vjs-p .player-volume-slider{width:60px;margin-right:12px;display:flex;align-items:center}.vjs-p .player-volume-box{display:flex;flex-direction:row}.netless-app-media-player-container{display:flex;position:relative;height:100%}\\n');const s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { callbacks } from \"./callback\";\nimport { checkVersion, setupWrapper } from \"./Helper\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, ROOT_DIR } from \"./constants\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { InvisiblePlugin, isPlayer, isRoom, RoomPhase, ViewMode } from \"white-web-sdk\";\nimport { isEqual, isNull, isObject, omit } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport \"video.js/dist/video-js.css\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n isValidScenePath,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n CameraState,\n Player,\n ImageInformation,\n SceneState,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\nimport type { PublicEvent } from \"./Callback\";\nimport type Emittery from \"emittery\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type MountParams = {\n room: Room | Player;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport type AddPageParams = {\n after?: boolean;\n scene?: SceneDefinition;\n};\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n WindowManager.displayer = params.room;\n checkVersion();\n let manager: WindowManager | undefined = undefined;\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n manager = await this.initManager(room);\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = (await room.getInvisiblePlugin(WindowManager.kind)) as WindowManager;\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (!manager) {\n throw new Error(\"[WindowManager]: create manager failed\");\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public static get registered() {\n return appRegister.registered;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n emitter.emit(\"updateManagerRect\");\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n this.appManager?.displayerWritableListener(!this.room.isWritable);\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n public async nextPage(): Promise<boolean> {\n if (this.appManager) {\n const nextIndex = this.mainViewSceneIndex + 1;\n if (nextIndex >= this.mainViewScenesLength) {\n console.warn(`[WindowManager]: current page is the last page`);\n return false;\n }\n await this.appManager.setMainViewSceneIndex(nextIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async prevPage(): Promise<boolean> {\n if (this.appManager) {\n const prevIndex = this.mainViewSceneIndex - 1;\n if (prevIndex < 0) {\n console.warn(`[WindowManager]: current page is the first page`);\n return false;\n }\n await this.appManager.setMainViewSceneIndex(prevIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async addPage(params?: AddPageParams): Promise<void> {\n if (this.appManager) {\n const after = params?.after;\n const scene = params?.scene;\n if (after) {\n const nextIndex = this.mainViewSceneIndex + 1;\n this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);\n } else {\n this.room.putScenes(ROOT_DIR, [scene || {}]);\n }\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get focusedView(): View | undefined {\n return this.appManager?.focusApp?.view || this.mainView;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n if (this.appManager) {\n return this.appManager?.getMainViewSceneDir();\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n public get mainViewScenesLength(): number {\n return this.appManager?.mainViewScenesLength || 0;\n }\n\n public get canRedoSteps(): number {\n return this.focusedView?.canRedoSteps || 0;\n }\n\n public get canUndoSteps(): number {\n return this.focusedView?.canUndoSteps || 0;\n }\n\n public get sceneState(): SceneState {\n if (this.appManager) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.appManager.sceneState!;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n const pureCamera = omit(camera, [\"animationMode\"]);\n const mainViewCamera = { ...this.mainView.camera };\n if (isEqual({ ...mainViewCamera, ...pureCamera }, mainViewCamera)) return;\n this.mainView.moveCamera(camera);\n this.appManager?.dispatchInternalEvent(Events.MoveCamera, camera);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n public cleanCurrentScene(): void {\n this.focusedView?.cleanCurrentScene();\n }\n\n public redo(): number {\n return this.focusedView?.redo() || 0;\n }\n\n public undo(): number {\n return this.focusedView?.undo() || 0;\n }\n\n public delete(): void {\n this.focusedView?.delete();\n }\n\n public copy(): void {\n this.focusedView?.copy();\n }\n\n public paste(): void {\n this.focusedView?.paste();\n }\n\n public duplicate(): void {\n this.focusedView?.duplicate();\n }\n\n public insertText(x: number, y: number, text: string | undefined): string {\n return this.focusedView?.insertText(x, y, text) || \"\";\n }\n\n public insertImage(info: ImageInformation): void {\n return this.focusedView?.insertImage(info);\n }\n\n public completeImageUpload(uuid: string, url: string): void {\n return this.focusedView?.completeImageUpload(uuid, url);\n }\n\n public lockImage(uuid: string, locked: boolean): void {\n return this.focusedView?.lockImage(uuid, locked);\n }\n\n public lockImages(locked: boolean): void {\n return this.focusedView?.lockImages(locked);\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: ROOT_DIR });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: 0 });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\n","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./InternalEmitter\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n"],"names":["Events","Events2","MagixEventName","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","REQUIRE_VERSION","MIN_WIDTH","MIN_HEIGHT","ROOT_DIR","callbacks","Emittery","constructor","initInterval","setInterval","invoke","push","item","list","this","timer","length","currentInvoker","shift","then","emitReady","catch","error","message","isEmit","emit","destroy","emitter","DatabaseName","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","Map","params","appClassesCache","delete","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","status","reason","includes","define2","define","amd","loadApp","__esModule","default","Error","appClasses","app","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","has","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCamera","moveCameraHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","isEqual","omit","__spreadValues","camera","moveCamera","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","on","args","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","pick","attrs","createdAt","Date","now","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","setMainViewSize","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","log","WindowManager","debug","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","debounce","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","focusBox","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","fullScenePath","needCloseBox","cleanAttrs","error2","stack","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","rebind","disableCameraTransform","stop","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","focused","addViewCallbacks","onCanRedoStepsUpdate","onCanUndoStepsUpdate","focusApp","getAppProxy","redoListener","undoListener","canRedoSteps","canUndoSteps","steps","prevFocused","disposeViewCallbacks","disposePrevFocusViewRedoUndoListeners","changed","prev","addRedoUndoListeners","windowManger","AppCreateQueue","isRecreate","callbacksNode","dispose","createScenesCallback","onAddScene","onSceneChange","onRemoveScene","updateSceneState","mainViewScenesLength","node","currentIndex","sceneName","contextPath","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","appCreateQueue","onCreated","onReconnected","isPlayer","attributesUpdateCallback","onAppDelete","createRootDirScenesCallback","onRootDirRemoved","closeApp","isRoom","getMainViewSceneDir","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","_prevFocused","mainScenePath","displayerWritableListener","redoUndo","RedoUndo","container","appIds","appsWithCreatedAt","orderBy","StartCreate","focusByAttributes","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","setAppFocus","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","dispatchSetMainViewScenePath","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","err","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","isReactComponent","C","forceUpdate","F","I","H","G","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","Math","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","round","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","ze","sort","fe","l3","h2","trim","transformOrigin","Be","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","z2","styles","B2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","zt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","find","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","updateManagerRect","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","isLaserPointer","ApplianceNames","laserPointer","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","updateMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","cursorTagName","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","memberTagName","roomMembers","findMemberByUid","updateComponent","cursorInstances","enableCursor","cursorInstance","initCursorInstance","Leave","leave","canMoveCursor","Cursor","throttle","pointerType","isPrimary","getType","convertToPointInWorld","mainViewElement","hideCursor","setupWrapper","onCursorMove","updateContainerRect","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","SRCSET","SIZES","POSTER","ORIGINALS","statusLoading","statusLoaded","statusApplied","statusError","statusNative","dataPrefix","statusDataName","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","RATIO_BASE_CONTAINER_HEIGHT","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","exports3","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Bd","Cd","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","fj","gj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Dj","lk","xa","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","_WindowManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","copy","paste","duplicate","insertImage","completeImageUpload","insertText","lockImage","lockImages","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","nextIndex","mainViewSceneIndex","prevIndex","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","focusedView","queryAll","pureCamera","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","info","uuid2","locked","sceneSrc","isNull"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/constants.ts","../src/callback.ts","../src/Utils/AppCreateQueue.ts","../src/InternalEmitter.ts","../src/Register/storage.ts","../src/Register/loader.ts","../src/Register/index.ts","../src/Utils/Common.ts","../src/AppListener.ts","../src/Utils/error.ts","../src/Utils/Reactive.ts","../src/App/Storage/utils.ts","../src/App/Storage/StorageEvent.ts","../src/App/Storage/index.ts","../src/AppContext.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/RedoUndo.ts","../src/AppManager.ts","../src/ContainerResizeObserver.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../src/Cursor/icons.ts","../src/image/pencil-cursor.png","../src/image/selector-cursor.png","../src/image/eraser-cursor.png","../src/image/shape-cursor.svg","../src/image/text-cursor.svg","../src/image/laser-pointer-cursor.svg","../src/Cursor/Cursor.ts","../src/Helper.ts","../src/Cursor/index.ts","../src/Utils/RoomHacker.ts","../node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.ts","../src/ReconnectRefresher.ts"],"sourcesContent":["export enum Events {\n AppMove = \"AppMove\",\n AppFocus = \"AppFocus\",\n AppResize = \"AppResize\",\n AppBoxStateChange = \"AppBoxStateChange\",\n GetAttributes = \"GetAttributes\",\n UpdateWindowManagerWrapper = \"UpdateWindowManagerWrapper\",\n InitReplay = \"InitReplay\",\n WindowCreated = \"WindowCreated\",\n SetMainViewScenePath = \"SetMainViewScenePath\",\n SetMainViewSceneIndex = \"SetMainViewSceneIndex\",\n SwitchViewsToFreedom = \"SwitchViewsToFreedom\",\n MoveCamera = \"MoveCamera\",\n MoveCameraToContain = \"MoveCameraToContain\",\n CursorMove = \"CursorMove\",\n}\n\nexport const MagixEventName = \"__WindowManger\";\n\nexport enum AppAttributes {\n Size = \"size\",\n Position = \"position\",\n SceneIndex = \"SceneIndex\",\n ZIndex = \"zIndex\",\n}\n\nexport enum AppEvents {\n setBoxSize = \"setBoxSize\",\n setBoxMinSize = \"setBoxMinSize\",\n destroy = \"destroy\",\n}\n\nexport enum AppStatus {\n StartCreate = \"StartCreate\",\n}\n\nexport enum CursorState {\n Leave = \"leave\",\n Normal = \"normal\",\n}\n\nexport const REQUIRE_VERSION = \"2.16.1\";\n\nexport const MIN_WIDTH = 340 / 720;\nexport const MIN_HEIGHT = 340 / 720;\n\nexport const SET_SCENEPATH_DELAY = 100; // 设置 scenePath 的延迟事件\n\nexport const DEFAULT_CONTAINER_RATIO = 9 / 16;\n\nexport const ROOT_DIR = \"/\";\n","import Emittery from \"emittery\";\nimport type { TeleBoxColorScheme, TELE_BOX_STATE } from \"@netless/telebox-insider\";\nimport type { CameraState, SceneState, ViewVisionMode } from \"white-web-sdk\";\nimport type { LoadAppEvent } from \"./Register\";\n\nexport type PublicEvent = {\n mainViewModeChange: ViewVisionMode;\n boxStateChange: `${TELE_BOX_STATE}`;\n darkModeChange: boolean;\n prefersColorSchemeChange: TeleBoxColorScheme;\n cameraStateChange: CameraState;\n mainViewScenePathChange: string;\n mainViewSceneIndexChange: number;\n focusedChange: string | undefined;\n mainViewScenesLengthChange: number;\n canRedoStepsChange: number;\n canUndoStepsChange: number;\n loadApp: LoadAppEvent;\n ready: undefined; // 所有 APP 创建完毕时触发\n sceneStateChange: SceneState;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n","import { callbacks } from \"../callback\";\nimport type { AppProxy } from \"../AppProxy\";\n\nexport type Invoker = () => Promise<AppProxy | undefined>;\n\nexport class AppCreateQueue {\n private list: Invoker[] = [];\n private currentInvoker: Invoker | undefined;\n private timer: number | undefined;\n public isEmit = false;\n\n private initInterval() {\n return setInterval(() => {\n this.invoke();\n }, 50);\n }\n\n public push(item: Invoker) {\n this.list.push(item);\n this.invoke();\n if (this.timer === undefined && this.list.length > 0) {\n this.timer = this.initInterval();\n }\n }\n\n public invoke() {\n if (this.list.length === 0) {\n return;\n }\n if (this.currentInvoker !== undefined) {\n return;\n }\n\n const item = this.list.shift();\n if (item) {\n this.currentInvoker = item;\n item()\n .then(() => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n clearInterval(this.timer);\n this.emitReady();\n }\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n clearInterval(this.timer);\n });\n }\n }\n\n public emitReady() {\n if (!this.isEmit) {\n callbacks.emit(\"ready\");\n }\n this.isEmit = true;\n }\n\n public destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n","import Emittery from \"emittery\";\nimport type { AppInitState, CursorMovePayload } from \"./index\";\n\n\nexport type EmitterEvent = {\n onCreated: undefined;\n InitReplay: AppInitState;\n move: { appId: string; x: number; y: number };\n focus: { appId: string };\n close: { appId: string };\n resize: { appId: string; width: number; height: number; x?: number; y?: number };\n error: Error;\n seek: number;\n mainViewMounted: undefined;\n observerIdChange: number;\n boxStateChange: string;\n playgroundSizeChange: DOMRect;\n onReconnected: void;\n removeScenes: string;\n cursorMove: CursorMovePayload;\n updateManagerRect: undefined;\n focusedChange: { focused: string | undefined; prev: string | undefined };\n rootDirRemoved: undefined;\n setReadonly: boolean;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();","const DatabaseName = \"__WindowManagerAppCache\";\n\nlet db: IDBDatabase;\nlet store: IDBObjectStore;\n\nexport type Item = {\n kind: string;\n sourceCode: string;\n}\n\nexport const initDb = async () => {\n db = await createDb();\n}\n\nexport const setItem = (key: string, val: any) => {\n if (!db) return;\n return addRecord(db, { kind: key, sourceCode: val })\n};\n\nexport const getItem = async (key: string): Promise<Item | null> => {\n if (!db) return null;\n return await query(db, key);\n};\n\nexport const removeItem = (key: string) => {\n if (!db) return;\n return deleteRecord(db, key);\n};\n\nfunction createDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DatabaseName, 2);\n request.onerror = (e) => {\n reject(e);\n }\n\n request.onupgradeneeded = (event: any) => {\n const db = event.target.result as IDBDatabase;\n if (!db.objectStoreNames.contains(\"apps\")) {\n store = db.createObjectStore(\"apps\", { keyPath: \"kind\" });\n store.createIndex(\"kind\", \"kind\", { unique: true });\n }\n }\n\n request.onsuccess = () => {\n const db = request.result;\n resolve(db);\n }\n })\n}\n\nfunction query<T>(db: IDBDatabase, val: string): Promise<T | null> {\n return new Promise((resolve, reject) => {\n const index = db.transaction([\"apps\"]).objectStore(\"apps\").index(\"kind\");\n const request = index.get(val);\n request.onerror = (e) => reject(e);\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n resolve(null);\n }\n }\n })\n}\n\nfunction addRecord(db: IDBDatabase, payload: any): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").add(payload);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n\nfunction deleteRecord(db: IDBDatabase, key: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const request = db.transaction([\"apps\"], \"readwrite\").objectStore(\"apps\").delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject();\n })\n}\n","import { callbacks } from \"../callback\";\nimport { getItem, setItem } from \"./storage\";\nimport type { NetlessApp } from \"../typings\";\n\nconst Prefix = \"NetlessApp\";\n\nconst TIMEOUT = 10000; // 下载 script 10 秒超时\n\nexport const getScript = async (url: string): Promise<string> => {\n const item = await getItem(url);\n if (item) {\n return item.sourceCode;\n } else {\n const result = await fetchWithTimeout(url, { timeout: TIMEOUT });\n const text = await result.text();\n await setItem(url, text);\n return text;\n }\n};\n\nexport const executeScript = (text: string, appName: string): NetlessApp => {\n let result = Function(text + `\\n;return ${appName}`)();\n if (typeof result === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n result = window[appName];\n }\n return result;\n};\n\nexport const loadApp = async (\n url: string,\n key: string,\n name?: string\n): Promise<NetlessApp | undefined> => {\n const appName = name || Prefix + key;\n callbacks.emit(\"loadApp\", { kind: key, status: \"start\" });\n try {\n const text = await getScript(url);\n if (!text || text.length === 0) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: \"script is empty.\" });\n return;\n }\n try {\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n } catch (error: any) {\n if (error.message.includes(\"Can only have one anonymous define call per script file\")) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const define = window.define;\n if (\"function\" == typeof define && define.amd) {\n delete define.amd;\n }\n const result = executeScript(text, appName);\n callbacks.emit(\"loadApp\", { kind: key, status: \"success\" });\n return result;\n }\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n } catch (error: any) {\n callbacks.emit(\"loadApp\", { kind: key, status: \"failed\", reason: error.message });\n }\n};\n\nasync function fetchWithTimeout(resource: string, options: RequestInit & { timeout: number }) {\n const { timeout = 10000 } = options;\n\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: controller.signal,\n headers: {\n \"content-type\": \"text/plain\",\n },\n });\n clearTimeout(id);\n\n return response;\n}\n","import Emittery from \"emittery\";\nimport { loadApp } from \"./loader\";\nimport type { NetlessApp, RegisterEvents, RegisterParams } from \"../typings\";\n\nexport type LoadAppEvent = {\n kind: string;\n status: \"start\" | \"success\" | \"failed\";\n reason?: string;\n};\n\nclass AppRegister {\n public kindEmitters: Map<string, Emittery<RegisterEvents>> = new Map();\n public registered: Map<string, RegisterParams> = new Map();\n public appClassesCache: Map<string, Promise<NetlessApp>> = new Map();\n public appClasses: Map<string, () => Promise<NetlessApp>> = new Map();\n\n public async register(params: RegisterParams): Promise<void> {\n this.appClassesCache.delete(params.kind);\n this.registered.set(params.kind, params);\n\n const srcOrAppOrFunction = params.src;\n let downloadApp: () => Promise<NetlessApp>;\n\n if (typeof srcOrAppOrFunction === \"string\") {\n downloadApp = async () => {\n let appClass = (await loadApp(srcOrAppOrFunction, params.kind)) as any;\n if (appClass) {\n if (appClass.__esModule) {\n appClass = appClass.default;\n }\n return appClass;\n } else {\n throw new Error(\n `[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`\n );\n }\n };\n } else if (typeof srcOrAppOrFunction === \"function\") {\n downloadApp = srcOrAppOrFunction;\n } else {\n downloadApp = async () => srcOrAppOrFunction;\n }\n\n this.appClasses.set(params.kind, async () => {\n let app = this.appClassesCache.get(params.kind);\n if (!app) {\n app = downloadApp();\n this.appClassesCache.set(params.kind, app);\n }\n return app;\n });\n\n if (params.addHooks) {\n const emitter = this.createKindEmitter(params.kind);\n if (emitter) {\n params.addHooks(emitter);\n }\n }\n }\n\n public async notifyApp<T extends keyof RegisterEvents>(\n kind: string,\n event: T,\n payload: RegisterEvents[T]\n ) {\n const emitter = this.kindEmitters.get(kind);\n await emitter?.emit(event, payload);\n }\n\n private createKindEmitter(kind: string) {\n if (!this.kindEmitters.has(kind)) {\n const emitter = new Emittery<RegisterEvents>();\n this.kindEmitters.set(kind, emitter);\n }\n return this.kindEmitters.get(kind);\n }\n}\n\nexport const appRegister = new AppRegister();\n","import { appRegister } from \"../Register\";\nimport { debounce } from \"lodash\";\nimport { emitter } from \"../InternalEmitter\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../callback\";\nimport type { Displayer, ViewVisionMode, Room, View } from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\nimport { ROOT_DIR } from \"../constants\";\n\nexport const genAppId = async (kind: string) => {\n const impl = await appRegister.appClasses.get(kind)?.();\n if (impl && impl.config?.singleton) {\n return kind;\n }\n return `${kind}-${v4().replace(\"-\", \"\").slice(0, 8)}`;\n};\n\nexport const setViewFocusScenePath = (view: View, focusScenePath: string) => {\n if (view.focusScenePath !== focusScenePath) {\n view.focusScenePath = focusScenePath;\n return view;\n }\n};\n\nexport const setViewSceneIndex = (view: View, index: number) => {\n if (view.focusSceneIndex !== index) {\n view.focusSceneIndex = index;\n return view;\n }\n};\n\nexport const setScenePath = (room: Room | undefined, scenePath: string) => {\n if (room && room.isWritable) {\n if (room.state.sceneState.scenePath !== scenePath) {\n room.setScenePath(scenePath);\n }\n }\n};\n\nexport const getScenePath = (\n room: Room | undefined,\n dir: string | undefined,\n index: number\n): string | undefined => {\n if (room && dir) {\n const scenes = entireScenes(room);\n const scene = scenes[dir]?.[index];\n if (scene) {\n return `${dir}/${scene.name}`;\n }\n }\n};\n\nexport const removeScenes = (room: Room | undefined, scenePath: string) => {\n if (room) {\n const type = room.scenePathType(scenePath);\n if (type !== ScenePathType.None) {\n room.removeScenes(scenePath);\n }\n }\n};\n\nexport const setViewMode = (view: View, mode: ViewVisionMode) => {\n if (!(view as any).didRelease && view.mode !== mode) {\n view.mode = mode;\n }\n};\n\nexport const emitError = (error: Error) => {\n if (emitter.listenerCount(\"error\") > 0) {\n emitter.emit(\"error\", error);\n } else {\n console.log(\"[WindowManager]:\", error);\n }\n};\n\nexport const addEmitterOnceListener = (event: any, listener: any) => {\n emitter.once(event).then(listener);\n};\n\nexport const notifyMainViewModeChange = debounce(\n (callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => {\n callbacks.emit(\"mainViewModeChange\", mode);\n },\n 200\n);\n\nexport const makeValidScenePath = (displayer: Displayer, scenePath: string, index = 0) => {\n const scenes = entireScenes(displayer)[scenePath];\n if (!scenes) return;\n const scene = scenes[index];\n if (!scene) return;\n const firstSceneName = scene.name;\n if (scenePath === ROOT_DIR) {\n return `/${firstSceneName}`;\n } else {\n return `${scenePath}/${firstSceneName}`;\n }\n};\n\nexport const entireScenes = (displayer: Displayer) => {\n return displayer.entireScenes();\n};\n\n\nexport const isValidScenePath = (scenePath: string) => {\n return scenePath.startsWith(\"/\");\n};\n\nexport const parseSceneDir = (scenePath: string) => {\n const sceneList = scenePath.split(\"/\");\n sceneList.pop();\n let sceneDir = sceneList.join(\"/\");\n // \"/page1\" 的 dir 为 \"/\"\n if (sceneDir === \"\") {\n sceneDir = \"/\";\n }\n return sceneDir;\n};\n\nexport const ensureValidScenePath = (scenePath: string) => {\n if (scenePath.endsWith(\"/\")) {\n return scenePath.slice(0, -1);\n } else {\n return scenePath;\n }\n};\n\nexport const getVersionNumber = (version: string) => {\n const versionString = version\n .split(\".\")\n .map(s => s.padStart(2, \"0\"))\n .join(\"\");\n return parseInt(versionString);\n};\n\nexport const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));\n","import { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Events, MagixEventName } from \"./constants\";\nimport { isEqual, omit } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AnimationMode, Camera, Event } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { TeleBoxState } from \"@netless/telebox-insider\";\nexport class AppListeners {\n private displayer = this.manager.displayer;\n\n constructor(private manager: AppManager) {}\n\n private get boxManager() {\n return this.manager.boxManager;\n }\n\n public addListeners() {\n this.displayer.addMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n public removeListeners() {\n this.displayer.removeMagixEventListener(MagixEventName, this.mainMagixEventListener);\n }\n\n private mainMagixEventListener = (event: Event) => {\n if (event.authorId !== this.displayer.observerId) {\n const data = event.payload;\n switch (data.eventName) {\n case Events.AppMove: {\n this.appMoveHandler(data.payload);\n break;\n }\n case Events.AppResize: {\n this.appResizeHandler(data.payload);\n break;\n }\n case Events.AppBoxStateChange: {\n this.boxStateChangeHandler(data.payload);\n break;\n }\n case Events.SetMainViewScenePath: {\n this.setMainViewScenePathHandler(data.payload);\n break;\n }\n case Events.MoveCamera: {\n this.moveCameraHandler(data.payload);\n break;\n }\n case Events.MoveCameraToContain: {\n this.moveCameraToContainHandler(data.payload);\n break;\n }\n case Events.CursorMove: {\n this.cursorMoveHandler(data.payload);\n break;\n }\n default:\n break;\n }\n }\n };\n\n private appMoveHandler = (payload: any) => {\n this.boxManager?.moveBox(payload);\n };\n\n private appResizeHandler = (payload: any) => {\n this.boxManager?.resizeBox(Object.assign(payload, { skipUpdate: true }));\n this.manager.room?.refreshViewSize();\n };\n\n private boxStateChangeHandler = (state: TeleBoxState) => {\n callbacks.emit(\"boxStateChange\", state);\n };\n\n private setMainViewScenePathHandler = ({ nextScenePath }: { nextScenePath: string }) => {\n setViewFocusScenePath(this.manager.mainView, nextScenePath);\n callbacks.emit(\"mainViewScenePathChange\", nextScenePath);\n };\n\n private moveCameraHandler = (\n payload: Camera & { animationMode?: AnimationMode | undefined }\n ) => {\n if (isEqual(omit(payload, [\"animationMode\"]), { ...this.manager.mainView.camera })) return;\n this.manager.mainView.moveCamera(payload);\n };\n\n private moveCameraToContainHandler = (payload: any) => {\n this.manager.mainView.moveCameraToContain(payload);\n };\n\n private cursorMoveHandler = (payload: any) => {\n emitter.emit(\"cursorMove\", payload);\n };\n}\n","\nexport class AppCreateError extends Error {\n override message = \"[WindowManager]: app duplicate exists and cannot be created again\";\n}\n\nexport class AppNotRegisterError extends Error {\n constructor(kind: string) {\n super(`[WindowManager]: app ${kind} need register or provide src`);\n }\n}\n\nexport class AppManagerNotInitError extends Error {\n override message = \"[WindowManager]: AppManager must be initialized\";\n}\n\nexport class WhiteWebSDKInvalidError extends Error {\n constructor(version: string) {\n super(`[WindowManager]: white-web-sdk version must large than ${version}`);\n }\n}\n\nexport class ParamsInvalidError extends Error {\n override message = \"[WindowManager]: kind must be a valid string\";\n}\n\nexport class BoxNotCreatedError extends Error {\n override message = \"[WindowManager]: box need created\";\n}\n\nexport class InvalidScenePath extends Error {\n override message = `[WindowManager]: ScenePath should start with \"/\"`;\n}\n\nexport class BoxManagerNotFoundError extends Error {\n override message = \"[WindowManager]: boxManager not found\";\n}\n","import { listenUpdated, unlistenUpdated, reaction, UpdateEventKind } from \"white-web-sdk\";\nimport type { AkkoObjectUpdatedProperty , AkkoObjectUpdatedListener } from \"white-web-sdk\";\nimport { isObject } from \"lodash\";\n\n// 兼容 13 和 14 版本 SDK\nexport const onObjectByEvent = (event: UpdateEventKind) => {\n return (object: any, func: () => void) => {\n if (object === undefined) return;\n if (listenUpdated) {\n const listener = (events: readonly AkkoObjectUpdatedProperty<any>[]) => {\n const kinds = events.map(e => e.kind);\n if (kinds.includes(event)) {\n func();\n }\n }\n listenUpdated(object, listener);\n func();\n return () => unlistenUpdated(object, listener);\n } else {\n return reaction(\n () => object,\n () => {\n func();\n }, {\n fireImmediately: true,\n }\n )\n }\n }\n}\n\nexport const safeListenPropsUpdated = <T>(\n getProps: () => T,\n callback: AkkoObjectUpdatedListener<T>,\n onDestroyed?: (props: unknown) => void\n ) => {\n let disposeListenUpdated: (() => void) | null = null;\n const disposeReaction = reaction(\n getProps,\n () => {\n if (disposeListenUpdated) {\n disposeListenUpdated();\n disposeListenUpdated = null;\n }\n const props = getProps();\n if (isObject(props)) {\n disposeListenUpdated = () => unlistenUpdated(props, callback);\n listenUpdated(props, callback);\n } else {\n onDestroyed?.(props);\n }\n },\n { fireImmediately: true }\n );\n\n return () => {\n disposeListenUpdated?.();\n disposeReaction();\n };\n}\n\nexport const onObjectRemoved = onObjectByEvent(UpdateEventKind.Removed);\nexport const onObjectInserted = onObjectByEvent(UpdateEventKind.Inserted);\n","import { has } from \"lodash\";\nimport { genUID } from \"side-effect-manager\";\nimport type { AutoRefValue, ExtractRawValue, RefValue } from \"./typings\";\n\nexport const plainObjectKeys = Object.keys as <T>(o: T) => Array<Extract<keyof T, string>>;\n\nexport function isRef<TValue = unknown>(e: unknown): e is RefValue<TValue> {\n return Boolean(has(e, '__isRef'));\n}\n\nexport function makeRef<TValue>(v: TValue): RefValue<TValue> {\n return { k: genUID(), v, __isRef: true };\n}\n\nexport function makeAutoRef<TValue>(v: TValue): AutoRefValue<TValue> {\n return isRef<ExtractRawValue<TValue>>(v) ? v : makeRef(v as ExtractRawValue<TValue>);\n}\n","export type StorageEventListener<T> = (event: T) => void;\n\nexport class StorageEvent<TMessage> {\n listeners = new Set<StorageEventListener<TMessage>>();\n\n get length(): number {\n return this.listeners.size;\n }\n\n dispatch(message: TMessage): void {\n this.listeners.forEach(callback => callback(message));\n }\n\n addListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.add(listener);\n }\n\n removeListener(listener: StorageEventListener<TMessage>): void {\n this.listeners.delete(listener);\n }\n}\n","import type { AkkoObjectUpdatedProperty } from \"white-web-sdk\";\nimport { get, has, mapValues, isObject, size, noop } from \"lodash\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { AppContext } from \"../../AppContext\";\nimport { safeListenPropsUpdated } from \"../../Utils/Reactive\";\nimport { isRef, makeRef, plainObjectKeys } from \"./utils\";\nimport type { Diff, MaybeRefValue, RefValue, StorageStateChangedEvent, StorageStateChangedListener, StorageStateChangedListenerDisposer } from \"./typings\";\nimport { StorageEvent } from \"./StorageEvent\";\n\nexport * from './typings';\n\nexport const STORAGE_NS = \"_WM-STORAGE_\";\n\nexport class Storage<TState extends Record<string, any> = any> implements Storage<TState> {\n readonly id: string | null;\n\n private readonly _context: AppContext;\n private readonly _sideEffect = new SideEffectManager();\n private _state: TState;\n private _destroyed = false;\n\n private _refMap = new WeakMap<any, RefValue>();\n\n /**\n * `setState` alters local state immediately before sending to server. This will cache the old value for onStateChanged diffing.\n */\n private _lastValue = new Map<string | number | symbol, TState[Extract<keyof TState, string>]>();\n\n constructor(context: AppContext, id?: string, defaultState?: TState) {\n if (defaultState && !isObject(defaultState)) {\n throw new Error(`Default state for Storage ${id} is not an object.`);\n }\n\n this._context = context;\n this.id = id || null;\n\n this._state = {} as TState;\n const rawState = this._getRawState(this._state);\n\n if (this.id !== null && this._context.getIsWritable()) {\n if (rawState === this._state || !isObject(rawState)) {\n if (!get(this._context.getAttributes(), [STORAGE_NS])) {\n this._context.updateAttributes([STORAGE_NS], {});\n }\n this._context.updateAttributes([STORAGE_NS, this.id], this._state);\n }\n if (defaultState) {\n this.setState(defaultState);\n }\n }\n\n // strip mobx\n plainObjectKeys(rawState).forEach(key => {\n if (this.id === null && key === STORAGE_NS) {\n return;\n }\n try {\n const rawValue = isObject(rawState[key]) ? JSON.parse(JSON.stringify(rawState[key])) : rawState[key];\n if (isRef<TState[Extract<keyof TState, string>]>(rawValue)) {\n this._state[key] = rawValue.v;\n if (isObject(rawValue.v)) {\n this._refMap.set(rawValue.v, rawValue);\n }\n } else {\n this._state[key] = rawValue;\n }\n } catch (e) {\n console.error(e);\n }\n });\n\n this._sideEffect.addDisposer(\n safeListenPropsUpdated(\n () => this.id === null ? context.getAttributes() : get(context.getAttributes(), [STORAGE_NS, this.id]),\n this._updateProperties.bind(this),\n this.destroy.bind(this)\n )\n );\n }\n\n get state(): Readonly<TState> {\n if (this._destroyed) {\n console.warn(`Accessing state on destroyed Storage \"${this.id}\"`)\n }\n return this._state;\n }\n\n readonly onStateChanged = new StorageEvent<StorageStateChangedEvent<TState>>();\n \n addStateChangedListener(handler: StorageStateChangedListener<TState>): StorageStateChangedListenerDisposer {\n this.onStateChanged.addListener(handler);\n return () => this.onStateChanged.removeListener(handler);\n }\n\n ensureState(state: Partial<TState>): void {\n return this.setState(\n plainObjectKeys(state).reduce((payload, key) => {\n if (!has(this._state, key)) {\n payload[key] = state[key];\n }\n return payload;\n }, {} as Partial<TState>)\n );\n }\n\n setState(state: Partial<TState>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call setState on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot setState on Storage \"${this.id}\" without writable access`), state);\n return;\n }\n\n const keys = plainObjectKeys(state);\n if (keys.length > 0) {\n keys.forEach(key => {\n const value = state[key];\n if (value === this._state[key]) {\n return;\n }\n\n if (value === void 0) {\n this._lastValue.set(key, this._state[key]);\n delete this._state[key];\n this._setRawState(key, value);\n } else {\n this._lastValue.set(key, this._state[key]);\n this._state[key] = value as TState[Extract<keyof TState, string>];\n\n let payload: MaybeRefValue<typeof value> = value;\n if (isObject(value)) {\n let refValue = this._refMap.get(value);\n if (!refValue) {\n refValue = makeRef(value);\n this._refMap.set(value, refValue);\n }\n payload = refValue;\n }\n\n this._setRawState(key, payload)\n }\n });\n }\n }\n\n /**\n * Empty storage data.\n */\n emptyStorage(): void {\n if (size(this._state) <= 0) {\n return;\n }\n\n if (this._destroyed) {\n console.error(new Error(`Cannot empty destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot empty Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.setState(mapValues(this._state, noop as () => undefined));\n }\n\n /**\n * Delete storage index with all of its data and destroy the Storage instance.\n */\n deleteStorage(): void {\n if (this.id === null) {\n throw new Error(`Cannot delete main Storage`);\n }\n\n if (!this._context.getIsWritable()) {\n console.error(new Error(`Cannot delete Storage \"${this.id}\" without writable access.`));\n return;\n }\n\n this.destroy();\n\n this._context.updateAttributes([STORAGE_NS, this.id], void 0);\n }\n\n get destroyed(): boolean {\n return this._destroyed;\n }\n\n /**\n * Destroy the Storage instance. The data will be kept.\n */\n destroy() {\n this._destroyed = true;\n this._sideEffect.flushAll();\n }\n\n private _getRawState(): TState | undefined\n private _getRawState(defaultValue: TState): TState\n private _getRawState(defaultValue?: TState): TState | undefined {\n if (this.id === null) {\n return this._context.getAttributes() ?? defaultValue;\n } else {\n return get(this._context.getAttributes(), [STORAGE_NS, this.id], defaultValue);\n }\n }\n\n private _setRawState(key: string, value: any): void {\n if (this.id === null) {\n if (key === STORAGE_NS) {\n throw new Error(`Cannot set attribute internal filed \"${STORAGE_NS}\"`)\n }\n return this._context.updateAttributes([key], value);\n } else {\n return this._context.updateAttributes([STORAGE_NS, this.id, key], value);\n }\n }\n\n private _updateProperties(actions: ReadonlyArray<AkkoObjectUpdatedProperty<TState, string>>): void {\n if (this._destroyed) {\n console.error(new Error(`Cannot call _updateProperties on destroyed Storage \"${this.id}\".`));\n return;\n }\n\n if (actions.length > 0) {\n const diffs: Diff<TState> = {};\n\n for (let i = 0; i < actions.length; i++) {\n try {\n const action = actions[i]\n const key = action.key as Extract<keyof TState, string>;\n\n if (this.id === null && key === STORAGE_NS) {\n continue\n }\n\n const value = isObject(action.value) ? JSON.parse(JSON.stringify(action.value)) : action.value;\n let oldValue: TState[Extract<keyof TState, string>] | undefined;\n if (this._lastValue.has(key)) {\n oldValue = this._lastValue.get(key);\n this._lastValue.delete(key);\n }\n\n switch (action.kind) {\n case 2: {\n // Removed\n if (has(this._state, key)) {\n oldValue = this._state[key];\n delete this._state[key];\n }\n diffs[key] = { oldValue };\n break;\n }\n default: {\n let newValue = value;\n\n if (isRef<TState[Extract<keyof TState, string>]>(value)) {\n const { k, v } = value;\n const curValue = this._state[key];\n if (isObject(curValue) && this._refMap.get(curValue)?.k === k) {\n newValue = curValue;\n } else {\n newValue = v;\n if (isObject(v)) {\n this._refMap.set(v, value);\n }\n }\n }\n\n if (newValue !== this._state[key]) {\n oldValue = this._state[key];\n this._state[key] = newValue;\n }\n\n diffs[key] = { newValue, oldValue };\n break;\n }\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n this.onStateChanged.dispatch(diffs);\n }\n }\n}\n","import { BoxNotCreatedError } from \"./Utils/error\";\nimport { Storage } from \"./App/Storage\";\nimport {\n autorun,\n listenDisposed,\n listenUpdated,\n reaction,\n unlistenDisposed,\n unlistenUpdated,\n toJS,\n} from \"white-web-sdk\";\nimport type {\n Room,\n SceneDefinition,\n View,\n EventListener as WhiteEventListener,\n} from \"white-web-sdk\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type { AppEmitterEvent } from \"./index\";\nimport type { AppManager } from \"./AppManager\";\nimport type { AppProxy } from \"./AppProxy\";\nimport type {\n MagixEventAddListener,\n MagixEventDispatcher,\n MagixEventRemoveListener,\n} from \"./App/MagixEvent\";\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {\n public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;\n public readonly mobxUtils = {\n autorun,\n reaction,\n toJS,\n };\n public readonly objectUtils = {\n listenUpdated,\n unlistenUpdated,\n listenDisposed,\n unlistenDisposed,\n };\n\n private store = this.manager.store;\n public readonly isAddApp: boolean;\n public readonly isReplay = this.manager.isReplay;\n\n constructor(\n private manager: AppManager,\n private boxManager: BoxManager,\n public appId: string,\n private appProxy: AppProxy,\n private appOptions?: TAppOptions | (() => TAppOptions)\n ) {\n this.emitter = appProxy.appEmitter;\n this.isAddApp = appProxy.isAddApp;\n }\n\n public getDisplayer = () => {\n return this.manager.displayer;\n };\n\n /** @deprecated Use context.storage.state instead. */\n public getAttributes = (): TAttributes | undefined => {\n return this.appProxy.attributes;\n };\n\n public getScenes = (): SceneDefinition[] | undefined => {\n const appAttr = this.store.getAppAttributes(this.appId);\n if (appAttr?.isDynamicPPT) {\n return this.appProxy.scenes;\n } else {\n return appAttr?.options[\"scenes\"];\n }\n };\n\n public getView = (): View | undefined => {\n return this.appProxy.view;\n };\n\n public getInitScenePath = () => {\n return this.manager.getAppInitPath(this.appId);\n };\n\n /** Get App writable status. */\n public getIsWritable = (): boolean => {\n return this.manager.canOperate;\n };\n\n /** Get the App Window UI box. */\n public getBox = (): ReadonlyTeleBox => {\n const box = this.boxManager.getBox(this.appId);\n if (box) {\n return box;\n } else {\n throw new BoxNotCreatedError();\n }\n };\n\n public getRoom = (): Room | undefined => {\n return this.manager.room;\n };\n\n /** @deprecated Use context.storage.setState instead. */\n public setAttributes = (attributes: TAttributes) => {\n this.manager.safeSetAttributes({ [this.appId]: attributes });\n };\n\n /** @deprecated Use context.storage.setState instead. */\n public updateAttributes = (keys: string[], value: any) => {\n if (this.manager.attributes[this.appId]) {\n this.manager.safeUpdateAttributes([this.appId, ...keys], value);\n }\n };\n\n public setScenePath = async (scenePath: string): Promise<void> => {\n if (!this.appProxy.box) return;\n this.appProxy.setFullPath(scenePath);\n // 兼容 15 版本 SDK 的切页\n this.getRoom()?.setScenePath(scenePath);\n };\n\n public mountView = (dom: HTMLElement): void => {\n const view = this.getView();\n if (view) {\n view.divElement = dom as HTMLDivElement;\n setTimeout(() => {\n // 渲染需要时间,延迟 refresh\n this.getRoom()?.refreshViewSize();\n }, 1000);\n }\n };\n\n /** Get the local App options. */\n public getAppOptions = (): TAppOptions | undefined => {\n return typeof this.appOptions === \"function\"\n ? (this.appOptions as () => TAppOptions)()\n : this.appOptions;\n };\n\n private _storage?: Storage<TAttributes>;\n\n /** Main Storage for attributes. */\n public get storage(): Storage<TAttributes> {\n if (!this._storage) {\n this._storage = new Storage(this);\n }\n return this._storage;\n }\n\n /**\n * Create separated storages for flexible state management.\n * @param storeId Namespace for the storage. Storages of the same namespace share the same data.\n * @param defaultState Default state for initial storage creation.\n * @returns\n */\n public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {\n const storage = new Storage(this, storeId, defaultState);\n this.emitter.on(\"destroy\", () => {\n storage.destroy();\n });\n return storage;\n };\n\n /** Dispatch events to other clients (and self). */\n public dispatchMagixEvent: MagixEventDispatcher<TMagixEventPayloads> = (...args) => {\n // can't dispatch events on replay mode\n return this.manager.room?.dispatchMagixEvent(...args);\n };\n\n /** Listen to events from others clients (and self messages). */\n public addMagixEventListener: MagixEventAddListener<TMagixEventPayloads> = (\n event,\n handler,\n options\n ) => {\n this.manager.displayer.addMagixEventListener(event, handler as WhiteEventListener, options);\n return () =>\n this.manager.displayer.removeMagixEventListener(event, handler as WhiteEventListener);\n };\n\n /** Remove a Magix event listener. */\n public removeMagixEventListener = this.manager.displayer.removeMagixEventListener.bind(\n this.manager.displayer\n ) as MagixEventRemoveListener<TMagixEventPayloads>;\n}\n","import { AppAttributes } from \"./constants\";\nimport { get, pick } from \"lodash\";\nimport { setViewFocusScenePath } from \"./Utils/Common\";\nimport type { AddAppParams, AppSyncAttributes } from \"./index\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { Cursor } from \"./Cursor/Cursor\";\n\nexport enum Fields {\n Apps = \"apps\",\n Focus = \"focus\",\n State = \"state\",\n BoxState = \"boxState\",\n MainViewCamera = \"mainViewCamera\",\n MainViewSize = \"mainViewSize\",\n Broadcaster = \"broadcaster\",\n Cursors = \"cursors\",\n Position = \"position\",\n CursorState = \"cursorState\",\n FullPath = \"fullPath\",\n}\n\nexport type Apps = {\n [key: string]: AppSyncAttributes;\n};\n\nexport type Position = {\n x: number;\n y: number;\n type: PositionType;\n id?: string;\n};\n\nexport type PositionType = \"main\" | \"app\";\n\nexport type StoreContext = {\n getAttributes: () => any;\n safeUpdateAttributes: (keys: string[], value: any) => void;\n safeSetAttributes: (attributes: any) => void;\n}\nexport class AttributesDelegate {\n\n constructor(private context: StoreContext) {}\n\n public setContext(context: StoreContext) {\n this.context = context;\n }\n\n public get attributes() {\n return this.context.getAttributes();\n }\n\n public apps(): Apps {\n return get(this.attributes, [Fields.Apps]);\n }\n\n public get focus(): string | undefined {\n return get(this.attributes, [Fields.Focus]);\n }\n\n public getAppAttributes(id: string): AppSyncAttributes {\n return get(this.apps(), [id]);\n }\n\n public getAppState(id: string) {\n return get(this.apps(), [id, Fields.State]);\n }\n\n public getMaximized() {\n return get(this.attributes, [\"maximized\"]);\n }\n\n public getMinimized() {\n return get(this.attributes, [\"minimized\"]);\n }\n\n public setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean) {\n const attributes = this.attributes;\n if (!attributes.apps) {\n this.context.safeSetAttributes({ apps: {} });\n }\n const attrNames = [\"scenePath\", \"title\"];\n if (!isDynamicPPT) {\n attrNames.push(\"scenes\");\n }\n const options = pick(params.options, attrNames);\n const attrs: AppSyncAttributes = { kind: params.kind, options, isDynamicPPT };\n if (typeof params.src === \"string\") {\n attrs.src = params.src;\n }\n attrs.createdAt = Date.now();\n this.context.safeUpdateAttributes([Fields.Apps, id], attrs);\n this.context.safeUpdateAttributes([Fields.Apps, id, Fields.State], {\n [AppAttributes.Size]: {},\n [AppAttributes.Position]: {},\n [AppAttributes.SceneIndex]: 0,\n });\n }\n\n public updateAppState(appId: string, stateName: AppAttributes, state: any) {\n if (get(this.attributes, [Fields.Apps, appId, Fields.State])) {\n this.context.safeUpdateAttributes([Fields.Apps, appId, Fields.State, stateName], state);\n }\n }\n\n public cleanAppAttributes(id: string) {\n this.context.safeUpdateAttributes([Fields.Apps, id], undefined);\n this.context.safeSetAttributes({ [id]: undefined });\n const focus = this.attributes[Fields.Focus];\n if (focus === id) {\n this.cleanFocus();\n }\n }\n\n public cleanFocus() {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n\n public getAppSceneIndex(id: string) {\n return this.getAppState(id)?.[AppAttributes.SceneIndex];\n }\n\n public getAppScenePath(id: string) {\n return this.getAppAttributes(id)?.options?.scenePath;\n }\n\n public getMainViewScenePath(): string | undefined {\n return this.attributes[\"_mainScenePath\"];\n }\n\n public getMainViewSceneIndex() {\n return this.attributes[\"_mainSceneIndex\"];\n }\n\n public getBoxState() {\n return this.attributes[Fields.BoxState];\n }\n\n public setMainViewScenePath(scenePath: string) {\n this.context.safeSetAttributes({ _mainScenePath: scenePath });\n }\n\n public setMainViewSceneIndex(index: number) {\n this.context.safeSetAttributes({ _mainSceneIndex: index });\n }\n\n public getMainViewCamera(): MainViewCamera {\n return get(this.attributes, [Fields.MainViewCamera]);\n }\n\n public getMainViewSize(): MainViewSize {\n return get(this.attributes, [Fields.MainViewSize]);\n }\n\n public setMainViewCamera(camera: (Camera & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewCamera]: { ...camera } });\n }\n\n public setMainViewSize(size: (Size & { id: string }) | undefined) {\n this.context.safeSetAttributes({ [Fields.MainViewSize]: { ...size } });\n }\n\n public setAppFocus = (appId: string, focus: boolean) => {\n if (focus) {\n this.context.safeSetAttributes({ [Fields.Focus]: appId });\n } else {\n this.context.safeSetAttributes({ [Fields.Focus]: undefined });\n }\n }\n\n public updateCursor(uid: string, position: Position) {\n if (!get(this.attributes, [Fields.Cursors])) {\n this.context.safeUpdateAttributes([Fields.Cursors], {});\n }\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.Position], position);\n }\n\n public updateCursorState(uid: string, cursorState: string | undefined) {\n if (!get(this.attributes, [Fields.Cursors, uid])) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], {});\n }\n this.context.safeUpdateAttributes([Fields.Cursors, uid, Fields.CursorState], cursorState);\n }\n\n public getCursorState(uid: string) {\n return get(this.attributes, [Fields.Cursors, uid, Fields.CursorState]);\n }\n\n public cleanCursor(uid: string) {\n this.context.safeUpdateAttributes([Fields.Cursors, uid], undefined);\n }\n\n // TODO 状态中保存一个 SceneName 优化性能\n public setMainViewFocusPath(mainView: View) {\n const scenePath = this.getMainViewScenePath();\n if (scenePath) {\n setViewFocusScenePath(mainView, scenePath);\n }\n }\n}\n\nexport type MainViewSize = {\n id: string;\n width: number;\n height: number;\n};\n\nexport type MainViewCamera = {\n id: string;\n centerX: number;\n centerY: number;\n scale: number;\n};\n\nexport type Cursors = {\n [key: string]: Cursor;\n};\n\n\nexport const store = new AttributesDelegate({\n getAttributes: () => {\n throw new Error(\"getAttributes not implemented\")\n },\n safeSetAttributes: () => {\n throw new Error(\"safeSetAttributes not implemented\")\n },\n safeUpdateAttributes: () => {\n throw new Error(\"safeUpdateAttributes not implemented\")\n },\n});\n","import { WindowManager } from \"../index\";\n\nexport const log = (...args: any[]): void => {\n if (WindowManager.debug) {\n console.log(`[WindowManager]:`, ...args);\n }\n};\n","import Emittery from \"emittery\";\nimport { AppAttributes, AppEvents, Events } from \"./constants\";\nimport { AppContext } from \"./AppContext\";\nimport { appRegister } from \"./Register\";\nimport { autorun } from \"white-web-sdk\";\nimport { BoxManagerNotFoundError } from \"./Utils/error\";\nimport { debounce, get } from \"lodash\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { entireScenes, getScenePath, removeScenes, setScenePath, setViewFocusScenePath } from \"./Utils/Common\";\nimport { log } from \"./Utils/log\";\nimport type {\n AppEmitterEvent,\n AppInitState,\n BaseInsertParams,\n setAppOptions,\n AppListenerKeys,\n} from \"./index\";\nimport type { SceneState, View, SceneDefinition } from \"white-web-sdk\";\nimport type { AppManager } from \"./AppManager\";\nimport type { NetlessApp } from \"./typings\";\nimport type { ReadonlyTeleBox } from \"@netless/telebox-insider\";\n\nexport class AppProxy {\n public kind: string;\n public id: string;\n public scenePath?: string;\n public appEmitter: Emittery<AppEmitterEvent>;\n public scenes?: SceneDefinition[];\n\n private appListener: any;\n private boxManager = this.manager.boxManager;\n private appProxies = this.manager.appProxies;\n private viewManager = this.manager.viewManager;\n private store = this.manager.store;\n\n public isAddApp: boolean;\n private status: \"normal\" | \"destroyed\" = \"normal\";\n private stateKey: string;\n private appResult?: NetlessApp<any>;\n private appContext?: AppContext<any, any>;\n\n constructor(\n private params: BaseInsertParams,\n private manager: AppManager,\n appId: string,\n isAddApp: boolean\n ) {\n this.kind = params.kind;\n this.id = appId;\n this.stateKey = `${this.id}_state`;\n this.appProxies.set(this.id, this);\n this.appEmitter = new Emittery();\n this.appListener = this.makeAppEventListener(this.id);\n this.isAddApp = isAddApp;\n\n this.initScenes();\n\n if (this.params.options?.scenePath) {\n // 只有传入了 scenePath 的 App 才会创建 View\n this.createView();\n }\n }\n\n private initScenes() {\n const options = this.params.options;\n if (options) {\n this.scenePath = options.scenePath;\n if (this.appAttributes?.isDynamicPPT && this.scenePath) {\n this.scenes = entireScenes(this.manager.displayer)[this.scenePath];\n } else {\n this.scenes = options.scenes;\n }\n }\n }\n\n public get view(): View | undefined {\n return this.manager.viewManager.getView(this.id);\n }\n\n public get isWritable(): boolean {\n return this.manager.canOperate && !this.box?.readonly;\n }\n\n public get attributes() {\n return this.manager.attributes[this.id];\n }\n\n public get appAttributes() {\n return this.store.getAppAttributes(this.id);\n }\n\n public getFullScenePath(): string | undefined {\n if (this.scenePath) {\n return get(this.appAttributes, [Fields.FullPath]) || this.getFullScenePathFromScenes();\n }\n }\n\n private getFullScenePathFromScenes() {\n const sceneIndex = get(this.appAttributes, [\"state\", \"SceneIndex\"], 0);\n const fullPath = getScenePath(this.manager.room, this.scenePath, sceneIndex);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n return fullPath;\n }\n\n public setFullPath(path: string) {\n this.manager.safeUpdateAttributes([\"apps\", this.id, Fields.FullPath], path);\n }\n\n public async baseInsertApp(skipUpdate = false): Promise<{ appId: string; app: NetlessApp }> {\n const params = this.params;\n if (!params.kind) {\n throw new Error(\"[WindowManager]: kind require\");\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n const appParams = appRegister.registered.get(params.kind);\n if (appImpl) {\n await this.setupApp(\n this.id,\n skipUpdate,\n appImpl,\n params.options,\n appParams?.appOptions\n );\n } else {\n throw new Error(`[WindowManager]: app load failed ${params.kind} ${params.src}`);\n }\n emitter.emit(\"updateManagerRect\")\n return {\n appId: this.id,\n app: appImpl,\n };\n }\n\n public get box(): ReadonlyTeleBox | undefined {\n return this.boxManager?.getBox(this.id);\n }\n\n private async setupApp(\n appId: string,\n skipUpdate: boolean,\n app: NetlessApp,\n options?: setAppOptions,\n appOptions?: any\n ) {\n log(\"setupApp\", appId, app, options);\n if (!this.boxManager) {\n throw new BoxManagerNotFoundError();\n }\n const context = new AppContext(this.manager, this.boxManager, appId, this, appOptions);\n this.appContext = context;\n try {\n emitter.once(`${appId}${Events.WindowCreated}` as any).then(async () => {\n let boxInitState: AppInitState | undefined;\n if (!skipUpdate) {\n boxInitState = this.getAppInitState(appId);\n this.boxManager?.updateBoxState(boxInitState);\n }\n this.appEmitter.onAny(this.appListener);\n this.appAttributesUpdateListener(appId);\n this.setViewFocusScenePath();\n setTimeout(async () => {\n // 延迟执行 setup, 防止初始化的属性没有更新成功\n const result = await app.setup(context);\n this.appResult = result;\n appRegister.notifyApp(this.kind, \"created\", { appId, result });\n this.afterSetupApp(boxInitState);\n this.fixMobileSize();\n }, 50);\n });\n this.boxManager?.createBox({\n appId: appId,\n app,\n options,\n canOperate: this.manager.canOperate,\n smartPosition: this.isAddApp,\n });\n if (this.isAddApp && this.box) {\n this.store.updateAppState(appId, AppAttributes.ZIndex, this.box.zIndex);\n this.boxManager.focusBox({ appId }, false);\n }\n } catch (error: any) {\n console.error(error);\n throw new Error(`[WindowManager]: app setup error: ${error.message}`);\n }\n }\n\n // 兼容移动端创建时会出现 PPT 不适配的问题\n private fixMobileSize() {\n const box = this.boxManager?.getBox(this.id);\n if (box) {\n this.boxManager?.resizeBox({\n appId: this.id,\n width: box.intrinsicWidth + 0.001,\n height: box.intrinsicHeight + 0.001,\n skipUpdate: true,\n });\n }\n }\n\n private afterSetupApp(boxInitState: AppInitState | undefined): void {\n if (boxInitState) {\n if (!boxInitState?.x || !boxInitState.y) {\n this.boxManager?.setBoxInitState(this.id);\n }\n }\n }\n\n public onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time);\n const boxInitState = this.getAppInitState(this.id);\n this.boxManager?.updateBoxState(boxInitState);\n }\n\n public async onReconnected() {\n this.appEmitter.emit(\"reconnected\", undefined);\n const currentAppState = this.getAppInitState(this.id);\n await this.destroy(true, false, true);\n const params = this.params;\n const appProxy = new AppProxy(params, this.manager, this.id, this.isAddApp);\n await appProxy.baseInsertApp(true);\n this.boxManager?.updateBoxState(currentAppState);\n }\n\n public getAppInitState = (id: string) => {\n const attrs = this.store.getAppState(id);\n if (!attrs) return;\n const position = attrs?.[AppAttributes.Position];\n const focus = this.store.focus;\n const size = attrs?.[AppAttributes.Size];\n const sceneIndex = attrs?.[AppAttributes.SceneIndex];\n const maximized = this.attributes?.[\"maximized\"];\n const minimized = this.attributes?.[\"minimized\"];\n const zIndex = attrs?.zIndex;\n let payload = { maximized, minimized, zIndex } as AppInitState;\n if (position) {\n payload = { ...payload, id: id, x: position.x, y: position.y };\n }\n if (focus === id) {\n payload = { ...payload, focus: true };\n }\n if (size) {\n payload = { ...payload, width: size.width, height: size.height };\n }\n if (sceneIndex) {\n payload = { ...payload, sceneIndex };\n }\n return payload;\n };\n\n public emitAppSceneStateChange(sceneState: SceneState) {\n this.appEmitter.emit(\"sceneStateChange\", sceneState);\n }\n\n public emitAppIsWritableChange() {\n this.appEmitter.emit(\"writableChange\", this.isWritable);\n }\n\n private makeAppEventListener(appId: string) {\n return (eventName: AppListenerKeys, data: any) => {\n if (!this.manager.canOperate) return;\n switch (eventName) {\n case \"setBoxSize\": {\n this.boxManager?.resizeBox({\n appId,\n width: data.width,\n height: data.height,\n skipUpdate: false,\n });\n break;\n }\n case \"setBoxMinSize\": {\n this.boxManager?.setBoxMinSize({\n appId,\n minWidth: data.minwidth,\n minHeight: data.minheight,\n });\n break;\n }\n case \"setBoxTitle\": {\n this.boxManager?.setBoxTitle({ appId, title: data.title });\n break;\n }\n case AppEvents.destroy: {\n if (this.status === \"destroyed\") return;\n this.destroy(true, false, true, data?.error);\n if (data?.error) {\n console.error(data?.error);\n }\n break;\n }\n case \"focus\": {\n this.boxManager?.focusBox({ appId: this.id });\n emitter.emit(\"focus\", { appId: this.id });\n break;\n }\n default: {\n break;\n }\n }\n };\n }\n\n private appAttributesUpdateListener = (appId: string) => {\n this.manager.refresher?.add(appId, () => {\n return autorun(() => {\n const attrs = this.manager.attributes[appId];\n if (attrs) {\n this.appEmitter.emit(\"attributesUpdate\", attrs);\n }\n });\n });\n this.manager.refresher?.add(this.stateKey, () => {\n return autorun(() => {\n const appState = this.appAttributes?.state;\n if (appState?.zIndex > 0 && appState.zIndex !== this.box?.zIndex) {\n this.boxManager?.setZIndex(appId, appState.zIndex);\n }\n });\n });\n this.manager.refresher?.add(`${appId}-fullPath`, () => {\n return autorun(() => {\n const fullPath = this.appAttributes?.fullPath;\n this.setFocusScenePathHandler(fullPath);\n });\n });\n };\n\n private setFocusScenePathHandler = debounce((fullPath: string | undefined) => {\n if (this.view && fullPath && fullPath !== this.view?.focusScenePath) {\n setViewFocusScenePath(this.view, fullPath);\n }\n }, 50);\n\n public setScenePath(): void {\n if (!this.manager.canOperate) return;\n const fullScenePath = this.getFullScenePath();\n if (this.manager.room && fullScenePath && this.view) {\n setScenePath(this.manager.room, fullScenePath);\n }\n }\n\n public setViewFocusScenePath() {\n const fullPath = this.getFullScenePath();\n if (fullPath && this.view) {\n setViewFocusScenePath(this.view, fullPath);\n }\n return fullPath;\n }\n\n private async createView(): Promise<View> {\n const view = await this.viewManager.createView(this.id);\n this.setViewFocusScenePath();\n return view;\n }\n\n public async destroy(\n needCloseBox: boolean,\n cleanAttrs: boolean,\n skipUpdate: boolean,\n error?: Error\n ) {\n if (this.status === \"destroyed\") return;\n this.status = \"destroyed\";\n try {\n await appRegister.notifyApp(this.kind, \"destroy\", { appId: this.id });\n await this.appEmitter.emit(\"destroy\", { error });\n } catch (error) {\n console.error(\"[WindowManager]: notifyApp error\", error.message, error.stack);\n }\n this.appEmitter.clearListeners();\n emitter.emit(`destroy-${this.id}` as any, { error });\n if (needCloseBox) {\n this.boxManager?.closeBox(this.id, skipUpdate);\n }\n if (cleanAttrs) {\n this.store.cleanAppAttributes(this.id);\n if (this.scenePath) {\n removeScenes(this.manager.room, this.scenePath);\n }\n }\n this.appProxies.delete(this.id);\n\n this.viewManager.destroyView(this.id);\n this.manager.appStatus.delete(this.id);\n this.manager.refresher?.remove(this.id);\n this.manager.refresher?.remove(this.stateKey);\n this.manager.refresher?.remove(`${this.id}-fullPath`);\n }\n\n public close(): Promise<void> {\n return this.destroy(true, true, false);\n }\n}\n","import type { View, Displayer } from \"white-web-sdk\";\n\nexport class ViewManager {\n public views: Map<string, View> = new Map();\n\n constructor(private displayer: Displayer) {}\n\n public createView(id: string): View {\n const view = createView(this.displayer);\n this.views.set(id, view);\n return view;\n }\n\n public getView(id: string): View | undefined {\n return this.views.get(id);\n }\n\n public destroyView(id: string): void {\n const view = this.views.get(id);\n if (view) {\n try {\n view.release();\n } catch {\n // ignore\n }\n this.views.delete(id);\n }\n }\n\n public setViewScenePath(id: string, scenePath: string): void {\n const view = this.views.get(id);\n if (view) {\n view.focusScenePath = scenePath;\n }\n }\n\n public destroy() {\n this.views.forEach(view => {\n try {\n view.release();\n } catch {\n // ignore\n }\n });\n this.views.clear();\n }\n}\n\nexport const createView = (displayer: Displayer): View => {\n const view = displayer.views.createView();\n setDefaultCameraBound(view);\n return view;\n};\n\nexport const setDefaultCameraBound = (view: View) => {\n view.setCameraBound({\n maxContentMode: () => 10,\n minContentMode: () => 0.1,\n });\n};\n","import { AnimationMode, reaction } from \"white-web-sdk\";\nimport { callbacks } from \"../callback\";\nimport { createView } from \"./ViewManager\";\nimport { debounce, isEmpty, isEqual } from \"lodash\";\nimport { emitter } from \"../InternalEmitter\";\nimport { Fields } from \"../AttributesDelegate\";\nimport { setViewFocusScenePath } from \"../Utils/Common\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport type { Camera, Size, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport class MainViewProxy {\n private scale?: number;\n private started = false;\n private mainViewIsAddListener = false;\n private mainView: View;\n private store = this.manager.store;\n\n private sideEffectManager = new SideEffectManager();\n\n constructor(private manager: AppManager) {\n this.mainView = this.createMainView();\n this.moveCameraSizeByAttributes();\n emitter.once(\"mainViewMounted\").then(() => {\n this.addMainViewListener();\n setTimeout(() => {\n this.start();\n if (!this.mainViewCamera || !this.mainViewSize) {\n this.setCameraAndSize();\n }\n }, 200); // 等待 mainView 挂载完毕再进行监听,否则会触发不必要的 onSizeUpdated\n });\n const playgroundSizeChangeListener = () => {\n this.sizeChangeHandler(this.mainViewSize);\n };\n this.sideEffectManager.add(() => {\n emitter.on(\"playgroundSizeChange\", playgroundSizeChangeListener);\n return () => emitter.off(\"playgroundSizeChange\", playgroundSizeChangeListener);\n });\n }\n\n private get mainViewCamera() {\n return this.store.getMainViewCamera();\n }\n\n private get mainViewSize() {\n return this.store.getMainViewSize();\n }\n\n private moveCameraSizeByAttributes() {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(this.mainViewCamera);\n }\n\n public start() {\n if (this.started) return;\n this.sizeChangeHandler(this.mainViewSize);\n this.addCameraListener();\n this.manager.refresher?.add(Fields.MainViewCamera, this.cameraReaction);\n this.started = true;\n }\n\n public setCameraAndSize(): void {\n this.store.setMainViewCamera({ ...this.mainView.camera, id: this.manager.uid });\n this.store.setMainViewSize({ ...this.mainView.size, id: this.manager.uid });\n }\n\n private cameraReaction = () => {\n return reaction(\n () => this.mainViewCamera,\n camera => {\n if (camera && camera.id !== this.manager.uid) {\n this.moveCameraToContian(this.mainViewSize);\n this.moveCamera(camera);\n }\n },\n {\n fireImmediately: true,\n }\n );\n };\n\n private sizeChangeHandler = debounce((size: Size) => {\n if (size) {\n this.moveCameraToContian(size);\n this.moveCamera(this.mainViewCamera);\n }\n }, 30);\n\n public get view(): View {\n return this.mainView;\n }\n\n public get cameraState() {\n return { ...this.view.camera, ...this.view.size };\n }\n\n public createMainView(): View {\n const mainView = createView(this.manager.displayer);\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(mainView, mainViewScenePath);\n }\n return mainView;\n }\n\n public onReconnect(): void {\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (mainViewScenePath) {\n setViewFocusScenePath(this.view, mainViewScenePath);\n }\n }\n\n public rebind(): void {\n const divElement = this.mainView.divElement;\n const disableCameraTransform = this.mainView.disableCameraTransform;\n this.stop();\n this.mainView.release();\n this.mainView = this.createMainView();\n this.mainView.disableCameraTransform = disableCameraTransform;\n this.mainView.divElement = divElement;\n this.start();\n }\n\n private onCameraUpdatedByDevice = (camera: Camera) => {\n this.store.setMainViewCamera({ ...camera, id: this.manager.uid });\n if (!isEqual(this.mainViewSize, { ...this.mainView.size, id: this.manager.uid })) {\n this.setMainViewSize(this.view.size);\n }\n };\n\n public addMainViewListener(): void {\n if (this.mainViewIsAddListener) return;\n if (this.view.divElement) {\n this.view.divElement.addEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.addEventListener(\"touchend\", this.mainViewClickListener);\n this.mainViewIsAddListener = true;\n }\n }\n\n public removeMainViewListener(): void {\n if (this.view.divElement) {\n this.view.divElement.removeEventListener(\"click\", this.mainViewClickListener);\n this.view.divElement.removeEventListener(\"touchend\", this.mainViewClickListener);\n }\n }\n\n private mainViewClickListener = () => {\n this.mainViewClickHandler();\n };\n\n public async mainViewClickHandler(): Promise<void> {\n if (!this.manager.canOperate) return;\n this.store.cleanFocus();\n this.manager.boxManager?.blurAllBox();\n }\n\n public setMainViewSize = debounce(size => {\n this.store.setMainViewSize({ ...size, id: this.manager.uid });\n }, 50);\n\n private addCameraListener() {\n this.view.callbacks.on(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.on(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.on(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private removeCameraListener() {\n this.view.callbacks.off(\"onCameraUpdatedByDevice\", this.onCameraUpdatedByDevice);\n this.view.callbacks.off(\"onCameraUpdated\", this.onCameraOrSizeUpdated);\n this.view.callbacks.off(\"onSizeUpdated\", this.onCameraOrSizeUpdated);\n }\n\n private onCameraOrSizeUpdated = () => {\n callbacks.emit(\"cameraStateChange\", this.cameraState);\n };\n\n public moveCameraToContian(size: Size): void {\n if (!isEmpty(size)) {\n this.view.moveCameraToContain({\n width: size.width,\n height: size.height,\n originX: -size.width / 2,\n originY: -size.height / 2,\n animationMode: AnimationMode.Immediately,\n });\n this.scale = this.view.camera.scale;\n }\n }\n\n public moveCamera(camera: Camera): void {\n if (!isEmpty(camera)) {\n if (isEqual(camera, this.view.camera)) return;\n const { centerX, centerY, scale } = camera;\n const needScale = scale * (this.scale || 1);\n this.view.moveCamera({\n centerX: centerX,\n centerY: centerY,\n scale: needScale,\n animationMode: AnimationMode.Immediately,\n });\n }\n }\n\n public stop() {\n this.removeMainViewListener();\n this.removeCameraListener();\n this.manager.refresher?.remove(Fields.MainViewCamera);\n this.manager.refresher?.remove(Fields.MainViewSize);\n this.started = false;\n }\n\n public destroy() {\n this.stop();\n this.sideEffectManager.flushAll();\n }\n}\n","import { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport type { View } from \"white-web-sdk\";\nimport type { AppProxy } from \"./AppProxy\";\n\nexport type RedoUndoContext = {\n mainView: () => View;\n focus: () => string | undefined;\n getAppProxy: (id: string) => AppProxy | undefined;\n};\n\nexport class RedoUndo {\n constructor(private context: RedoUndoContext) {\n emitter.on(\"focusedChange\", changed => {\n this.disposePrevFocusViewRedoUndoListeners(changed.prev);\n setTimeout(() => {\n this.addRedoUndoListeners(changed.focused);\n }, 0);\n });\n emitter.on(\"rootDirRemoved\", () => {\n this.disposePrevFocusViewRedoUndoListeners(context.focus());\n this.addRedoUndoListeners(context.focus());\n });\n this.addRedoUndoListeners(context.focus());\n }\n\n private addRedoUndoListeners = (focused: string | undefined) => {\n if (focused === undefined) {\n this.addViewCallbacks(\n this.context.mainView(),\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n } else {\n const focusApp = this.context.getAppProxy(focused);\n if (focusApp && focusApp.view) {\n this.addViewCallbacks(\n focusApp.view,\n this.onCanRedoStepsUpdate,\n this.onCanUndoStepsUpdate\n );\n }\n }\n };\n\n private addViewCallbacks = (\n view: View,\n redoListener: (steps: number) => void,\n undoListener: (steps: number) => void\n ) => {\n redoListener(view.canRedoSteps);\n undoListener(view.canUndoSteps);\n view.callbacks.on(\"onCanRedoStepsUpdate\", redoListener);\n view.callbacks.on(\"onCanUndoStepsUpdate\", undoListener);\n };\n\n private disposeViewCallbacks = (view: View) => {\n view.callbacks.off(\"onCanRedoStepsUpdate\", this.onCanRedoStepsUpdate);\n view.callbacks.off(\"onCanUndoStepsUpdate\", this.onCanUndoStepsUpdate);\n };\n\n private onCanRedoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canRedoStepsChange\", steps);\n };\n\n private onCanUndoStepsUpdate = (steps: number) => {\n callbacks.emit(\"canUndoStepsChange\", steps);\n };\n\n private disposePrevFocusViewRedoUndoListeners = (prevFocused: string | undefined) => {\n let view: View | undefined = undefined;\n if (prevFocused === undefined) {\n view = this.context.mainView();\n } else {\n const appProxy = this.context.getAppProxy(prevFocused);\n if (appProxy && appProxy.view) {\n view = appProxy.view;\n }\n }\n if (view) {\n this.disposeViewCallbacks(view);\n }\n };\n\n public destroy() {\n this.disposePrevFocusViewRedoUndoListeners(this.context.focus());\n }\n}\n","import { AppAttributes, AppStatus, Events, MagixEventName, ROOT_DIR } from \"./constants\";\nimport { AppCreateQueue } from \"./Utils/AppCreateQueue\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./AppProxy\";\nimport { appRegister } from \"./Register\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport { get, isInteger, orderBy } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { MainViewProxy } from \"./View/MainView\";\nimport { onObjectRemoved, safeListenPropsUpdated } from \"./Utils/Reactive\";\nimport { reconnectRefresher, WindowManager } from \"./index\";\nimport { RedoUndo } from \"./RedoUndo\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { store } from \"./AttributesDelegate\";\nimport { ViewManager } from \"./View/ViewManager\";\nimport type { EmitterEvent } from \"./InternalEmitter\";\nimport {\n entireScenes,\n genAppId,\n makeValidScenePath,\n parseSceneDir,\n setScenePath,\n setViewFocusScenePath,\n} from \"./Utils/Common\";\nimport type { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport type { BoxManager } from \"./BoxManager\";\nimport type {\n Displayer,\n DisplayerState,\n Room,\n ScenesCallbacksNode,\n SceneState,\n} from \"white-web-sdk\";\nimport type { AddAppParams, BaseInsertParams, TeleBoxRect } from \"./index\";\nexport class AppManager {\n public displayer: Displayer;\n public viewManager: ViewManager;\n public appProxies: Map<string, AppProxy> = new Map();\n public appStatus: Map<string, AppStatus> = new Map();\n public store = store;\n public mainViewProxy: MainViewProxy;\n public refresher?: ReconnectRefresher;\n public isReplay = this.windowManger.isReplay;\n public mainViewScenesLength = 0;\n\n private appListeners: AppListeners;\n public boxManager?: BoxManager;\n\n private _prevSceneIndex: number | undefined;\n private _prevFocused: string | undefined;\n private callbacksNode: ScenesCallbacksNode | null = null;\n private appCreateQueue = new AppCreateQueue();\n\n private sideEffectManager = new SideEffectManager();\n\n public sceneState: SceneState | null = null;\n\n constructor(public windowManger: WindowManager) {\n this.displayer = windowManger.displayer;\n this.store.setContext({\n getAttributes: () => this.attributes,\n safeSetAttributes: attributes => this.safeSetAttributes(attributes),\n safeUpdateAttributes: (keys, val) => this.safeUpdateAttributes(keys, val),\n });\n\n this.mainViewProxy = new MainViewProxy(this);\n this.viewManager = new ViewManager(this.displayer);\n this.appListeners = new AppListeners(this);\n this.displayer.callbacks.on(this.eventName, this.displayerStateListener);\n this.appListeners.addListeners();\n\n this.refresher = reconnectRefresher;\n this.refresher.setRoom(this.room);\n this.refresher.setContext({ emitter });\n\n this.sideEffectManager.add(() => {\n return () => {\n this.appCreateQueue.destroy();\n this.mainViewProxy.destroy();\n this.refresher?.destroy();\n this.viewManager.destroy();\n this.boxManager?.destroy();\n this.callbacksNode?.dispose();\n };\n });\n\n emitter.once(\"onCreated\").then(() => this.onCreated());\n emitter.on(\"onReconnected\", () => this.onReconnected());\n\n if (isPlayer(this.displayer)) {\n emitter.on(\"seek\", this.onPlayerSeek);\n }\n\n emitter.on(\"removeScenes\", this.onRemoveScenes);\n emitter.on(\"setReadonly\", this.onReadonlyChanged);\n\n this.createRootDirScenesCallback();\n }\n\n private onRemoveScenes = (scenePath: string) => {\n if (scenePath === ROOT_DIR) {\n this.setMainViewScenePath(ROOT_DIR);\n this.createRootDirScenesCallback();\n this.onRootDirRemoved();\n emitter.emit(\"rootDirRemoved\");\n return;\n }\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n this.setMainViewScenePath(ROOT_DIR);\n }\n }\n }\n\n /**\n * 根目录被删除时所有的 scene 都会被删除.\n * 所以需要关掉所有开启了 view 的 app\n */\n private onRootDirRemoved() {\n this.appProxies.forEach(appProxy => {\n if (appProxy.view) {\n this.closeApp(appProxy.id);\n }\n });\n // 删除了根目录的 scenes 之后 mainview 需要重新绑定, 否则主白板会不能渲染\n this.mainViewProxy.rebind();\n }\n\n private onReadonlyChanged = () => {\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n }\n\n private onPlayerSeek = (time: number) => {\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n this.attributesUpdateCallback(this.attributes.apps);\n this.onAppDelete(this.attributes.apps);\n }\n\n private createRootDirScenesCallback = () => {\n let isRecreate = false;\n if (this.callbacksNode) {\n this.callbacksNode.dispose();\n isRecreate = true;\n }\n this.callbacksNode = this.displayer.createScenesCallback(ROOT_DIR, {\n onAddScene: this.onSceneChange,\n onRemoveScene: this.onSceneChange,\n });\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n this.mainViewScenesLength = this.callbacksNode.scenes.length;\n if (isRecreate) {\n callbacks.emit(\"mainViewScenesLengthChange\", this.callbacksNode.scenes.length);\n }\n }\n };\n\n private onSceneChange = (node: ScenesCallbacksNode) => {\n this.mainViewScenesLength = node.scenes.length;\n this.updateSceneState(node);\n callbacks.emit(\"mainViewScenesLengthChange\", this.mainViewScenesLength);\n };\n\n private updateSceneState = (node: ScenesCallbacksNode) => {\n const currentIndex = this.store.getMainViewSceneIndex() || 0;\n const sceneName = node.scenes[currentIndex];\n this.sceneState = {\n scenePath: `${ROOT_DIR}${sceneName}`,\n contextPath: node.path,\n index: currentIndex,\n scenes: node.scenes.map(scene => {\n return {\n name: scene,\n };\n }),\n sceneName: sceneName,\n };\n callbacks.emit(\"sceneStateChange\", this.sceneState);\n };\n\n private get eventName() {\n return isRoom(this.displayer) ? \"onRoomStateChanged\" : \"onPlayerStateChanged\";\n }\n\n public get attributes() {\n return this.windowManger.attributes;\n }\n\n public get canOperate() {\n return this.windowManger.canOperate;\n }\n\n public get room() {\n return isRoom(this.displayer) ? (this.displayer as Room) : undefined;\n }\n\n public get mainView() {\n return this.mainViewProxy.view;\n }\n\n public get focusApp() {\n if (this.store.focus) {\n return this.appProxies.get(this.store.focus);\n }\n }\n\n public get uid() {\n return this.room?.uid || \"\";\n }\n\n public getMainViewSceneDir() {\n const scenePath = this.store.getMainViewScenePath();\n if (scenePath) {\n return parseSceneDir(scenePath);\n } else {\n throw new Error(\"[WindowManager]: mainViewSceneDir not found\");\n }\n }\n\n private async onCreated() {\n await this.attributesUpdateCallback(this.attributes.apps);\n emitter.emit(\"updateManagerRect\");\n emitter.onAny(this.boxEventListener);\n this.refresher?.add(\"apps\", () => {\n return safeListenPropsUpdated(\n () => this.attributes.apps,\n () => {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n );\n });\n this.refresher?.add(\"appsClose\", () => {\n return onObjectRemoved(this.attributes.apps, () => {\n this.onAppDelete(this.attributes.apps);\n });\n });\n this.refresher?.add(\"maximized\", () => {\n return autorun(() => {\n const maximized = this.attributes.maximized;\n this.boxManager?.setMaximized(Boolean(maximized));\n });\n });\n this.refresher?.add(\"minimized\", () => {\n return autorun(() => {\n const minimized = this.attributes.minimized;\n if (this.boxManager?.minimized !== minimized) {\n if (minimized === true) {\n this.boxManager?.blurAllBox();\n }\n setTimeout(() => {\n this.boxManager?.setMinimized(Boolean(minimized));\n }, 0);\n }\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n if (mainSceneIndex !== undefined && this._prevSceneIndex !== mainSceneIndex) {\n callbacks.emit(\"mainViewSceneIndexChange\", mainSceneIndex);\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n }\n this._prevSceneIndex = mainSceneIndex;\n }\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n if (this._prevFocused !== focused) {\n callbacks.emit(\"focusedChange\", focused);\n emitter.emit(\"focusedChange\", { focused, prev: this._prevFocused });\n this._prevFocused = focused;\n if (focused !== undefined) {\n this.boxManager?.focusBox({ appId: focused });\n // 确保 focus 修改的时候, appProxy 已经创建\n setTimeout(() => {\n const appProxy = this.appProxies.get(focused);\n if (appProxy) {\n appRegister.notifyApp(appProxy.kind, \"focus\", { appId: focused });\n }\n }, 0);\n }\n }\n });\n });\n if (!this.attributes.apps || Object.keys(this.attributes.apps).length === 0) {\n const mainScenePath = this.store.getMainViewScenePath();\n if (!mainScenePath) return;\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== mainScenePath) {\n setScenePath(this.room, mainScenePath);\n }\n }\n this.displayerWritableListener(!this.room?.isWritable);\n this.displayer.callbacks.on(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this._prevFocused = this.attributes.focus;\n\n this.sideEffectManager.add(() => {\n const redoUndo = new RedoUndo({\n mainView: () => this.mainViewProxy.view,\n focus: () => this.attributes.focus,\n getAppProxy: id => this.appProxies.get(id),\n });\n return () => redoUndo.destroy();\n });\n }\n\n /**\n * 插件更新 attributes 时的回调\n *\n * @param {*} attributes\n * @memberof WindowManager\n */\n public async attributesUpdateCallback(apps: any) {\n if (apps && WindowManager.container) {\n const appIds = Object.keys(apps);\n if (appIds.length === 0) {\n this.appCreateQueue.emitReady();\n }\n const appsWithCreatedAt = appIds.map(appId => {\n return {\n id: appId,\n createdAt: apps[appId].createdAt,\n };\n });\n for (const { id } of orderBy(appsWithCreatedAt, \"createdAt\", \"asc\")) {\n if (!this.appProxies.has(id) && !this.appStatus.has(id)) {\n const app = apps[id];\n\n this.appStatus.set(id, AppStatus.StartCreate);\n try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n return this.baseInsertApp(\n {\n kind: app.kind,\n options: app.options,\n isDynamicPPT: app.isDynamicPPT,\n },\n id,\n false\n );\n });\n this.focusByAttributes(apps);\n } catch (error) {\n console.warn(`[WindowManager]: Insert App Error`, error);\n }\n }\n }\n }\n }\n\n public refresh() {\n this.attributesUpdateCallback(this.attributes.apps);\n }\n\n public setBoxManager(boxManager: BoxManager) {\n this.boxManager = boxManager;\n }\n\n public resetMaximized() {\n this.boxManager?.setMaximized(Boolean(this.store.getMaximized()));\n }\n\n public resetMinimized() {\n this.boxManager?.setMinimized(Boolean(this.store.getMinimized()));\n }\n\n private onAppDelete = (apps: any) => {\n const ids = Object.keys(apps);\n this.appProxies.forEach((appProxy, id) => {\n if (!ids.includes(id)) {\n appProxy.destroy(true, false, true);\n }\n });\n };\n\n public bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean) {\n const mainView = this.mainViewProxy.view;\n mainView.disableCameraTransform = disableCameraTransform;\n mainView.divElement = divElement;\n if (!mainView.focusScenePath) {\n this.setMainViewFocusPath();\n }\n emitter.emit(\"mainViewMounted\");\n }\n\n public setMainViewFocusPath(scenePath?: string) {\n const focusScenePath = scenePath || this.store.getMainViewScenePath();\n if (focusScenePath) {\n const view = setViewFocusScenePath(this.mainView, focusScenePath);\n return view?.focusScenePath === focusScenePath;\n }\n }\n\n public async addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined> {\n log(\"addApp\", params);\n const { appId, needFocus } = await this.beforeAddApp(params, isDynamicPPT);\n const appProxy = await this.baseInsertApp(params, appId, true, needFocus);\n this.afterAddApp(appProxy);\n return appProxy?.id;\n }\n\n private async beforeAddApp(params: AddAppParams, isDynamicPPT: boolean) {\n const appId = await genAppId(params.kind);\n this.appStatus.set(appId, AppStatus.StartCreate);\n const attrs = params.attributes ?? {};\n this.safeUpdateAttributes([appId], attrs);\n this.store.setupAppAttributes(params, appId, isDynamicPPT);\n const needFocus = !this.boxManager?.minimized;\n if (needFocus) {\n this.store.setAppFocus(appId, true);\n }\n return { appId, needFocus };\n }\n\n private afterAddApp(appProxy: AppProxy | undefined) {\n if (appProxy && appProxy.box) {\n const box = appProxy.box;\n emitter.emit(\"move\", {\n appId: appProxy.id,\n x: box?.intrinsicX,\n y: box?.intrinsicY,\n });\n this.store.updateAppState(appProxy.id, AppAttributes.ZIndex, box.zIndex);\n }\n if (this.boxManager?.minimized) {\n this.boxManager?.setMinimized(false, false);\n }\n }\n\n public async closeApp(appId: string) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, true, false);\n }\n }\n\n private async baseInsertApp(\n params: BaseInsertParams,\n appId: string,\n isAddApp: boolean,\n focus?: boolean\n ) {\n if (this.appProxies.has(appId)) {\n console.warn(\"[WindowManager]: app duplicate exists and cannot be created again\");\n return;\n }\n const appProxy = new AppProxy(params, this, appId, isAddApp);\n if (appProxy) {\n await appProxy.baseInsertApp(focus);\n this.appStatus.delete(appId);\n return appProxy;\n } else {\n this.appStatus.delete(appId);\n throw new Error(\"[WindowManger]: initialize AppProxy failed\");\n }\n }\n\n private displayerStateListener = (state: Partial<DisplayerState>) => {\n const sceneState = state.sceneState;\n if (sceneState) {\n const scenePath = sceneState.scenePath;\n this.appProxies.forEach(appProxy => {\n if (appProxy.scenePath && scenePath.startsWith(appProxy.scenePath)) {\n appProxy.emitAppSceneStateChange(sceneState);\n appProxy.setFullPath(scenePath);\n }\n });\n }\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"roomStateChange\", state);\n });\n emitter.emit(\"observerIdChange\", this.displayer.observerId);\n };\n\n public displayerWritableListener = (isReadonly: boolean) => {\n const isWritable = !isReadonly;\n const isManualWritable =\n this.windowManger.readonly === undefined || this.windowManger.readonly === false;\n if (this.windowManger.readonly === undefined) {\n this.boxManager?.setReadonly(isReadonly);\n } else {\n this.boxManager?.setReadonly(!(isWritable && isManualWritable));\n }\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n if (isWritable === true) {\n this.mainView.disableCameraTransform = false;\n if (this.room && this.room.disableSerialization === true) {\n this.room.disableSerialization = false;\n }\n } else {\n this.mainView.disableCameraTransform = true;\n }\n };\n\n public safeSetAttributes(attributes: any) {\n this.windowManger.safeSetAttributes(attributes);\n }\n\n public safeUpdateAttributes(keys: string[], value: any) {\n this.windowManger.safeUpdateAttributes(keys, value);\n }\n\n public async setMainViewScenePath(scenePath: string) {\n if (this.room) {\n const scenePathType = this.displayer.scenePathType(scenePath);\n const sceneDir = parseSceneDir(scenePath);\n if (sceneDir !== ROOT_DIR) {\n throw new Error(`[WindowManager]: main view scenePath must in root dir \"/\"`);\n }\n if (scenePathType === ScenePathType.None) {\n throw new Error(`[WindowManager]: ${scenePath} not valid scene`);\n } else if (scenePathType === ScenePathType.Page) {\n await this._setMainViewScenePath(scenePath);\n } else if (scenePathType === ScenePathType.Dir) {\n const validScenePath = makeValidScenePath(this.displayer, scenePath);\n if (validScenePath) {\n await this._setMainViewScenePath(validScenePath);\n }\n }\n }\n }\n\n private async _setMainViewScenePath(scenePath: string) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.safeSetAttributes({ _mainScenePath: scenePath });\n this.store.setMainViewFocusPath(this.mainView);\n this.updateSceneIndex();\n this.dispatchSetMainViewScenePath(scenePath);\n }\n }\n\n private updateSceneIndex = () => {\n const scenePath = this.store.getMainViewScenePath() as string;\n const sceneDir = parseSceneDir(scenePath);\n const scenes = entireScenes(this.displayer)[sceneDir];\n if (scenes.length) {\n // \"/ppt3/1\" -> \"1\"\n const pageName = scenePath.replace(sceneDir, \"\").replace(\"/\", \"\");\n const index = scenes.findIndex(scene => scene.name === pageName);\n if (isInteger(index) && index >= 0) {\n this.safeSetAttributes({ _mainSceneIndex: index });\n }\n }\n };\n\n public async setMainViewSceneIndex(index: number) {\n if (this.room) {\n if (this.store.getMainViewSceneIndex() === index) return;\n const mainViewScenePath = this.store.getMainViewScenePath() as string;\n if (mainViewScenePath) {\n const sceneDir = parseSceneDir(mainViewScenePath);\n const scenePath = makeValidScenePath(this.displayer, sceneDir, index);\n if (scenePath) {\n const success = this.setMainViewFocusPath(scenePath);\n if (success) {\n this.store.setMainViewScenePath(scenePath);\n this.safeSetAttributes({ _mainSceneIndex: index });\n this.dispatchSetMainViewScenePath(scenePath);\n }\n } else {\n throw new Error(`[WindowManager]: ${sceneDir}: ${index} not valid index`);\n }\n }\n }\n }\n\n private dispatchSetMainViewScenePath(scenePath: string): void {\n this.dispatchInternalEvent(Events.SetMainViewScenePath, { nextScenePath: scenePath });\n // 兼容 15 的 SDK, 需要 room 的当前 ScenePath\n setScenePath(this.room, scenePath);\n }\n\n public getAppInitPath(appId: string): string | undefined {\n const attrs = this.store.getAppAttributes(appId);\n if (attrs) {\n return attrs?.options?.scenePath;\n }\n }\n\n public safeDispatchMagixEvent(event: string, payload: any) {\n if (this.canOperate) {\n (this.displayer as Room).dispatchMagixEvent(event, payload);\n }\n }\n\n private boxEventListener = (eventName: keyof EmitterEvent, payload: any) => {\n switch (eventName) {\n case \"move\": {\n this.dispatchInternalEvent(Events.AppMove, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Position, {\n x: payload.x,\n y: payload.y,\n });\n break;\n }\n case \"focus\": {\n this.windowManger.safeSetAttributes({ focus: payload.appId });\n break;\n }\n case \"resize\": {\n if (payload.width && payload.height) {\n this.dispatchInternalEvent(Events.AppResize, payload);\n this.store.updateAppState(payload.appId, AppAttributes.Size, {\n width: payload.width,\n height: payload.height,\n });\n }\n break;\n }\n case \"close\": {\n const appProxy = this.appProxies.get(payload.appId);\n if (appProxy) {\n appProxy.destroy(false, true, payload.error);\n }\n break;\n }\n case \"boxStateChange\": {\n this.dispatchInternalEvent(Events.AppBoxStateChange, payload);\n break;\n }\n default:\n break;\n }\n };\n\n public focusByAttributes(apps: any) {\n if (apps && Object.keys(apps).length === this.boxManager?.boxSize) {\n const focusAppId = this.store.focus;\n if (focusAppId) {\n this.boxManager.focusBox({ appId: focusAppId });\n }\n }\n }\n\n public async onReconnected() {\n const appProxies = Array.from(this.appProxies.values());\n const reconnected = appProxies.map(appProxy => {\n return appProxy.onReconnected();\n });\n this.mainViewProxy.onReconnect();\n await Promise.all(reconnected);\n }\n\n public notifyContainerRectUpdate(rect: TeleBoxRect) {\n this.appProxies.forEach(appProxy => {\n appProxy.appEmitter.emit(\"containerRectUpdate\", rect);\n });\n }\n\n public dispatchInternalEvent(event: Events, payload: any) {\n this.safeDispatchMagixEvent(MagixEventName, {\n eventName: event,\n payload: payload,\n });\n }\n\n public destroy() {\n this.displayer.callbacks.off(this.eventName, this.displayerStateListener);\n this.displayer.callbacks.off(\"onEnableWriteNowChanged\", this.displayerWritableListener);\n this.appListeners.removeListeners();\n emitter.offAny(this.boxEventListener);\n emitter.clearListeners();\n if (this.appProxies.size) {\n this.appProxies.forEach(appProxy => {\n appProxy.destroy(true, false, true);\n });\n }\n callbacks.clearListeners();\n this.sideEffectManager.flushAll();\n this._prevFocused = undefined;\n this._prevSceneIndex = undefined;\n }\n}\n","import { ResizeObserver as ResizeObserverPolyfill } from \"@juggle/resize-observer\";\nimport { WindowManager } from \"./index\";\nimport type { EmitterType } from \"./InternalEmitter\";\n\nconst ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n\nexport class ContainerResizeObserver {\n private containerResizeObserver?: ResizeObserver;\n\n constructor(private emitter: EmitterType) {}\n\n public static create(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement,\n emitter: EmitterType\n ) {\n const containerResizeObserver = new ContainerResizeObserver(emitter);\n containerResizeObserver.observePlaygroundSize(container, sizer, wrapper);\n return containerResizeObserver;\n }\n\n public observePlaygroundSize(\n container: HTMLElement,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);\n\n this.containerResizeObserver = new ResizeObserver(entries => {\n const containerRect = entries[0]?.contentRect;\n if (containerRect) {\n this.updateSizer(containerRect, sizer, wrapper);\n this.emitter.emit(\"playgroundSizeChange\", containerRect);\n }\n });\n\n this.containerResizeObserver.observe(container);\n }\n\n private updateSizer(\n { width, height }: DOMRectReadOnly,\n sizer: HTMLElement,\n wrapper: HTMLDivElement\n ) {\n if (width && height) {\n if (height / width > WindowManager.containerSizeRatio) {\n height = width * WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", true);\n } else {\n width = height / WindowManager.containerSizeRatio;\n sizer.classList.toggle(\"netless-window-manager-sizer-horizontal\", false);\n }\n wrapper.style.width = `${width}px`;\n wrapper.style.height = `${height}px`;\n }\n }\n\n public disconnect() {\n this.containerResizeObserver?.disconnect();\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(s)for(var i of s(t))n.call(t,i)&&o(e,i,t[i]);return e},l=(e,s)=>t(e,i(s));import h,{useRef as c,useEffect as d,useState as u}from\"react\";var m={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i=\"~\";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,o){if(\"function\"!=typeof s)throw new TypeError(\"The listener must be a function\");var a=new r(s,n||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function a(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,o=new Array(n);r<n;r++)o[r]=s[r].fn;return o},a.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},a.prototype.emit=function(e,t,s,r,n,o){var a=i?i+e:e;if(!this._events[a])return!1;var l,h,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,r),!0;case 5:return c.fn.call(c.context,t,s,r,n),!0;case 6:return c.fn.call(c.context,t,s,r,n,o),!0}for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var u,m=c.length;for(h=0;h<m;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),d){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,s);break;case 4:c[h].fn.call(c[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c[h].fn.apply(c[h].context,l)}}return!0},a.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},a.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},a.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return o(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||r&&!a.once||s&&a.context!==s||o(this,n);else{for(var l=0,h=[],c=a.length;l<c;l++)(a[l].fn!==t||r&&!a[l].once||s&&a[l].context!==s)&&h.push(a[l]);h.length?this._events[n]=1===h.length?h[0]:h:o(this,n)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&o(this,t)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a}(m);var f=m.exports,v=function(){return(v=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function p(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}var g=0,b=\"undefined\"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),i=Math.max(0,16.7-(t-g));g=t+i,setTimeout((function(){return e(g)}),i)},x=1/60*1e3,y=!0,w=!1,$=!1,C={delta:0,timestamp:0},z=[\"read\",\"update\",\"preRender\",\"render\",\"postRender\"],B=function(e){return w=e},_=z.reduce((function(e,t){var i,s,r,n,o,a,l,h,c;return e[t]=(i=B,s=[],r=[],n=0,o=!1,a=0,l=new WeakSet,h=new WeakSet,c={cancel:function(e){var t=r.indexOf(e);l.add(e),-1!==t&&r.splice(t,1)},process:function(e){var t,d;if(o=!0,s=(t=[r,s])[0],(r=t[1]).length=0,n=s.length)for(a=0;a<n;a++)(d=s[a])(e),!0!==h.has(d)||l.has(d)||(c.schedule(d),i(!0));o=!1},schedule:function(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var a=i&&o,c=a?s:r;l.delete(e),t&&h.add(e),-1===c.indexOf(e)&&(c.push(e),a&&(n=s.length))}}),e}),{}),M=z.reduce((function(e,t){var i=_[t];return e[t]=function(e,t,s){return void 0===t&&(t=!1),void 0===s&&(s=!1),w||S(),i.schedule(e,t,s),e},e}),{}),E=function(e){return _[e].process(C)},k=function(e){w=!1,C.delta=y?x:Math.max(Math.min(e-C.timestamp,40),1),y||(x=C.delta),C.timestamp=e,$=!0,z.forEach(E),$=!1,w&&(y=!1,b(k))},S=function(){w=!0,y=!0,$||b(k)},R=function(){return(R=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},N=function(e,t){return function(i){return Math.max(Math.min(i,t),e)}},T=function(e){return e%1?Number(e.toFixed(5)):e},L=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i,I={test:function(e){return\"number\"==typeof e},parse:parseFloat,transform:function(e){return e}},O=R(R({},I),{transform:N(0,1)}),D=R(R({},I),{default:1}),A=function(e){return{test:function(t){return\"string\"==typeof t&&t.endsWith(e)&&1===t.split(\" \").length},parse:parseFloat,transform:function(t){return\"\"+t+e}}},V=A(\"deg\"),H=A(\"%\"),W=A(\"px\"),j=R(R({},H),{parse:function(e){return H.parse(e)/100},transform:function(e){return H.transform(100*e)}}),P=N(0,255),Y=function(e){return void 0!==e.red},X=function(e){return void 0!==e.hue};var F=function(e){return function(t){if(\"string\"!=typeof t)return t;for(var i={},s=function(e){return e.substring(e.indexOf(\"(\")+1,e.lastIndexOf(\")\"))}(t).replace(/(,|\\/)/g,\" \").split(/ \\s*/),r=0;r<4;r++)i[e[r]]=void 0!==s[r]?parseFloat(s[r]):1;return i}},Z=R(R({},I),{transform:function(e){return Math.round(P(e))}});function q(e,t){return e.startsWith(t)&&L.test(e)}var G,U={test:function(e){return\"string\"==typeof e?q(e,\"rgb\"):Y(e)},parse:F([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.red,i=e.green,s=e.blue,r=e.alpha;return\"rgba(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({red:Z.transform(t),green:Z.transform(i),blue:Z.transform(s),alpha:T(O.transform(n))})}},J={test:function(e){return\"string\"==typeof e?q(e,\"hsl\"):X(e)},parse:F([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha,n=void 0===r?1:r;return function(e){var t=e.hue,i=e.saturation,s=e.lightness,r=e.alpha;return\"hsla(\"+t+\", \"+i+\", \"+s+\", \"+(void 0===r?1:r)+\")\"}({hue:Math.round(t),saturation:H.transform(T(i)),lightness:H.transform(T(s)),alpha:T(O.transform(n))})}},Q=R(R({},U),{test:function(e){return\"string\"==typeof e&&q(e,\"#\")},parse:function(e){var t=\"\",i=\"\",s=\"\";return e.length>4?(t=e.substr(1,2),i=e.substr(3,2),s=e.substr(5,2)):(t=e.substr(1,1),i=e.substr(2,1),s=e.substr(3,1),t+=t,i+=i,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:1}}}),K={test:function(e){return\"string\"==typeof e&&L.test(e)||Y(e)||X(e)},parse:function(e){return U.test(e)?U.parse(e):J.test(e)?J.parse(e):Q.test(e)?Q.parse(e):e},transform:function(e){return Y(e)?U.transform(e):X(e)?J.transform(e):e}},ee=function(e){var t=e.onRead,i=e.onRender,s=e.uncachedValues,r=void 0===s?new Set:s,n=e.useCache,o=void 0===n||n;return function(e){void 0===e&&(e={});var s=p(e,[]),n={},a=[],l=!1;function h(e,t){e.startsWith(\"--\")&&(s.hasCSSVariable=!0);var i=n[e];n[e]=t,n[e]!==i&&(-1===a.indexOf(e)&&a.push(e),l||(l=!0,M.render(c.render)))}var c={get:function(e,i){return void 0===i&&(i=!1),!i&&o&&!r.has(e)&&void 0!==n[e]?n[e]:t(e,s)},set:function(e,t){if(\"string\"==typeof e)h(e,t);else for(var i in e)h(i,e[i]);return this},render:function(e){return void 0===e&&(e=!1),(l||!0===e)&&(i(n,s,a),l=!1,a.length=0),this}};return c}},te=/([a-z])([A-Z])/g,ie=function(e){return e.replace(te,\"$1-$2\").toLowerCase()},se=new Map,re=new Map,ne=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],oe=ne.length,ae=\"undefined\"!=typeof document,le=function(e,t){return re.set(e,ie(t))},he=function(e,t){void 0===t&&(t=!1);var i=t?re:se;return i.has(e)||(ae?function(e){G=G||document.createElement(\"div\");for(var t=0;t<oe;t++){var i=ne[t],s=\"\"===i,r=s?e:i+e.charAt(0).toUpperCase()+e.slice(1);if(r in G.style||s){if(s&&\"clipPath\"===e&&re.has(e))return;se.set(e,r),le(e,(s?\"\":\"-\")+ie(r))}}}(e):function(e){le(e,e)}(e)),i.get(e)||e},ce=[\"\",\"X\",\"Y\",\"Z\"],de=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"].reduce((function(e,t){return ce.reduce((function(e,i){return e.push(t+i),e}),e)}),[\"x\",\"y\",\"z\"]),ue=de.reduce((function(e,t){return e[t]=!0,e}),{});function me(e){return!0===ue[e]}function fe(e,t){return de.indexOf(e)-de.indexOf(t)}var ve=new Set([\"originX\",\"originY\",\"originZ\"]);function pe(e){return ve.has(e)}var ge=v(v({},I),{transform:Math.round}),be={color:K,backgroundColor:K,outlineColor:K,fill:K,stroke:K,borderColor:K,borderTopColor:K,borderRightColor:K,borderBottomColor:K,borderLeftColor:K,borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,radius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,size:W,top:W,right:W,bottom:W,left:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,rotate:V,rotateX:V,rotateY:V,rotateZ:V,scale:D,scaleX:D,scaleY:D,scaleZ:D,skew:V,skewX:V,skewY:V,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,opacity:O,originX:j,originY:j,originZ:W,zIndex:ge,fillOpacity:O,strokeOpacity:O,numOctaves:ge},xe=function(e){return be[e]},ye=function(e,t){return t&&\"number\"==typeof e?t.transform(e):e},we=new Set([\"scrollLeft\",\"scrollTop\"]),$e=new Set([\"scrollLeft\",\"scrollTop\",\"transform\"]),Ce={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};function ze(e){return\"function\"==typeof e}function Be(e,t,i,s,r,n,o,a){void 0===t&&(t=!0),void 0===i&&(i={}),void 0===s&&(s={}),void 0===r&&(r={}),void 0===n&&(n=[]),void 0===o&&(o=!1),void 0===a&&(a=!0);var l=!0,h=!1,c=!1;for(var d in e){var u=e[d],m=xe(d),f=ye(u,m);me(d)?(h=!0,s[d]=f,n.push(d),l&&(m.default&&u!==m.default||!m.default&&0!==u)&&(l=!1)):pe(d)?(r[d]=f,c=!0):$e.has(d)&&ze(f)||(i[he(d,o)]=f)}return(h||\"function\"==typeof e.transform)&&(i.transform=function(e,t,i,s,r,n){void 0===n&&(n=!0);var o=\"\",a=!1;i.sort(fe);for(var l=i.length,h=0;h<l;h++){var c=i[h];o+=(Ce[c]||c)+\"(\"+t[c]+\") \",a=\"z\"===c||a}return!a&&r?o+=\"translateZ(0)\":o=o.trim(),ze(e.transform)?o=e.transform(t,s?\"\":o):n&&s&&(o=\"none\"),o}(e,s,n,l,t,a)),c&&(i.transformOrigin=(r.originX||\"50%\")+\" \"+(r.originY||\"50%\")+\" \"+(r.originZ||0)),i}function _e(e){var t=void 0===e?{}:e,i=t.enableHardwareAcceleration,s=void 0===i||i,r=t.isDashCase,n=void 0===r||r,o=t.allowTransformNone,a=void 0===o||o,l={},h={},c={},d=[];return function(e){return d.length=0,Be(e,s,l,h,c,d,n,a),l}}var Me=ee({onRead:function(e,t){var i=t.element,s=t.preparseOutput,r=xe(e);if(me(e))return r&&r.default||0;if(we.has(e))return i[e];var n=window.getComputedStyle(i,null).getPropertyValue(he(e,!0))||0;return s&&r&&r.test(n)&&r.parse?r.parse(n):n},onRender:function(e,t,i){var s=t.element,r=t.buildStyles,n=t.hasCSSVariable;if(Object.assign(s.style,r(e)),n)for(var o=i.length,a=0;a<o;a++){var l=i[a];l.startsWith(\"--\")&&s.style.setProperty(l,e[l])}-1!==i.indexOf(\"scrollLeft\")&&(s.scrollLeft=e.scrollLeft),-1!==i.indexOf(\"scrollTop\")&&(s.scrollTop=e.scrollTop)},uncachedValues:we});var Ee=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\"]),ke=function(e,t){return W.transform(e*t)},Se={x:0,y:0,width:0,height:0};function Re(e,t,i){return\"string\"==typeof e?e:W.transform(t+i*e)}var Ne={enableHardwareAcceleration:!1,isDashCase:!1};function Te(e,t,i,s,r,n){void 0===t&&(t=Se),void 0===s&&(s=_e(Ne)),void 0===r&&(r={style:{}}),void 0===n&&(n=!0);var o=e.attrX,a=e.attrY,l=e.originX,h=e.originY,c=e.pathLength,d=e.pathSpacing,u=void 0===d?1:d,m=e.pathOffset,f=void 0===m?0:m,v=s(p(e,[\"attrX\",\"attrY\",\"originX\",\"originY\",\"pathLength\",\"pathSpacing\",\"pathOffset\"]));for(var g in v){if(\"transform\"===g)r.style.transform=v[g];else r[n&&!Ee.has(g)?ie(g):g]=v[g]}return(void 0!==l||void 0!==h||v.transform)&&(r.style.transformOrigin=function(e,t,i){return Re(t,e.x,e.width)+\" \"+Re(i,e.y,e.height)}(t,void 0!==l?l:.5,void 0!==h?h:.5)),void 0!==o&&(r.x=o),void 0!==a&&(r.y=a),void 0!==i&&void 0!==c&&(r[n?\"stroke-dashoffset\":\"strokeDashoffset\"]=ke(-f,i),r[n?\"stroke-dasharray\":\"strokeDasharray\"]=ke(c,i)+\" \"+ke(u,i)),r}function Le(e,t,i){void 0===i&&(i=!0);var s={style:{}},r=_e(Ne);return function(n){return Te(n,e,t,r,s,i)}}var Ie=ee({onRead:function(e,t){var i=t.element;if(me(e=Ee.has(e)?e:ie(e))){var s=xe(e);return s&&s.default||0}return i.getAttribute(e)},onRender:function(e,t){var i=t.element,s=(0,t.buildAttrs)(e);for(var r in s)\"style\"===r?Object.assign(i.style,s.style):i.setAttribute(r,s[r])}}),Oe=ee({useCache:!1,onRead:function(e){return\"scrollTop\"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,i=void 0===t?0:t,s=e.scrollLeft,r=void 0===s?0:s;return window.scrollTo(r,i)}}),De=new WeakMap,Ae=function(e,t){var i,s,r,n;return e===window?i=Oe(e):!function(e){return e instanceof HTMLElement||\"function\"==typeof e.click}(e)?function(e){return e instanceof SVGElement||\"ownerSVGElement\"in e}(e)&&(r=function(e){try{return function(e){return\"function\"==typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}(e)}catch(t){return{x:0,y:0,width:0,height:0}}}(s=e),n=function(e){return\"path\"===e.tagName}(s)&&s.getTotalLength?s.getTotalLength():void 0,i=Ie({element:s,buildAttrs:Le(r,n)})):i=function(e,t){void 0===t&&(t={});var i=t.enableHardwareAcceleration,s=t.allowTransformNone,r=p(t,[\"enableHardwareAcceleration\",\"allowTransformNone\"]);return Me(v({element:e,buildStyles:_e({enableHardwareAcceleration:i,allowTransformNone:s}),preparseOutput:!0},r))}(e,t),De.set(e,i),i};function Ve(e,t){return function(e,t){return De.has(e)?De.get(e):Ae(e,t)}(\"string\"==typeof e?document.querySelector(e):e,t)}var He=function(e,t,i,s){var r=i?i.call(s,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<n.length;l++){var h=n[l];if(!a(h))return!1;var c=e[h],d=t[h];if(!1===(r=i?i.call(s,c,d,h):void 0)||void 0===r&&c!==d)return!1}return!0};const We=\"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",je=We.length,Pe=Array(20),Ye=()=>{for(let e=0;e<20;e++)Pe[e]=We.charAt(Math.random()*je);return Pe.join(\"\")};class Xe{constructor(){this.disposers=new Map}add(e,t=Ye()){return this.flush(t),this.disposers.set(t,e()),t}addDisposer(e,t=Ye()){return this.flush(t),this.disposers.set(t,e),t}addEventListener(e,t,i,s,r=Ye()){return this.add((()=>(e.addEventListener(t,i,s),()=>e.removeEventListener(t,i,s))),r),r}setTimeout(e,t,i=Ye()){return this.add((()=>{const s=window.setTimeout((()=>{this.remove(i),e()}),t);return()=>window.clearTimeout(s)}),i)}setInterval(e,t,i=Ye()){return this.add((()=>{const i=window.setInterval(e,t);return()=>window.clearInterval(i)}),i)}remove(e){const t=this.disposers.get(e);return this.disposers.delete(e),t}flush(e){const t=this.remove(e);if(t)try{t()}catch(i){console.error(i)}}flushAll(){this.disposers.forEach((e=>{try{e()}catch(t){console.error(t)}})),this.disposers.clear()}}var Fe=Object.defineProperty,Ze=(\"undefined\"!=typeof require&&require,(e,t,i)=>{return n=i,(r=\"symbol\"!=typeof t?t+\"\":t)in(s=e)?Fe(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n,i;var s,r,n});class qe{constructor(e,t){Ze(this,\"_value\"),Ze(this,\"_beforeDestroys\"),Ze(this,\"_subscribers\"),this._value=e,t&&(this.compare=t)}get value(){return this._value}setValue(e,t){if(!this.compare(e,this._value)){const i=this._value;this._value=e,this._subscribers&&this._subscribers.forEach((s=>s(e,i,t)))}}reaction(e){return this._subscribers||(this._subscribers=new Set),this._subscribers.add(e),()=>{this._subscribers&&this._subscribers.delete(e)}}subscribe(e,t){const i=this.reaction(e);return e(this._value,void 0,t),i}derive(e,t,i){const s=new qe(e(this.value,void 0,i),t),r=this.reaction(((t,i,r)=>{s.setValue(e(t,i,r))}));return s.addBeforeDestroy(r),s}destroy(){this._beforeDestroys&&(this._beforeDestroys.forEach((e=>e())),this._beforeDestroys.clear()),this._subscribers&&this._subscribers.clear()}addBeforeDestroy(e){return this._beforeDestroys||(this._beforeDestroys=new Set),this._beforeDestroys.add(e),()=>{this._beforeDestroys&&this._beforeDestroys.delete(e)}}compare(e,t){return e===t}}function Ge(e,t){Object.keys(t).forEach((i=>{!function(e,t,i){var s;Object.defineProperties(e,{[t]:{get:()=>i.value},[`_${t}$`]:{value:i},[`set${s=t,s[0].toUpperCase()+s.slice(1)}`]:{value:(e,t)=>i.setValue(e,t)}})}(e,i,t[i])}))}function Ue(e){const t=t=>{const i=e.addDisposer((()=>{t.destroy()}));return t.addBeforeDestroy((()=>{e.remove(i)})),t};return{bindSideEffect:t,combine:(e,i,s,r)=>t(function(e,t,i,s){let r=e.map((e=>e.value));const n=new qe(t(r,void 0,s),i);return e.forEach(((e,i)=>{const s=e.reaction(((e,s,o)=>{const a=r.slice();a[i]=e;const l=r;r=a,n.setValue(t(a,l,o),o)}));n.addBeforeDestroy(s)})),n}(e,i,s,r)),createVal:(e,i)=>t(new qe(e,i))}}var Je,Qe,Ke,et,tt,it,st,rt,nt,ot;(Qe=Je||(Je={})).Light=\"light\",Qe.Dark=\"dark\",Qe.Auto=\"auto\",(et=Ke||(Ke={})).Normal=\"normal\",et.Minimized=\"minimized\",et.Maximized=\"maximized\",(it=tt||(tt={})).DarkMode=\"dark_mode\",it.PrefersColorScheme=\"prefers_color_scheme\",it.Close=\"close\",it.Focus=\"focus\",it.Blur=\"blur\",it.Move=\"move\",it.Resize=\"resize\",it.IntrinsicMove=\"intrinsic_move\",it.IntrinsicResize=\"intrinsic_resize\",it.VisualResize=\"visual_resize\",it.ZIndex=\"z_index\",it.State=\"state\",it.Minimized=\"minimized\",it.Maximized=\"maximized\",it.Readonly=\"readonly\",it.Destroyed=\"destroyed\",(rt=st||(st={})).Close=\"close\",rt.Maximize=\"maximize\",rt.Minimize=\"minimize\",(ot=nt||(nt={})).North=\"n\",ot.South=\"s\",ot.West=\"w\",ot.East=\"e\",ot.NorthWest=\"nw\",ot.NorthEast=\"ne\",ot.SouthEast=\"se\",ot.SouthWest=\"sw\";const at=\"dh\";function lt(e,t,i){return Math.min(Math.max(e,t),i)}function ht(e){e.stopPropagation(),e.cancelable&&e.preventDefault()}function ct(e){return e.touches?e.touches[0]:e}function dt(){return Date.now().toString().slice(6)+Math.random().toString().slice(2,8)}let ut=1;function mt(){return\"New Box \"+ut++}function ft(e){return Boolean(e)}function vt(e){return!e}class pt{constructor({readonly:e=!1,title:t,buttons:i,onEvent:s,onDragStart:r,namespace:n=\"telebox\",state:o=Ke.Normal}={}){this.$btns=[],this.sideEffect=new Xe,this.lastTitleBarClick={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarClick=e=>{var t;if(this.readonly)return;if(0!==e.button)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now();i-this.lastTitleBarClick.timestamp<=500?Math.abs(e.clientX-this.lastTitleBarClick.clientX)<=5&&Math.abs(e.clientY-this.lastTitleBarClick.clientY)<=5&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarClick.timestamp=i,this.lastTitleBarClick.clientX=e.clientX,this.lastTitleBarClick.clientY=e.clientY},this.lastTitleBarTouch={timestamp:0,clientX:-100,clientY:-100},this.handleTitleBarTouch=e=>{var t;if(this.readonly)return;if(null==(t=e.target.dataset)?void 0:t.teleTitleBarNoDblClick)return;ht(e);const i=Date.now(),{clientX:s=this.lastTitleBarTouch.clientX+100,clientY:r=this.lastTitleBarTouch.clientY+100}=e.touches[0]||{};i-this.lastTitleBarTouch.timestamp<=500?Math.abs(s-this.lastTitleBarTouch.clientX)<=10&&Math.abs(r-this.lastTitleBarTouch.clientY)<=10&&this.onEvent&&this.onEvent({type:st.Maximize}):this.onDragStart&&this.onDragStart(e),this.lastTitleBarTouch.timestamp=i,this.lastTitleBarTouch.clientX=s,this.lastTitleBarTouch.clientY=r},this.readonly=e,this.onEvent=s,this.onDragStart=r,this.namespace=n,this.title=t,this.state=o,this.buttons=i||[{type:st.Minimize,iconClassName:this.wrapClassName(\"titlebar-icon-minimize\")},{type:st.Maximize,iconClassName:this.wrapClassName(\"titlebar-icon-maximize\"),isActive:e=>e===Ke.Maximized},{type:st.Close,iconClassName:this.wrapClassName(\"titlebar-icon-close\")}],this.$dragArea=this.renderDragArea()}setTitle(e){this.title=e,this.$title&&(this.$title.textContent=e,this.$title.title=e)}setState(e){this.state!==e&&(this.state=e,this.buttons.forEach(((t,i)=>{t.isActive&&this.$btns[i].classList.toggle(\"is-active\",t.isActive(e))})))}setReadonly(e){this.readonly!==e&&(this.readonly=e)}render(){if(!this.$titleBar){this.$titleBar=document.createElement(\"div\"),this.$titleBar.className=this.wrapClassName(\"titlebar\");const e=document.createElement(\"div\");e.className=this.wrapClassName(\"title-area\"),e.dataset.teleBoxHandle=\"dh\",this.$title=document.createElement(\"h1\"),this.$title.className=this.wrapClassName(\"title\"),this.$title.dataset.teleBoxHandle=\"dh\",this.title&&(this.$title.textContent=this.title,this.$title.title=this.title),e.appendChild(this.$title),e.appendChild(this.$dragArea);const t=document.createElement(\"div\");t.className=this.wrapClassName(\"titlebar-btns\"),this.buttons.forEach((({iconClassName:e,isActive:i},s)=>{const r=String(s),n=document.createElement(\"button\");n.className=`${this.wrapClassName(\"titlebar-btn\")} ${e}`,n.dataset.teleTitleBarBtnIndex=r,n.dataset.teleTitleBarNoDblClick=\"true\",i&&n.classList.toggle(\"is-active\",i(this.state)),this.$btns.push(n),t.appendChild(n)})),this.sideEffect.addEventListener(t,\"click\",(e=>{var t;if(this.readonly)return;const i=e.target,s=Number(null==(t=i.dataset)?void 0:t.teleTitleBarBtnIndex);if(!Number.isNaN(s)&&s<this.buttons.length){ht(e);const t=this.buttons[s];this.onEvent&&this.onEvent({type:t.type,value:t.value})}})),this.$titleBar.appendChild(e),this.$titleBar.appendChild(t)}return this.$titleBar}renderDragArea(){const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"drag-area\"),e.dataset.teleBoxHandle=\"dh\",this.sideEffect.addEventListener(e,\"mousedown\",this.handleTitleBarClick),this.sideEffect.addEventListener(e,\"touchstart\",this.handleTitleBarTouch,{passive:!0}),e}dragHandle(){return this.$titleBar}wrapClassName(e){return`${this.namespace}-${e}`}destroy(){this.sideEffect.flushAll(),this.$titleBar&&(this.$titleBar=void 0,this.$title=void 0,this.$btns.length=0,this.onDragStart=void 0,this.onEvent=void 0)}}class gt{constructor({id:e=dt(),title:t=mt(),prefersColorScheme:i=Je.Light,darkMode:s,visible:r=!0,width:n=.5,height:o=.5,minWidth:a=0,minHeight:l=0,x:h=.1,y:c=.1,minimized:d=!1,maximized:u=!1,readonly:m=!1,resizable:v=!0,draggable:p=!0,fence:g=!0,fixRatio:b=!1,focus:x=!1,zIndex:y=100,namespace:w=\"telebox\",titleBar:$,content:C,footer:z,styles:B,containerRect:_={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collectorRect:M}={}){this._renderSideEffect=new Xe,this.handleTrackStart=e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},this._sideEffect=new Xe,this._valSideEffectBinder=Ue(this._sideEffect);const{combine:E,createVal:k}=this._valSideEffectBinder;this.id=e,this.namespace=w,this.events=new f,this._delegateEvents=new f;const S=k(i);S.reaction(((e,t,i)=>{i||this.events.emit(tt.PrefersColorScheme,e)}));const R=k(Boolean(s));null==s&&S.subscribe(((e,t,i)=>{this._sideEffect.add((()=>{if(\"auto\"===e){const e=window.matchMedia(\"(prefers-color-scheme: dark)\");if(e){R.setValue(e.matches,i);const t=e=>{R.setValue(e.matches,i)};return e.addListener(t),()=>e.removeListener(t)}return bt}return R.setValue(\"dark\"===e,i),bt}),\"prefers-color-scheme\")})),R.reaction(((e,t,i)=>{i||this.events.emit(tt.DarkMode,e)}));const N=k(_,He),T=k(M,He),L=k(t),I=k(r);I.reaction(((e,t,i)=>{i||e||this.events.emit(tt.Close)}));const O=k(m);O.reaction(((e,t,i)=>{i||this.events.emit(tt.Readonly,e)}));const D=k(v),A=k(p),V=k(g),H=k(b),W=k(y);W.reaction(((e,t,i)=>{i||this.events.emit(tt.ZIndex,e)}));const j=k(x);j.reaction(((e,t,i)=>{i||this.events.emit(e?tt.Focus:tt.Blur)}));const P=k(d);P.reaction(((e,t,i)=>{i||this.events.emit(tt.Minimized,e)}));const Y=k(u);Y.reaction(((e,t,i)=>{i||this.events.emit(tt.Maximized,e)}));const X=E([P,Y],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));X.reaction(((e,t,i)=>{i||this.events.emit(tt.State,e)}));const F=k({width:lt(a,0,1),height:lt(l,0,1)},He),Z=k({width:lt(n,F.value.width,1),height:lt(o,F.value.height,1)},He);F.reaction(((e,t,i)=>{Z.setValue({width:lt(n,e.width,1),height:lt(o,e.height,1)},i)})),Z.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicResize,e)}));const q=E([Z,Y],(([e,t])=>t?{width:1,height:1}:e),He);q.reaction(((e,t,i)=>{i||this.events.emit(tt.Resize,e)}));const G=E([q,P,N,T],(([e,t,i,s])=>t&&s?{width:s.width/e.width/i.width,height:s.height/e.height/i.height}:e),He);G.reaction(((e,t,i)=>{i||this.events.emit(tt.VisualResize,e)}));const U=k({x:lt(h,0,1),y:lt(c,0,1)},He);U.reaction(((e,t,i)=>{i||this.events.emit(tt.IntrinsicMove,e)}));const J=E([U,Z,N,T,P,Y],(([e,t,i,s,r,n])=>r&&s?n?{x:(s.x+s.width/2)/i.width-.5,y:(s.y+s.height/2)/i.height-.5}:{x:(s.x+s.width/2)/i.width-t.width/2,y:(s.y+s.height/2)/i.height-t.height/2}:n?{x:0,y:0}:e),He);J.reaction(((e,t,i)=>{i||this.events.emit(tt.Move,e)})),this.titleBar=$||new pt({readonly:O.value,title:L.value,namespace:this.namespace,onDragStart:e=>{var t;return null==(t=this._handleTrackStart)?void 0:t.call(this,e)},onEvent:e=>{if(this._delegateEvents.listeners.length>0)this._delegateEvents.emit(e.type);else switch(e.type){case st.Maximize:Y.setValue(!Y.value);break;case st.Minimize:P.setValue(!0);break;case st.Close:I.setValue(!1);break;default:console.error(\"Unsupported titleBar event:\",e)}}}),O.reaction((e=>{this.titleBar.setReadonly(e)}));const Q=k(C),K=k(z),ee=k(B);Ge(this,{prefersColorScheme:S,darkMode:R,containerRect:N,collectorRect:T,title:L,visible:I,readonly:O,resizable:D,draggable:A,fence:V,fixRatio:H,focus:j,zIndex:W,minimized:P,maximized:Y,$userContent:Q,$userFooter:K,$userStyles:ee}),this._state$=X,this._minSize$=F,this._size$=q,this._intrinsicSize$=Z,this._visualSize$=G,this._coord$=J,this._intrinsicCoord$=U,this.fixRatio&&this.transform(J.value.x,J.value.y,q.value.width,q.value.height,!0),this.$box=this.render()}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}get minWidth(){return this._minSize$.value.width}get minHeight(){return this._minSize$.value.height}setMinWidth(e,t=!1){return this._minSize$.setValue({width:e,height:this.minHeight},t),this}setMinHeight(e,t=!1){return this._minSize$.setValue({width:this.minWidth,height:e},t),this}get intrinsicWidth(){return this._intrinsicSize$.value.width}get intrinsicHeight(){return this._intrinsicSize$.value.height}resize(e,t,i=!1){return this._intrinsicSize$.setValue({width:e,height:t},i),this}get width(){return this._size$.value.width}get height(){return this._size$.value.height}get absoluteWidth(){return this.width*this.containerRect.width}get absoluteHeight(){return this.height*this.containerRect.height}get visualWidth(){return this._visualSize$.value.width}get visualHeight(){return this._visualSize$.value.height}get intrinsicX(){return this._intrinsicCoord$.value.x}get intrinsicY(){return this._intrinsicCoord$.value.y}move(e,t,i=!1){return this._intrinsicCoord$.setValue({x:e,y:t},i),this}get x(){return this._coord$.value.x}get y(){return this._coord$.value.y}transform(e,t,i,s,r=!1){if(this.fixRatio){const e=this.intrinsicHeight/this.intrinsicWidth*i;t!==this.intrinsicY&&(t-=e-s),s=e}return t<0&&(t=0,s>this.intrinsicHeight&&(s=this.intrinsicHeight)),this._intrinsicCoord$.setValue({x:i>=this.minWidth?e:this.intrinsicX,y:s>=this.minHeight?t:this.intrinsicY},r),this._intrinsicSize$.setValue({width:lt(i,this.minWidth,1),height:lt(s,this.minHeight,1)},r),this}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$box&&this.$box.remove(),this}mountContent(e){return this.set$userContent(e),this}unmountContent(){return this.set$userContent(void 0),this}mountFooter(e){return this.set$userFooter(e),this}unmountFooter(){return this.set$userFooter(void 0),this}getUserStyles(){return this.$userStyles}mountStyles(e){let t;return\"string\"==typeof e?(t=document.createElement(\"style\"),t.textContent=e):t=e,this.set$userStyles(t),this}unmountStyles(){return this.set$userStyles(void 0),this}render(e){if(e){if(e===this.$box)return this.$box;this.$box=e}else{if(this.$box)return this.$box;this.$box=document.createElement(\"div\")}this._renderSideEffect.flushAll(),this.$box.classList.add(this.wrapClassName(\"box\"));const t=(e,t,i,s=ft)=>this._renderSideEffect.add((()=>{const r=this.wrapClassName(i);return t.subscribe((t=>{e.classList.toggle(r,s(t))}))}));t(this.$box,this._readonly$,\"readonly\"),t(this.$box,this._draggable$,\"no-drag\",vt),t(this.$box,this._resizable$,\"no-resize\",vt),t(this.$box,this._focus$,\"blur\",vt),t(this.$box,this._darkMode$,\"color-scheme-dark\"),t(this.$box,this._darkMode$,\"color-scheme-light\",vt),this._renderSideEffect.add((()=>{const e=this.wrapClassName(\"minimized\"),t=this.wrapClassName(\"maximized\"),i=\"box-maximized-timer\";return this._state$.subscribe((s=>{this.$box.classList.toggle(e,s===Ke.Minimized),s===Ke.Maximized?(this._renderSideEffect.flush(i),this.$box.classList.toggle(t,!0)):this._renderSideEffect.setTimeout((()=>{this.$box.classList.toggle(t,!1)}),0,i)}))})),this._renderSideEffect.add((()=>this._visible$.subscribe((e=>{this.$box.style.display=e?\"block\":\"none\"})))),this._renderSideEffect.add((()=>this._zIndex$.subscribe((e=>{this.$box.style.zIndex=String(e)}))));const i=Ve(this.$box);this.$box.dataset.teleBoxID=this.id,this.$box.style.width=this.absoluteWidth+\"px\",this.$box.style.height=this.absoluteHeight+\"px\";const s=this.x*this.containerRect.width+this.containerRect.x,r=this.y*this.containerRect.height+this.containerRect.y;this.$box.style.transform=`translate(${s-10}px,${r-10}px)`,this._valSideEffectBinder.combine([this._coord$,this._size$,this._minimized$,this._containerRect$,this._collectorRect$],(([e,t,i,s,r])=>{const n=t.width*s.width,o=t.height*s.height;return{width:n,height:o,x:e.x*s.width,y:e.y*s.height,scaleX:i&&r?r.width/n:1,scaleY:i&&r?r.height/o:1}}),He).subscribe((e=>{i.set(e)})),i.set({x:s,y:r});const n=document.createElement(\"div\");n.className=this.wrapClassName(\"box-main\"),this.$box.appendChild(n);const o=document.createElement(\"div\");o.className=this.wrapClassName(\"titlebar-wrap\"),o.appendChild(this.titleBar.render()),this.$titleBar=o;const a=document.createElement(\"div\");a.className=this.wrapClassName(\"content-wrap\");const l=document.createElement(\"div\");l.className=this.wrapClassName(\"content\")+\" tele-fancy-scrollbar\",this.$content=l,this._renderSideEffect.add((()=>{let e;return this._$userStyles$.subscribe((t=>{e&&e.remove(),e=t,t&&a.appendChild(t)}))})),this._renderSideEffect.add((()=>{let e;return this._$userContent$.subscribe((t=>{e&&e.remove(),e=t,t&&l.appendChild(t)}))})),a.appendChild(l);const h=document.createElement(\"div\");return h.className=this.wrapClassName(\"footer-wrap\"),this.$footer=h,this._renderSideEffect.add((()=>{let e;return this._$userFooter$.subscribe((t=>{e&&e.remove(),e=t,t&&h.appendChild(t)}))})),n.appendChild(o),n.appendChild(a),n.appendChild(h),this._renderResizeHandlers(),this.$box}_renderResizeHandlers(){const e=document.createElement(\"div\");e.className=this.wrapClassName(\"resize-handles\"),Object.values(nt).forEach((t=>{const i=document.createElement(\"div\");i.className=this.wrapClassName(t)+\" \"+this.wrapClassName(\"resize-handle\"),i.dataset.teleBoxHandle=t,e.appendChild(i)})),this.$box.appendChild(e);const t=\"handle-tracking-listener\",i=this.wrapClassName(\"transforming\");let s,r,n=0,o=0,a=0,l=0,h=0,c=0;const d=e=>{if(this.state!==Ke.Normal)return;ht(e);let{pageX:t,pageY:i}=ct(e);i<0&&(i=0);const s=(t-h)/this.containerRect.width,d=(i-c)/this.containerRect.height;switch(r){case nt.North:this.transform(this.x,o+d,this.width,l-d);break;case nt.South:this.transform(this.x,this.y,this.width,l+d);break;case nt.West:this.transform(n+s,this.y,a-s,this.height);break;case nt.East:this.transform(this.x,this.y,a+s,this.height);break;case nt.NorthWest:this.transform(n+s,o+d,a-s,l-d);break;case nt.NorthEast:this.transform(this.x,o+d,a+s,l-d);break;case nt.SouthEast:this.transform(this.x,this.y,a+s,l+d);break;case nt.SouthWest:this.transform(n+s,this.y,a-s,l+d);break;default:if(this.fence)this.move(lt(n+s,0,1-this.width),lt(o+d,0,1-this.height));else{const e=20/this.containerRect.width,t=20/this.containerRect.height;this.move(lt(n+s,e-this.width,1-e),lt(o+d,0,1-t))}}},u=e=>{r=void 0,s&&(ht(e),this.$box.classList.toggle(i,!1),this._sideEffect.flush(t),s.remove())},m=e=>{var m;if(this.readonly)return;if(null!=e.button&&0!==e.button)return;if(!this.draggable||r||this.state!==Ke.Normal)return;const f=e.target;if(null==(m=f.dataset)?void 0:m.teleBoxHandle){ht(e),n=this.x,o=this.y,a=this.width,l=this.height,({pageX:h,pageY:c}=ct(e)),r=f.dataset.teleBoxHandle,s||(s=document.createElement(\"div\"));const m=r?this.wrapClassName(`cursor-${r}`):\"\";s.className=this.wrapClassName(\"track-mask\"+(m?` ${m}`:\"\")),this.$box.appendChild(s),this.$box.classList.add(i),this._sideEffect.add((()=>(window.addEventListener(\"mousemove\",d),window.addEventListener(\"touchmove\",d,{passive:!1}),window.addEventListener(\"mouseup\",u),window.addEventListener(\"touchend\",u,{passive:!1}),window.addEventListener(\"touchcancel\",u,{passive:!1}),()=>{window.removeEventListener(\"mousemove\",d),window.removeEventListener(\"touchmove\",d),window.removeEventListener(\"mouseup\",u),window.removeEventListener(\"touchend\",u),window.removeEventListener(\"touchcancel\",u)})),t)}};this._handleTrackStart=m,this._sideEffect.addEventListener(e,\"mousedown\",m,{},\"box-resizeHandles-mousedown\"),this._sideEffect.addEventListener(e,\"touchstart\",m,{passive:!1},\"box-resizeHandles-touchstart\")}destroy(){this.$box.remove(),this.events.emit(tt.Destroyed),this._sideEffect.flushAll(),this._renderSideEffect.flushAll(),this.events.removeAllListeners(),this._delegateEvents.removeAllListeners()}wrapClassName(e){return`${this.namespace}-${e}`}}function bt(){}const xt=(e,t)=>{const i=c(!0);d((()=>{if(!i.current)return e();i.current=!1}),t)},yt=e=>{const[t]=u((()=>new gt(e)));return xt((()=>{null!=e.prefersColorScheme&&t.setPrefersColorScheme(e.prefersColorScheme)}),[t,e.prefersColorScheme]),xt((()=>{null!=e.minWidth&&t.setMinWidth(e.minWidth)}),[t,e.minWidth]),xt((()=>{null!=e.minHeight&&t.setMinHeight(e.minHeight)}),[t,e.minHeight]),xt((()=>{var i,s;t.resize(null!=(i=e.width)?i:t.width,null!=(s=e.height)?s:t.height,!0)}),[t,e.width,e.height]),xt((()=>{var i,s;t.move(null!=(i=e.x)?i:t.x,null!=(s=e.y)?s:t.y,!0)}),[t,e.x,e.y]),xt((()=>{null!=e.title&&t.setTitle(e.title)}),[t,e.title]),xt((()=>{null!=e.visible&&t.setVisible(e.visible)}),[t,e.visible]),xt((()=>{null!=e.minimized&&t.setMinimized(e.minimized,!0)}),[t,e.minimized]),xt((()=>{null!=e.maximized&&t.setMaximized(e.maximized,!0)}),[t,e.maximized]),xt((()=>{null!=e.state&&t.setState(e.state,!0)}),[t,e.state]),xt((()=>{null!=e.draggable&&t.setDraggable(e.draggable)}),[t,e.draggable]),xt((()=>{null!=e.resizable&&t.setResizable(e.resizable)}),[t,e.resizable]),xt((()=>{null!=e.fence&&t.setFence(e.fence)}),[t,e.fence]),xt((()=>{null!=e.containerRect&&t.setContainerRect(e.containerRect)}),[t,e.containerRect]),xt((()=>{null!=e.fixRatio&&t.setFixRatio(e.fixRatio)}),[t,e.fixRatio]),d((()=>{if(e.onResize)return t.events.on(tt.Resize,e.onResize),()=>{t.events.off(tt.Resize,e.onResize)}}),[t,e.onResize]),d((()=>{if(e.onMove)return t.events.on(tt.Move,e.onMove),()=>{t.events.off(tt.Move,e.onMove)}}),[t,e.onMove]),d((()=>{if(e.onClose)return t.events.on(tt.Close,e.onClose),()=>{t.events.off(tt.Close,e.onClose)}}),[t,e.onClose]),d((()=>{if(e.onFocus)return t.events.on(tt.Focus,e.onFocus),()=>{t.events.off(tt.Focus,e.onFocus)}}),[t,e.onFocus]),d((()=>{if(e.onBlur)return t.events.on(tt.Blur,e.onBlur),()=>{t.events.off(tt.Blur,e.onBlur)}}),[t,e.onBlur]),d((()=>{if(e.onStateChanged)return t.events.on(tt.State,e.onStateChanged),()=>{t.events.off(tt.State,e.onStateChanged)}}),[t,e.onStateChanged]),h.createElement(\"div\",{ref:e=>e&&t.render(e),className:t.wrapClassName(\"box\")})};var wt,$t;class Ct{constructor({visible:e=!0,readonly:t=!1,darkMode:i=!1,namespace:s=\"telebox\",styles:r={},onClick:n}={}){this.handleCollectorClick=()=>{!this._readonly&&this.onClick&&this.onClick()},this._visible=e,this._readonly=t,this._darkMode=i,this.namespace=s,this.styles=r,this.onClick=n}get visible(){return this._visible}get readonly(){return this._readonly}get darkMode(){return this._darkMode}mount(e){return e.appendChild(this.render()),this}unmount(){return this.$collector&&this.$collector.remove(),this}setVisible(e){return this._visible!==e&&(this._visible=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-visible\"),e)),this}setReadonly(e){return this._readonly!==e&&(this._readonly=e,this.$collector&&this.$collector.classList.toggle(this.wrapClassName(\"collector-readonly\"),e)),this}setDarkMode(e){return this._darkMode!==e&&(this._darkMode=e,this.$collector&&(this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$collector.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e))),this}setStyles(e){if(Object.assign(this.styles,e),this.$collector){const t=this.$collector;Object.keys(e).forEach((i=>{const s=e[i];null!=s&&(t.style[i]=s)}))}return this}render(){return this.$collector||(this.$collector=document.createElement(\"button\"),this.$collector.className=this.wrapClassName(\"collector\"),this.$collector.style.backgroundImage=\"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxNiI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIHN0cm9rZT0iIzdCODhBMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIGQ9Ik0uNyAxLjJoMTYuNnYxMy42SC43eiIgLz4KICAgICAgICA8cGF0aCBmaWxsPSIjN0I4OEEwIiBkPSJNNCA1LjVoNnYxLjRINHpNNCA5LjVoMTB2MS40SDR6IiAvPgogICAgPC9nPgo8L3N2Zz4K')\",this.$collector.addEventListener(\"click\",this.handleCollectorClick),this._visible&&this.$collector.classList.add(this.wrapClassName(\"collector-visible\")),this._readonly&&this.$collector.classList.add(this.wrapClassName(\"collector-readonly\")),this.$collector.classList.add(this.wrapClassName(this._darkMode?\"color-scheme-dark\":\"color-scheme-light\")),this.setStyles(this.styles)),this.$collector}destroy(){this.$collector&&(this.$collector.removeEventListener(\"click\",this.handleCollectorClick),this.$collector.remove(),this.$collector=void 0),this.onClick=void 0}wrapClassName(e){return`${this.namespace}-${e}`}}($t=wt||(wt={})).Focused=\"focused\",$t.Blurred=\"blurred\",$t.Created=\"created\",$t.Removed=\"removed\",$t.State=\"state\",$t.Maximized=\"maximized\",$t.Minimized=\"minimized\",$t.Move=\"move\",$t.Resize=\"resize\",$t.IntrinsicMove=\"intrinsic_move\",$t.IntrinsicResize=\"intrinsic_resize\",$t.VisualResize=\"visual_resize\",$t.ZIndex=\"z_index\",$t.PrefersColorScheme=\"prefers_color_scheme\",$t.DarkMode=\"dark_mode\";class zt extends pt{constructor(e){super(e),this.boxes=e.boxes,this.focusedBox=e.focusedBox,this.containerRect=e.containerRect,this.darkMode=e.darkMode}focusBox(e){var t;if(!this.focusedBox||this.focusedBox!==e){if(this.$titles&&this.state===Ke.Maximized){const{children:i}=this.$titles.firstElementChild;for(let s=i.length-1;s>=0;s-=1){const r=i[s],n=null==(t=r.dataset)?void 0:t.teleBoxID;n&&(e&&n===e.id?r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!0):this.focusedBox&&n===this.focusedBox.id&&r.classList.toggle(this.wrapClassName(\"titles-tab-focus\"),!1))}}this.focusedBox=e}}setContainerRect(e){if(this.containerRect=e,this.$titleBar){const{x:t,y:i,width:s}=e;this.$titleBar.style.transform=`translate(${t}px, ${i}px)`,this.$titleBar.style.width=s+\"px\"}}setBoxes(e){this.boxes=e,this.updateTitles()}setState(e){super.setState(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),e===Ke.Maximized),this.updateTitles()}setReadonly(e){super.setReadonly(e),this.$titleBar&&this.$titleBar.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly)}setDarkMode(e){e!==this.darkMode&&(this.darkMode=e,this.$titleBar&&(this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-dark\"),e),this.$titleBar.classList.toggle(this.wrapClassName(\"color-scheme-light\"),!e)))}render(){const e=super.render(),{x:t,y:i,width:s}=this.containerRect;e.style.transform=`translate(${t}px, ${i}px)`,e.style.width=s+\"px\",e.classList.add(this.wrapClassName(\"max-titlebar\")),e.classList.toggle(this.wrapClassName(\"max-titlebar-maximized\"),this.state===Ke.Maximized),e.classList.toggle(this.wrapClassName(\"readonly\"),this.readonly),e.classList.add(this.wrapClassName(this.darkMode?\"color-scheme-dark\":\"color-scheme-light\"));const r=document.createElement(\"div\");return r.classList.add(this.wrapClassName(\"titles-area\")),e.insertBefore(r,e.firstElementChild),this.updateTitles(),e}destroy(){super.destroy(),this.$titles=void 0,this.boxes.length=0,this.focusedBox=void 0}updateTitles(){this.$titleBar&&this.state===Ke.Maximized&&(this.$titleBar.classList.toggle(this.wrapClassName(\"max-titlebar-single-title\"),1===this.boxes.length),1===this.boxes.length?this.setTitle(this.boxes[0].title):this.$titleBar.replaceChild(this.renderTitles(),this.$titleBar.firstElementChild))}renderTitles(){this.$titles=document.createElement(\"div\"),this.$titles.className=this.wrapClassName(\"titles\"),this.$titles.addEventListener(\"wheel\",(e=>{e.currentTarget.scrollBy({left:e.deltaY>0?250:-250,behavior:\"smooth\"})}),{passive:!1});const e=document.createElement(\"div\");return e.className=this.wrapClassName(\"titles-content\"),this.$titles.appendChild(e),this.boxes.forEach((t=>{const i=document.createElement(\"button\");i.className=this.wrapClassName(\"titles-tab\"),i.textContent=t.title,i.dataset.teleBoxID=t.id,i.dataset.teleTitleBarNoDblClick=\"true\",this.focusedBox&&t.id===this.focusedBox.id&&i.classList.add(this.wrapClassName(\"titles-tab-focus\")),e.appendChild(i)})),this.$titles}}class Bt{constructor({root:e=document.body,prefersColorScheme:t=Je.Light,minimized:i=!1,maximized:s=!1,fence:r=!0,containerRect:n={x:0,y:0,width:window.innerWidth,height:window.innerHeight},collector:o,namespace:a=\"telebox\",readonly:l=!1}={}){this.events=new f,this._sideEffect=new Xe;const{combine:h,createVal:c}=Ue(this._sideEffect);this.root=e,this.namespace=a,this.boxes$=c([]),this.topBox$=this.boxes$.derive((e=>{if(e.length>0){return e.reduce(((e,t)=>e.zIndex>t.zIndex?e:t))}}));const d=window.matchMedia(\"(prefers-color-scheme: dark)\"),u=c(!1);d&&(u.setValue(d.matches),this._sideEffect.add((()=>{const e=e=>{u.setValue(e.matches)};return d.addListener(e),()=>d.removeListener(e)})));const m=c(t);m.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setPrefersColorScheme(e,i))),i||this.events.emit(wt.PrefersColorScheme,e)})),this._darkMode$=h([u,m],(([e,t])=>\"auto\"===t?e:\"dark\"===t)),this._darkMode$.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setDarkMode(e,i))),i||this.events.emit(wt.DarkMode,e)}));const v=c(l);v.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setReadonly(e,i)))}));const p=c(i),g=c(s);g.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setMaximized(e,i))),i||this.events.emit(wt.Maximized,e)}));const b=h([p,g],(([e,t])=>e?Ke.Minimized:t?Ke.Maximized:Ke.Normal));b.reaction(((e,t,i)=>{this.maxTitleBar.setState(e),i||this.events.emit(wt.State,e)}));const x=c(r);x.subscribe(((e,t,i)=>{this.boxes.forEach((t=>t.setFence(e,i)))}));const y=c(n,He);y.reaction(((e,t,i)=>{this.boxes.forEach((t=>t.setContainerRect(e,i))),this.maxTitleBar.setContainerRect(e)}));const w=c(null===o?null:o||new Ct({visible:i,readonly:l,namespace:a}).mount(e));w.subscribe((e=>{e&&(e.setVisible(p.value),e.setReadonly(v.value),e.setDarkMode(this._darkMode$.value),this._sideEffect.add((()=>(e.onClick=()=>{v.value||p.setValue(!1)},()=>e.destroy())),\"collect-onClick\"))})),v.subscribe((e=>{var t;return null==(t=w.value)?void 0:t.setReadonly(e)})),this._darkMode$.subscribe((e=>{var t;null==(t=w.value)||t.setDarkMode(e)}));const $=()=>{var e;if(null==(e=w.value)?void 0:e.$collector){const{x:e,y:t,width:i,height:s}=w.value.$collector.getBoundingClientRect(),r=this.root.getBoundingClientRect();return{x:e-r.x,y:t-r.y,width:i,height:s}}},C=c(p.value?$():void 0);C.subscribe(((e,t,i)=>{this.boxes.forEach((t=>{t.setCollectorRect(e,i)}))})),p.subscribe(((e,t,i)=>{var s,r;null==(s=w.value)||s.setVisible(e),e&&(null==(r=w.value)?void 0:r.$collector)&&C.setValue($()),this.boxes.forEach((t=>t.setMinimized(e,i))),i||this.events.emit(wt.Minimized,e)}));const z=this.wrapClassName(\"titlebar-icon-close\"),B=e=>{var t;if(v.value)return;const i=e.target;if(i.tagName)for(let s=i;s;s=s.parentElement){if(s.classList&&s.classList.contains(z))return;const e=null==(t=s.dataset)?void 0:t.teleBoxID;if(e){const t=this.getBox(e);if(t)return this.focusBox(t),void this.makeBoxTop(t)}}};this._sideEffect.addEventListener(window,\"mousedown\",B,!0),this._sideEffect.addEventListener(window,\"touchstart\",B,!0),this.maxTitleBar=new zt({darkMode:this.darkMode,readonly:v.value,namespace:this.namespace,state:b.value,boxes:this.boxes$.value,containerRect:y.value,onEvent:e=>{switch(e.type){case st.Maximize:g.setValue(!g.value);break;case st.Minimize:p.setValue(!0);break;case tt.Close:this.removeTopBox(),this.focusTopBox()}}}),v.subscribe((e=>this.maxTitleBar.setReadonly(e))),this._darkMode$.subscribe((e=>{this.maxTitleBar.setDarkMode(e)})),this.boxes$.reaction((e=>{this.maxTitleBar.setBoxes(e)}));Ge(this,{prefersColorScheme:m,containerRect:y,collector:w,collectorRect:C,readonly:v,fence:x,minimized:p,maximized:g}),this._state$=b,this.root.appendChild(this.maxTitleBar.render())}get boxes(){return this.boxes$.value}get topBox(){return this.topBox$.value}get darkMode(){return this._darkMode$.value}get state(){return this._state$.value}setState(e,t=!1){switch(e){case Ke.Maximized:this.setMinimized(!1,t),this.setMaximized(!0,t);break;case Ke.Minimized:this.setMinimized(!0,t),this.setMaximized(!1,t);break;default:this.setMinimized(!1,t),this.setMaximized(!1,t)}return this}create(e={},t=!0){const i=new gt(l(a({zIndex:this.topBox?this.topBox.zIndex+1:100},t?this.smartPosition(e):e),{darkMode:this.darkMode,prefersColorScheme:this.prefersColorScheme,maximized:this.maximized,minimized:this.minimized,fence:this.fence,namespace:this.namespace,containerRect:this.containerRect,readonly:this.readonly,collectorRect:this.collectorRect}));return i.mount(this.root),i.focus&&(this.focusBox(i),t&&this.makeBoxTop(i)),this.boxes$.setValue([...this.boxes,i]),i._delegateEvents.on(st.Maximize,(()=>{this.setMaximized(!this.maximized)})),i._delegateEvents.on(st.Minimize,(()=>{this.setMinimized(!0)})),i._delegateEvents.on(st.Close,(()=>{this.remove(i),this.focusTopBox()})),i._coord$.reaction(((e,t,s)=>{s||this.events.emit(wt.Move,i)})),i._size$.reaction(((e,t,s)=>{s||this.events.emit(wt.Resize,i)})),i._intrinsicCoord$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicMove,i)})),i._intrinsicSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.IntrinsicResize,i)})),i._visualSize$.reaction(((e,t,s)=>{s||this.events.emit(wt.VisualResize,i)})),i._zIndex$.reaction(((e,t,s)=>{if(this.boxes.length>0){const e=this.boxes.reduce(((e,t)=>e.zIndex>t.zIndex?e:t));this.topBox$.setValue(e)}s||this.events.emit(wt.ZIndex,i)})),this.events.emit(wt.Created,i),i}query(e){return e?this.boxes.filter(this.teleBoxMatcher(e)):[...this.boxes]}queryOne(e){return e?this.boxes.find(this.teleBoxMatcher(e)):this.boxes[0]}update(e,t,i=!1){const s=this.boxes.find((t=>t.id===e));if(s)return this.updateBox(s,t,i)}updateAll(e,t=!1){this.boxes.forEach((i=>{this.updateBox(i,e,t)}))}remove(e,t=!1){const i=this.getBoxIndex(e);if(i>=0){const e=this.boxes.slice(),s=e.splice(i,1);return this.boxes$.setValue(e),s.forEach((e=>e.destroy())),t||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,s)),s[0]}}removeTopBox(){if(this.topBox)return this.remove(this.topBox)}removeAll(e=!1){const t=this.boxes$.value;return this.boxes$.setValue([]),t.forEach((e=>e.destroy())),e||(this.boxes.length<=0&&(this.setMaximized(!1),this.setMinimized(!1)),this.events.emit(wt.Removed,t)),t}destroy(e=!1){this.events.removeAllListeners(),this._sideEffect.flushAll(),this.removeAll(e),Object.keys(this).forEach((e=>{const t=this[e];t instanceof qe&&t.destroy()}))}wrapClassName(e){return`${this.namespace}-${e}`}focusBox(e,t=!1){const i=this.getBox(e);i&&(this.boxes.forEach((e=>{if(i===e){let e=!1;i.focus||(e=!0,i.setFocus(!0,t)),e&&!t&&this.events.emit(wt.Focused,i)}else e.focus&&this.blurBox(e,t)})),this.maxTitleBar.focusBox(i))}focusTopBox(){if(this.topBox&&!this.topBox.focus)return this.focusBox(this.topBox)}blurBox(e,t=!1){const i=this.getBox(e);i&&(i.focus&&(i.setFocus(!1,t),t||this.events.emit(wt.Blurred,i)),this.maxTitleBar.focusedBox===i&&this.maxTitleBar.focusBox())}blurAll(e=!1){this.boxes.forEach((t=>{t.focus&&(t.setFocus(!1,e),e||this.events.emit(wt.Blurred,t))})),this.maxTitleBar.focusedBox&&this.maxTitleBar.focusBox()}teleBoxMatcher(e){const t=Object.keys(e);return i=>t.every((t=>e[t]===i[t]))}updateBox(e,t,i=!1){null==t.x&&null==t.y||e.move(null==t.x?e.intrinsicX:t.x,null==t.y?e.intrinsicY:t.y,i),null==t.width&&null==t.height||e.resize(null==t.width?e.intrinsicWidth:t.width,null==t.height?e.intrinsicHeight:t.height,i),null!=t.title&&(e.setTitle(t.title),this.maxTitleBar.updateTitles()),null!=t.visible&&e.setVisible(t.visible,i),null!=t.minHeight&&e.setMinHeight(t.minHeight,i),null!=t.minWidth&&e.setMinWidth(t.minWidth,i),null!=t.resizable&&e.setResizable(t.resizable,i),null!=t.draggable&&e.setDraggable(t.draggable,i),null!=t.fixRatio&&e.setFixRatio(t.fixRatio,i),null!=t.zIndex&&e.setZIndex(t.zIndex,i),null!=t.content&&e.mountContent(t.content),null!=t.footer&&e.mountFooter(t.footer)}smartPosition(e={}){let{x:t,y:i}=e;const{width:s=.5,height:r=.5}=e;if(null==t){let e=20;this.topBox&&(e=this.topBox.intrinsicX*this.containerRect.width+20,e>this.containerRect.width-s*this.containerRect.width&&(e=20)),t=e/this.containerRect.width}if(null==i){let e=20;this.topBox&&(e=this.topBox.intrinsicY*this.containerRect.height+20,e>this.containerRect.height-r*this.containerRect.height&&(e=20)),i=e/this.containerRect.height}return l(a({},e),{x:t,y:i,width:s,height:r})}makeBoxTop(e,t=!1){this.topBox&&e!==this.topBox&&e.setZIndex(this.topBox.zIndex+1,t)}getBoxIndex(e){return\"string\"==typeof e?this.boxes.findIndex((t=>t.id===e)):this.boxes.findIndex((t=>t===e))}getBox(e){return\"string\"==typeof e?this.boxes.find((t=>t.id===e)):e}}export{pt as DefaultTitleBar,Je as TELE_BOX_COLOR_SCHEME,st as TELE_BOX_DELEGATE_EVENT,tt as TELE_BOX_EVENT,wt as TELE_BOX_MANAGER_EVENT,nt as TELE_BOX_RESIZE_HANDLE,Ke as TELE_BOX_STATE,gt as TeleBox,Ct as TeleBoxCollector,at as TeleBoxDragHandleType,Bt as TeleBoxManager,yt as TeleBoxReact};\n//# sourceMappingURL=telebox-insider.es.js.map\n","import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from \"./constants\";\nimport { debounce } from \"lodash\";\nimport { TELE_BOX_STATE, TeleBoxCollector, TeleBoxManager } from \"@netless/telebox-insider\";\nimport { WindowManager } from \"./index\";\nimport type { AddAppOptions, AppInitState } from \"./index\";\nimport type {\n TeleBoxManagerUpdateConfig,\n TeleBoxManagerCreateConfig,\n ReadonlyTeleBox,\n TeleBoxManagerConfig,\n TeleBoxColorScheme,\n TeleBoxRect,\n TeleBoxConfig,\n} from \"@netless/telebox-insider\";\nimport type Emittery from \"emittery\";\nimport type { NetlessApp } from \"./typings\";\nimport type { View } from \"white-web-sdk\";\nimport type { CallbacksType } from \"./callback\";\nimport type { EmitterType } from \"./InternalEmitter\";\n\nexport { TELE_BOX_STATE };\n\nexport type CreateBoxParams = {\n appId: string;\n app: NetlessApp;\n view?: View;\n emitter?: Emittery;\n options?: AddAppOptions;\n canOperate?: boolean;\n smartPosition?: boolean;\n};\n\ntype AppId = { appId: string };\n\ntype MoveBoxParams = AppId & { x: number; y: number };\n\ntype ResizeBoxParams = AppId & { width: number; height: number; skipUpdate: boolean };\n\ntype SetBoxMinSizeParams = AppId & { minWidth: number; minHeight: number };\n\ntype SetBoxTitleParams = AppId & { title: string };\n\nexport type CreateTeleBoxManagerConfig = {\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport type BoxManagerContext = {\n safeSetAttributes: (attributes: any) => void;\n getMainView: () => View;\n updateAppState: (appId: string, field: AppAttributes, value: any) => void;\n emitter: EmitterType;\n callbacks: CallbacksType;\n canOperate: () => boolean;\n notifyContainerRectUpdate: (rect: TeleBoxRect) => void;\n cleanFocus: () => void;\n setAppFocus: (appId: string) => void;\n};\n\nexport const createBoxManager = (\n manager: WindowManager,\n callbacks: CallbacksType,\n emitter: EmitterType,\n options: CreateTeleBoxManagerConfig\n) => {\n return new BoxManager(\n {\n safeSetAttributes: (attributes: any) => manager.safeSetAttributes(attributes),\n getMainView: () => manager.mainView,\n updateAppState: (...args) => manager.appManager?.store.updateAppState(...args),\n canOperate: () => manager.canOperate,\n notifyContainerRectUpdate: (rect: TeleBoxRect) =>\n manager.appManager?.notifyContainerRectUpdate(rect),\n cleanFocus: () => manager.appManager?.store.cleanFocus(),\n setAppFocus: (appId: string) => manager.appManager?.store.setAppFocus(appId, true),\n callbacks,\n emitter,\n },\n options\n );\n};\n\nexport class BoxManager {\n public teleBoxManager: TeleBoxManager;\n\n constructor(\n private context: BoxManagerContext,\n private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ) {\n const { emitter, callbacks } = context;\n this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);\n\n // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调\n this.teleBoxManager._state$.reaction(state => {\n callbacks.emit(\"boxStateChange\", state);\n emitter.emit(\"boxStateChange\", state);\n });\n\n this.teleBoxManager._darkMode$.reaction(darkMode => {\n callbacks.emit(\"darkModeChange\", darkMode);\n });\n this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {\n callbacks.emit(\"prefersColorSchemeChange\", colorScheme);\n });\n\n // events.on 的值则会根据 skipUpdate 来决定是否触发回调\n this.teleBoxManager.events.on(\"minimized\", minimized => {\n this.context.safeSetAttributes({ minimized });\n if (minimized) {\n this.context.cleanFocus();\n this.blurAllBox();\n } else {\n const topBox = this.getTopBox();\n if (topBox) {\n this.context.setAppFocus(topBox.id);\n this.focusBox({ appId: topBox.id }, false);\n }\n }\n });\n this.teleBoxManager.events.on(\"maximized\", maximized => {\n this.context.safeSetAttributes({ maximized });\n });\n this.teleBoxManager.events.on(\"removed\", boxes => {\n boxes.forEach(box => {\n emitter.emit(\"close\", { appId: box.id });\n });\n });\n this.teleBoxManager.events.on(\n \"intrinsic_move\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"move\", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });\n }, 50)\n );\n this.teleBoxManager.events.on(\n \"intrinsic_resize\",\n debounce((box: ReadonlyTeleBox): void => {\n emitter.emit(\"resize\", {\n appId: box.id,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }, 200)\n );\n this.teleBoxManager.events.on(\"focused\", box => {\n if (box) {\n if (this.canOperate) {\n emitter.emit(\"focus\", { appId: box.id });\n } else {\n this.teleBoxManager.blurBox(box.id);\n }\n }\n });\n this.teleBoxManager.events.on(\"z_index\", box => {\n this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);\n });\n emitter.on(\"playgroundSizeChange\", () => this.updateManagerRect());\n emitter.on(\"updateManagerRect\", () => this.updateManagerRect());\n }\n\n private get mainView() {\n return this.context.getMainView();\n }\n\n private get canOperate() {\n return this.context.canOperate();\n }\n\n public get boxState() {\n return this.teleBoxManager.state;\n }\n\n public get maximized() {\n return this.teleBoxManager.maximized;\n }\n\n public get minimized() {\n return this.teleBoxManager.minimized;\n }\n\n public get darkMode() {\n return this.teleBoxManager.darkMode;\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme {\n return this.teleBoxManager.prefersColorScheme;\n }\n\n public get boxSize() {\n return this.teleBoxManager.boxes.length;\n }\n\n public createBox(params: CreateBoxParams): void {\n if (!this.teleBoxManager) return;\n let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};\n const { width, height } = params.app.config ?? {};\n const title = params.options?.title || params.appId;\n const rect = this.teleBoxManager.containerRect;\n\n if (minwidth > 1) {\n minwidth = minwidth / rect.width;\n }\n\n if (minheight > 1) {\n minheight = minheight / rect.height;\n }\n\n const createBoxConfig: TeleBoxManagerCreateConfig = {\n title,\n minWidth: minwidth,\n minHeight: minheight,\n width,\n height,\n id: params.appId,\n };\n this.teleBoxManager.create(createBoxConfig, params.smartPosition);\n this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);\n }\n\n public setBoxInitState(appId: string): void {\n const box = this.teleBoxManager.queryOne({ id: appId });\n if (box) {\n if (box.state === TELE_BOX_STATE.Maximized) {\n this.context.emitter.emit(\"resize\", {\n appId: appId,\n x: box.x,\n y: box.y,\n width: box.intrinsicWidth,\n height: box.intrinsicHeight,\n });\n }\n }\n }\n\n public setupBoxManager(\n createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig\n ): TeleBoxManager {\n const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;\n const rect = root.getBoundingClientRect();\n const initManagerState: TeleBoxManagerConfig = {\n root: root,\n containerRect: {\n x: 0,\n y: 0,\n width: rect.width,\n height: rect.height,\n },\n fence: false,\n prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,\n };\n\n const manager = new TeleBoxManager(initManagerState);\n if (this.teleBoxManager) {\n this.teleBoxManager.destroy();\n }\n this.teleBoxManager = manager;\n const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;\n if (container) {\n this.setCollectorContainer(container);\n }\n return manager;\n }\n\n public setCollectorContainer(container: HTMLElement) {\n const collector = new TeleBoxCollector({\n styles: this.createTeleBoxManagerConfig?.collectorStyles,\n }).mount(container);\n this.teleBoxManager.setCollector(collector);\n }\n\n public getBox(appId: string): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.queryOne({ id: appId });\n }\n\n public closeBox(appId: string, skipUpdate = false): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.remove(appId, skipUpdate);\n }\n\n public boxIsFocus(appId: string): boolean | undefined {\n const box = this.getBox(appId);\n return box?.focus;\n }\n\n public getFocusBox(): ReadonlyTeleBox | undefined {\n const boxes = this.teleBoxManager.query({ focus: true });\n return boxes[0];\n }\n\n public getTopBox(): ReadonlyTeleBox | undefined {\n return this.teleBoxManager.topBox;\n }\n\n public updateBoxState(state?: AppInitState): void {\n if (!state) return;\n const box = this.getBox(state.id);\n if (box) {\n this.teleBoxManager.update(\n box.id,\n {\n x: state.x,\n y: state.y,\n width: state.width || 0.5,\n height: state.height || 0.5,\n zIndex: state.zIndex,\n },\n true\n );\n setTimeout(() => {\n if (state.focus) {\n this.teleBoxManager.focusBox(box.id, true);\n }\n if (state.maximized != null) {\n this.teleBoxManager.setMaximized(Boolean(state.maximized), true);\n }\n if (state.minimized != null) {\n this.teleBoxManager.setMinimized(Boolean(state.minimized), true);\n }\n }, 50);\n this.context.callbacks.emit(\"boxStateChange\", this.teleBoxManager.state);\n }\n }\n\n public updateManagerRect(): void {\n const rect = this.mainView.divElement?.getBoundingClientRect();\n if (rect && rect.width > 0 && rect.height > 0) {\n const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };\n this.teleBoxManager.setContainerRect(containerRect);\n this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);\n }\n }\n\n public moveBox({ appId, x, y }: MoveBoxParams): void {\n this.teleBoxManager.update(appId, { x, y }, true);\n }\n\n public focusBox({ appId }: AppId, skipUpdate = true): void {\n this.teleBoxManager.focusBox(appId, skipUpdate);\n }\n\n public resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void {\n this.teleBoxManager.update(appId, { width, height }, skipUpdate);\n }\n\n public setBoxMinSize(params: SetBoxMinSizeParams): void {\n this.teleBoxManager.update(\n params.appId,\n {\n minWidth: params.minWidth,\n minHeight: params.minHeight,\n },\n true\n );\n }\n\n public setBoxTitle(params: SetBoxTitleParams): void {\n this.teleBoxManager.update(params.appId, { title: params.title }, true);\n }\n\n public blurAllBox(): void {\n this.teleBoxManager.blurAll();\n }\n\n public updateAll(config: TeleBoxManagerUpdateConfig): void {\n this.teleBoxManager.updateAll(config);\n }\n\n public setMaximized(maximized: boolean, skipUpdate = true): void {\n if (maximized !== this.maximized) {\n this.teleBoxManager.setMaximized(maximized, skipUpdate);\n }\n }\n\n public setMinimized(minimized: boolean, skipUpdate = true) {\n this.teleBoxManager.setMinimized(minimized, skipUpdate);\n }\n\n public focusTopBox(): void {\n const boxes = this.teleBoxManager.query();\n if (boxes.length >= 1) {\n const box = this.getTopBox();\n if (box) {\n this.focusBox({ appId: box.id }, false);\n }\n }\n }\n\n public updateBox(id: string, payload: TeleBoxConfig, skipUpdate = true): void {\n this.teleBoxManager.update(id, payload, skipUpdate);\n }\n\n public setReadonly(readonly: boolean) {\n this.teleBoxManager.setReadonly(readonly);\n }\n\n public setPrefersColorScheme(colorScheme: TeleBoxColorScheme) {\n this.teleBoxManager.setPrefersColorScheme(colorScheme);\n }\n\n public setZIndex(id: string, zIndex: number, skipUpdate = true) {\n this.teleBoxManager.update(id, { zIndex }, skipUpdate);\n }\n\n public destroy() {\n this.teleBoxManager.destroy();\n }\n}\n","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = append_empty_stylesheet(node).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '&quot;',\n \"'\": '&#39;',\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : context || []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : options.context || []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.42.4' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","<script lang=\"ts\">\n import { isEmpty } from \"lodash\";\n import { ApplianceNames } from \"white-web-sdk\";\n\n export let cursorName: string;\n export let tagName: string | undefined;\n export let backgroundColor: string;\n export let appliance: string;\n export let x: number;\n export let y: number;\n export let src: string | undefined;\n export let visible: boolean;\n export let avatar: string;\n export let theme: string;\n export let color: string;\n export let cursorTagBackgroundColor: string;\n export let opacity: number;\n\n $: hasName = !isEmpty(cursorName);\n $: hasTagName = !isEmpty(tagName);\n $: hasAvatar = !isEmpty(avatar);\n $: display = visible ? \"initial\" : \"none\";\n $: isLaserPointer = appliance === ApplianceNames.laserPointer;\n\n const computedAvatarStyle = () => {\n return Object.entries({\n width: (hasName ? 19 : 28) + \"px\",\n height: (hasName ? 19 : 28) + \"px\",\n position: hasName ? \"initial\" : \"absolute\",\n \"border-color\": hasName ? \"white\" : backgroundColor,\n \"margin-right\": (hasName ? 4 : 0) + \"px\",\n })\n .map(([key, v]) => `${key}: ${v}`)\n .join(\";\");\n };\n</script>\n\n<div\n class=\"netless-window-manager-cursor-mid\"\n style=\"transform: translateX({x}px) translateY({y}px);display: {display}\"\n> \n {#if !isLaserPointer}\n <div class=\"netless-window-manager-cursor-name\">\n <div\n class={theme}\n style=\"background-color: {backgroundColor};color: {color};opacity: {opacity}\"\n >\n {#if hasAvatar}\n <img\n class=\"netless-window-manager-cursor-selector-avatar\"\n style={computedAvatarStyle()}\n src={avatar}\n alt=\"avatar\"\n />\n {/if}\n <span style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;max-width: 80px\">{cursorName}</span>\n {#if hasTagName}\n <span class=\"netless-window-manager-cursor-tag-name\" style=\"background-color: {cursorTagBackgroundColor}\">\n {tagName}\n </span>\n {/if}\n </div>\n </div>\n {/if}\n <div class=\"cursor-image-wrapper\">\n <img class=\"netless-window-manager-cursor-{appliance}-image\" {src} alt={appliance} />\n </div>\n</div>\n","import { ApplianceNames } from \"white-web-sdk\";\nimport pencil from \"../image/pencil-cursor.png\";\nimport selector from \"../image/selector-cursor.png\";\nimport eraser from \"../image/eraser-cursor.png\";\nimport shape from \"../image/shape-cursor.svg\";\nimport text from \"../image/text-cursor.svg\";\nimport laser from \"../image/laser-pointer-cursor.svg\";\n\nexport const ApplianceMap: {\n [key: string]: string;\n} = {\n [ApplianceNames.pencil]: pencil,\n [ApplianceNames.selector]: selector,\n [ApplianceNames.eraser]: eraser,\n [ApplianceNames.shape]: shape,\n [ApplianceNames.text]: text,\n [ApplianceNames.laserPointer]: laser,\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5zaGFwZS1jdXJzb3I8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNjQuNiUiIHk9Ii01OS41JSIgd2lkdGg9IjIyOS4zJSIgaGVpZ2h0PSIyNDYuMSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9IjEiIG9wZXJhdG9yPSJkaWxhdGUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dTcHJlYWRPdXRlcjEiPjwvZmVNb3JwaG9sb2d5PgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIyIiBpbj0ic2hhZG93U3ByZWFkT3V0ZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi00IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iV2hpdGVib2FyZC1HdWlkZWxpbmVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ0LjAwMDAwMCwgLTc1MS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9InNoYXBlLWN1cnNvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQ0LjAwMDAwMCwgNzUxLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00NCIgZmlsbD0iI0ZGRkZGRiIgb3BhY2l0eT0iMC4wMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9IuW9oueKtue7k+WQiCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxIiBkPSJNMjAsMjEgQzIwLjQ4NTQxMDMsMjEgMjAuODk4MDg1LDIxLjM0Nzk5OTMgMjAuOTg5OTQ3OSwyMS44NjU0ODc3IEwyMSwyMiBMMjEsMjcgQzIxLDI3LjU1MjI4NDcgMjAuNTUyMjg0NywyOCAyMCwyOCBDMTkuNTE0NTg5NywyOCAxOS4xMDE5MTUsMjcuNjUyMDAwNyAxOS4wMTAwNTIxLDI3LjEzNDUxMjMgTDE5LDI3IEwxOSwyMiBDMTksMjEuNDQ3NzE1MyAxOS40NDc3MTUzLDIxIDIwLDIxIFogTTI3LDE5IEMyNy41NTIyODQ3LDE5IDI4LDE5LjQ0NzcxNTMgMjgsMjAgQzI4LDIwLjQ4NTQxMDMgMjcuNjUyMDAwNywyMC44OTgwODUgMjcuMTM0NTEyMywyMC45ODk5NDc5IEwyNywyMSBMMjIsMjEgQzIxLjQ0NzcxNTMsMjEgMjEsMjAuNTUyMjg0NyAyMSwyMCBDMjEsMTkuNTE0NTg5NyAyMS4zNDc5OTkzLDE5LjEwMTkxNSAyMS44NjU0ODc3LDE5LjAxMDA1MjEgTDIyLDE5IEwyNywxOSBaIE0xOCwxOSBDMTguNTUyMjg0NywxOSAxOSwxOS40NDc3MTUzIDE5LDIwIEMxOSwyMC40ODU0MTAzIDE4LjY1MjAwMDcsMjAuODk4MDg1IDE4LjEzNDUxMjMsMjAuOTg5OTQ3OSBMMTgsMjEgTDEzLDIxIEMxMi40NDc3MTUzLDIxIDEyLDIwLjU1MjI4NDcgMTIsMjAgQzEyLDE5LjUxNDU4OTcgMTIuMzQ3OTk5MywxOS4xMDE5MTUgMTIuODY1NDg3NywxOS4wMTAwNTIxIEwxMywxOSBMMTgsMTkgWiBNMjAsMTIgQzIwLjQ4NTQxMDMsMTIgMjAuODk4MDg1LDEyLjM0Nzk5OTMgMjAuOTg5OTQ3OSwxMi44NjU0ODc3IEwyMSwxMyBMMjEsMTggQzIxLDE4LjU1MjI4NDcgMjAuNTUyMjg0NywxOSAyMCwxOSBDMTkuNTE0NTg5NywxOSAxOS4xMDE5MTUsMTguNjUyMDAwNyAxOS4wMTAwNTIxLDE4LjEzNDUxMjMgTDE5LDE4IEwxOSwxMyBDMTksMTIuNDQ3NzE1MyAxOS40NDc3MTUzLDEyIDIwLDEyIFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0iI0ZGRkZGRiIgeD0iMTguNSIgeT0iMTciIHdpZHRoPSIzIiBoZWlnaHQ9IjYiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIGZpbGw9IiNGRkZGRkYiIHg9IjE3IiB5PSIxOC41IiB3aWR0aD0iNiIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAsMjEuNSBDMjAuMjQ1NDU5OSwyMS41IDIwLjQ0OTYwODQsMjEuNjc2ODc1MiAyMC40OTE5NDQzLDIxLjkxMDEyNDQgTDIwLjUsMjIgTDIwLjUsMjcgQzIwLjUsMjcuMjc2MTQyNCAyMC4yNzYxNDI0LDI3LjUgMjAsMjcuNSBDMTkuNzU0NTQwMSwyNy41IDE5LjU1MDM5MTYsMjcuMzIzMTI0OCAxOS41MDgwNTU3LDI3LjA4OTg3NTYgTDE5LjUsMjcgTDE5LjUsMjIgQzE5LjUsMjEuNzIzODU3NiAxOS43MjM4NTc2LDIxLjUgMjAsMjEuNSBaIE0yNywxOS41IEMyNy4yNzYxNDI0LDE5LjUgMjcuNSwxOS43MjM4NTc2IDI3LjUsMjAgQzI3LjUsMjAuMjQ1NDU5OSAyNy4zMjMxMjQ4LDIwLjQ0OTYwODQgMjcuMDg5ODc1NiwyMC40OTE5NDQzIEwyNywyMC41IEwyMiwyMC41IEMyMS43MjM4NTc2LDIwLjUgMjEuNSwyMC4yNzYxNDI0IDIxLjUsMjAgQzIxLjUsMTkuNzU0NTQwMSAyMS42NzY4NzUyLDE5LjU1MDM5MTYgMjEuOTEwMTI0NCwxOS41MDgwNTU3IEwyMiwxOS41IEwyNywxOS41IFogTTE4LDE5LjUgQzE4LjI3NjE0MjQsMTkuNSAxOC41LDE5LjcyMzg1NzYgMTguNSwyMCBDMTguNSwyMC4yNDU0NTk5IDE4LjMyMzEyNDgsMjAuNDQ5NjA4NCAxOC4wODk4NzU2LDIwLjQ5MTk0NDMgTDE4LDIwLjUgTDEzLDIwLjUgQzEyLjcyMzg1NzYsMjAuNSAxMi41LDIwLjI3NjE0MjQgMTIuNSwyMCBDMTIuNSwxOS43NTQ1NDAxIDEyLjY3Njg3NTIsMTkuNTUwMzkxNiAxMi45MTAxMjQ0LDE5LjUwODA1NTcgTDEzLDE5LjUgTDE4LDE5LjUgWiBNMjAsMTIuNSBDMjAuMjQ1NDU5OSwxMi41IDIwLjQ0OTYwODQsMTIuNjc2ODc1MiAyMC40OTE5NDQzLDEyLjkxMDEyNDQgTDIwLjUsMTMgTDIwLjUsMTggQzIwLjUsMTguMjc2MTQyNCAyMC4yNzYxNDI0LDE4LjUgMjAsMTguNSBDMTkuNzU0NTQwMSwxOC41IDE5LjU1MDM5MTYsMTguMzIzMTI0OCAxOS41MDgwNTU3LDE4LjA4OTg3NTYgTDE5LjUsMTggTDE5LjUsMTMgQzE5LjUsMTIuNzIzODU3NiAxOS43MjM4NTc2LDEyLjUgMjAsMTIuNSBaIiBpZD0i5b2i54q257uT5ZCIIiBmaWxsPSIjMjEyMzI0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDdweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDcgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYwLjEgKDg4MTMzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT50ZXh0LWN1cnNvcjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0xNiwyNi41IEMxNS43MjM4NTc2LDI2LjUgMTUuNSwyNi4yNzYxNDI0IDE1LjUsMjYgQzE1LjUsMjUuNzU0NTQwMSAxNS42NzY4NzUyLDI1LjU1MDM5MTYgMTUuOTEwMTI0NCwyNS41MDgwNTU3IEwxNiwyNS41IEwxOS41LDI1LjUgTDE5LjUsMTQuNSBMMTYsMTQuNSBDMTUuNzIzODU3NiwxNC41IDE1LjUsMTQuMjc2MTQyNCAxNS41LDE0IEMxNS41LDEzLjc1NDU0MDEgMTUuNjc2ODc1MiwxMy41NTAzOTE2IDE1LjkxMDEyNDQsMTMuNTA4MDU1NyBMMTYsMTMuNSBMMjQsMTMuNSBDMjQuMjc2MTQyNCwxMy41IDI0LjUsMTMuNzIzODU3NiAyNC41LDE0IEMyNC41LDE0LjI0NTQ1OTkgMjQuMzIzMTI0OCwxNC40NDk2MDg0IDI0LjA4OTg3NTYsMTQuNDkxOTQ0MyBMMjQsMTQuNSBMMjAuNSwxNC41IEwyMC41LDI1LjUgTDI0LDI1LjUgQzI0LjI3NjE0MjQsMjUuNSAyNC41LDI1LjcyMzg1NzYgMjQuNSwyNiBDMjQuNSwyNi4yNDU0NTk5IDI0LjMyMzEyNDgsMjYuNDQ5NjA4NCAyNC4wODk4NzU2LDI2LjQ5MTk0NDMgTDI0LDI2LjUgTDE2LDI2LjUgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTI4NC4wJSIgeT0iLTgxLjUlIiB3aWR0aD0iNjY4LjElIiBoZWlnaHQ9IjI5My45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTIiPgogICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz0iMSIgb3BlcmF0b3I9ImRpbGF0ZSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd1NwcmVhZE91dGVyMSI+PC9mZU1vcnBob2xvZ3k+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dTcHJlYWRPdXRlcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iLTQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXaGl0ZWJvYXJkLUd1aWRlbGluZXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODguMDAwMDAwLCAtNjcyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0idGV4dC1jdXJzb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5Mi4wMDAwMDAsIDY3Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70tNDAiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuMDEiIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxnIGlkPSLlvaLnirbnu5PlkIgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMSIgZD0iTTE5LDI1IEwxOSwxNSBMMTYsMTUgQzE1LjQ0NzcxNTMsMTUgMTUsMTQuNTUyMjg0NyAxNSwxNCBDMTUsMTMuNTE0NTg5NyAxNS4zNDc5OTkzLDEzLjEwMTkxNSAxNS44NjU0ODc3LDEzLjAxMDA1MjEgTDE2LDEzIEwyNCwxMyBDMjQuNTUyMjg0NywxMyAyNSwxMy40NDc3MTUzIDI1LDE0IEMyNSwxNC40ODU0MTAzIDI0LjY1MjAwMDcsMTQuODk4MDg1IDI0LjEzNDUxMjMsMTQuOTg5OTQ3OSBMMjQsMTUgTDIxLDE1IEwyMSwyNSBMMjQsMjUgQzI0LjU1MjI4NDcsMjUgMjUsMjUuNDQ3NzE1MyAyNSwyNiBDMjUsMjYuNDg1NDEwMyAyNC42NTIwMDA3LDI2Ljg5ODA4NSAyNC4xMzQ1MTIzLDI2Ljk4OTk0NzkgTDI0LDI3IEwxNiwyNyBDMTUuNDQ3NzE1MywyNyAxNSwyNi41NTIyODQ3IDE1LDI2IEMxNSwyNS41MTQ1ODk3IDE1LjM0Nzk5OTMsMjUuMTAxOTE1IDE1Ljg2NTQ4NzcsMjUuMDEwMDUyMSBMMTYsMjUgTDE5LDI1IFoiIGZpbGw9IiMyMTIzMjQiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjggMjgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjEgKDc4MTM2KSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT7nvJbnu4QgMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIgeD0iLTEyMC4wJSIgeT0iLTEyMC4wJSIgd2lkdGg9IjM0MC4wJSIgaGVpZ2h0PSIzNDAuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNCIgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i6aG16Z2iMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Iue8lue7hC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgOS4wMDAwMDApIiBmaWxsPSIjRkYwMTAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiBjeD0iNSIgY3k9IjUiIHI9IjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8cGF0aCBkPSJNNSw4IEM2LjY1Njg1NDI1LDggOCw2LjY1Njg1NDI1IDgsNSBDOCwzLjM0MzE0NTc1IDYuNjU2ODU0MjUsMiA1LDIgQzMuMzQzMTQ1NzUsMiAyLDMuMzQzMTQ1NzUgMiw1IEMyLDYuNjU2ODU0MjUgMy4zNDMxNDU3NSw4IDUsOCBaIE01LDYuMjg1NzE0MjkgQzQuMjg5OTE5NjEsNi4yODU3MTQyOSAzLjcxNDI4NTcxLDUuNzEwMDgwMzkgMy43MTQyODU3MSw1IEMzLjcxNDI4NTcxLDQuMjg5OTE5NjEgNC4yODk5MTk2MSwzLjcxNDI4NTcxIDUsMy43MTQyODU3MSBDNS43MTAwODAzOSwzLjcxNDI4NTcxIDYuMjg1NzE0MjksNC4yODk5MTk2MSA2LjI4NTcxNDI5LDUgQzYuMjg1NzE0MjksNS43MTAwODAzOSA1LjcxMDA4MDM5LDYuMjg1NzE0MjkgNSw2LjI4NTcxNDI5IFoiIGlkPSLmpK3lnIblvaIiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","import App from \"./Cursor.svelte\";\nimport { ApplianceMap } from \"./icons\";\nimport { ApplianceNames } from \"white-web-sdk\";\nimport { findMemberByUid } from \"../Helper\";\nimport { omit } from \"lodash\";\nimport type { Position } from \"../AttributesDelegate\";\nimport type { RoomMember } from \"white-web-sdk\";\nimport type { CursorManager } from \"./index\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type Payload = {\n [key: string]: any;\n};\n\nexport class Cursor {\n private member?: RoomMember;\n private timer?: number;\n private component?: SvelteComponent;\n\n constructor(\n private manager: AppManager,\n private memberId: string,\n private cursorManager: CursorManager,\n private wrapper?: HTMLElement\n ) {\n this.updateMember();\n this.createCursor();\n this.autoHidden();\n }\n\n public move = (position: Position) => {\n if (position.type === \"main\") {\n const rect = this.cursorManager.wrapperRect;\n if (this.component && rect) {\n this.autoHidden();\n this.moveCursor(position, rect, this.manager.mainView);\n }\n } else {\n const focusView = this.cursorManager.focusView;\n const viewRect = focusView?.divElement?.getBoundingClientRect();\n const viewCamera = focusView?.camera;\n if (focusView && viewRect && viewCamera && this.component) {\n this.autoHidden();\n this.moveCursor(position, viewRect, focusView);\n }\n }\n };\n\n public leave = () => {\n this.hide();\n };\n\n private moveCursor(cursor: Position, rect: DOMRect, view: any) {\n const { x, y, type } = cursor;\n const point = view?.screen.convertPointToScreen(x, y);\n if (point) {\n let translateX = point.x - 2;\n let translateY = point.y - 18;\n if (type === \"app\") {\n const wrapperRect = this.cursorManager.wrapperRect;\n if (wrapperRect) {\n translateX = translateX + rect.x - wrapperRect.x;\n translateY = translateY + rect.y - wrapperRect.y;\n }\n }\n if (point.x < 0 || point.x > rect.width || point.y < 0 || point.y > rect.height) {\n this.component?.$set({ visible: false, x: translateX, y: translateY });\n } else {\n this.component?.$set({ visible: true, x: translateX, y: translateY });\n }\n }\n }\n\n public get memberApplianceName() {\n return this.member?.memberState?.currentApplianceName;\n }\n\n public get memberColor() {\n const rgb = this.member?.memberState?.strokeColor.join(\",\");\n return `rgb(${rgb})`;\n }\n\n private get payload(): Payload | undefined {\n return this.member?.payload;\n }\n\n public get memberCursorName() {\n return this.payload?.nickName || this.payload?.cursorName || this.memberId;\n }\n\n private get memberTheme() {\n if (this.payload?.theme) {\n return \"netless-window-manager-cursor-inner-mellow\";\n } else {\n return \"netless-window-manager-cursor-inner\";\n }\n }\n\n private get memberCursorTextColor() {\n return this.payload?.cursorTextColor || \"#FFFFFF\";\n }\n\n private get memberCursorTagBackgroundColor() {\n return this.payload?.cursorTagBackgroundColor || this.memberColor;\n }\n\n private get memberAvatar() {\n return this.payload?.avatar;\n }\n\n private get memberOpacity() {\n if (!this.memberCursorName && !this.memberAvatar) {\n return 0;\n } else {\n return 1;\n }\n }\n\n private get memberTagName(): string | undefined {\n return this.payload?.cursorTagName;\n }\n\n private autoHidden() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.timer = window.setTimeout(() => {\n this.hide();\n }, 1000 * 10); // 10 秒钟自动隐藏\n }\n\n private async createCursor() {\n if (this.member && this.wrapper) {\n this.component = new App({\n target: this.wrapper,\n props: this.initProps(),\n });\n }\n }\n\n private initProps() {\n return {\n x: 0,\n y: 0,\n appliance: this.memberApplianceName as string,\n avatar: this.memberAvatar,\n src: this.getIcon(),\n visible: false,\n backgroundColor: this.memberColor,\n cursorName: this.memberCursorName,\n theme: this.memberTheme,\n color: this.memberCursorTextColor,\n cursorTagBackgroundColor: this.memberCursorTagBackgroundColor,\n opacity: this.memberOpacity,\n tagName: this.memberTagName,\n };\n }\n\n private getIcon() {\n if (this.member) {\n const applianceSrc = ApplianceMap[this.memberApplianceName || ApplianceNames.shape];\n return applianceSrc || ApplianceMap[ApplianceNames.shape];\n }\n }\n\n public updateMember() {\n this.member = findMemberByUid(this.manager.room, this.memberId);\n this.updateComponent();\n return this.member;\n }\n\n private updateComponent() {\n this.component?.$set(omit(this.initProps(), [\"x\", \"y\"]));\n }\n\n public destroy() {\n if (this.component) {\n this.component.$destroy();\n }\n this.cursorManager.cursorInstances.delete(this.memberId);\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n public hide() {\n if (this.component) {\n this.component.$set({ visible: false });\n this.destroy();\n }\n }\n}\n","import { getVersionNumber } from \"./Utils/Common\";\nimport { REQUIRE_VERSION } from \"./constants\";\nimport { WhiteVersion } from \"white-web-sdk\";\nimport { WhiteWebSDKInvalidError } from \"./Utils/error\";\nimport { WindowManager } from \"./index\";\nimport type { Room } from \"white-web-sdk\";\n\nexport const setupWrapper = (\n root: HTMLElement\n): {\n playground: HTMLDivElement;\n wrapper: HTMLDivElement;\n sizer: HTMLDivElement;\n mainViewElement: HTMLDivElement;\n} => {\n const playground = document.createElement(\"div\");\n playground.className = \"netless-window-manager-playground\";\n\n const sizer = document.createElement(\"div\");\n sizer.className = \"netless-window-manager-sizer\";\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"netless-window-manager-wrapper\";\n\n const mainViewElement = document.createElement(\"div\");\n mainViewElement.className = \"netless-window-manager-main-view\";\n\n playground.appendChild(sizer);\n sizer.appendChild(wrapper);\n wrapper.appendChild(mainViewElement);\n root.appendChild(playground);\n WindowManager.wrapper = wrapper;\n\n return { playground, wrapper, sizer, mainViewElement };\n};\n\nexport const checkVersion = () => {\n const version = getVersionNumber(WhiteVersion);\n if (version < getVersionNumber(REQUIRE_VERSION)) {\n throw new WhiteWebSDKInvalidError(REQUIRE_VERSION);\n }\n};\n\nexport const findMemberByUid = (room: Room | undefined, uid: string) => {\n const roomMembers = room?.state.roomMembers;\n return roomMembers?.find(member => member.payload?.uid === uid);\n};\n","import { ApplianceNames } from \"white-web-sdk\";\nimport { Cursor } from \"./Cursor\";\nimport { CursorState, Events } from \"../constants\";\nimport { emitter } from \"../InternalEmitter\";\nimport { SideEffectManager } from \"side-effect-manager\";\nimport { throttle } from \"lodash\";\nimport { WindowManager } from \"../index\";\nimport type { CursorMovePayload } from \"../index\";\nimport type { PositionType } from \"../AttributesDelegate\";\nimport type { Point, RoomMember, View } from \"white-web-sdk\";\nimport type { AppManager } from \"../AppManager\";\n\nexport type EventType = {\n type: PositionType;\n id?: string;\n};\n\nexport type MoveCursorParams = {\n uid: string;\n x: number;\n y: number;\n};\nexport class CursorManager {\n public containerRect?: DOMRect;\n public wrapperRect?: DOMRect;\n public cursorInstances: Map<string, Cursor> = new Map();\n public roomMembers?: readonly RoomMember[];\n private mainViewElement?: HTMLDivElement;\n private sideEffectManager = new SideEffectManager();\n private store = this.manager.store;\n\n constructor(private manager: AppManager, private enableCursor: boolean) {\n this.roomMembers = this.manager.room?.state.roomMembers;\n const wrapper = WindowManager.wrapper;\n if (wrapper) {\n this.setupWrapper(wrapper);\n }\n this.sideEffectManager.add(() => {\n return emitter.on(\"cursorMove\", this.onCursorMove);\n });\n\n this.sideEffectManager.add(() => {\n return emitter.on(\"playgroundSizeChange\", () => this.updateContainerRect());\n });\n }\n\n private onCursorMove = (payload: CursorMovePayload) => {\n const cursorInstance = this.initCursorInstance(payload.uid);\n if (payload.state === CursorState.Leave) {\n cursorInstance.leave();\n } else {\n const member = cursorInstance.updateMember();\n if (this.canMoveCursor(member)) {\n cursorInstance.move(payload.position);\n }\n }\n };\n\n private initCursorInstance = (uid: string) => {\n let cursorInstance = this.cursorInstances.get(uid);\n if (!cursorInstance) {\n cursorInstance = new Cursor(this.manager, uid, this, WindowManager.wrapper);\n this.cursorInstances.set(uid, cursorInstance);\n }\n return cursorInstance;\n };\n\n private canMoveCursor(member: RoomMember | undefined) {\n const isLaserPointer =\n member?.memberState.currentApplianceName === ApplianceNames.laserPointer;\n // 激光笔教具在不开启光标的情况下也要显示\n return this.enableCursor || isLaserPointer;\n }\n\n public setupWrapper(wrapper: HTMLElement) {\n this.sideEffectManager.add(() => {\n wrapper.addEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.addEventListener(\"pointerleave\", this.mouseLeaveListener);\n return () => {\n wrapper.removeEventListener(\"pointerenter\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointermove\", this.mouseMoveListener);\n wrapper.removeEventListener(\"pointerleave\", this.mouseLeaveListener);\n };\n });\n\n this.wrapperRect = wrapper.getBoundingClientRect();\n }\n\n public setMainViewDivElement(div: HTMLDivElement) {\n this.mainViewElement = div;\n }\n\n public get boxState() {\n return this.store.getBoxState();\n }\n\n public get focusView() {\n return this.manager.focusApp?.view;\n }\n\n private mouseMoveListener = throttle((event: PointerEvent) => {\n if (event.pointerType === \"touch\") {\n if (!event.isPrimary) return;\n }\n this.updateCursor(this.getType(event), event.clientX, event.clientY);\n }, 16);\n\n private updateCursor(event: EventType, clientX: number, clientY: number) {\n if (this.wrapperRect && this.manager.canOperate) {\n const view = event.type === \"main\" ? this.manager.mainView : this.focusView;\n const point = this.getPoint(view, clientX, clientY);\n if (point) {\n this.manager.dispatchInternalEvent(Events.CursorMove, {\n uid: this.manager.uid,\n position: {\n x: point.x,\n y: point.y,\n type: event.type,\n },\n } as CursorMovePayload);\n }\n }\n }\n\n private getPoint = (\n view: View | undefined,\n clientX: number,\n clientY: number\n ): Point | undefined => {\n const rect = view?.divElement?.getBoundingClientRect();\n if (rect) {\n const point = view?.convertToPointInWorld({\n x: clientX - rect.x,\n y: clientY - rect.y,\n });\n return point;\n }\n };\n\n /**\n * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中\n */\n private getType = (event: MouseEvent | Touch): EventType => {\n const target = event.target as HTMLElement;\n const focusApp = this.manager.focusApp;\n switch (target.parentElement) {\n case this.mainViewElement: {\n return { type: \"main\" };\n }\n case focusApp?.view?.divElement: {\n return { type: \"app\" };\n }\n default: {\n return { type: \"main\" };\n }\n }\n };\n\n private mouseLeaveListener = () => {\n this.hideCursor(this.manager.uid);\n };\n\n public updateContainerRect() {\n this.containerRect = WindowManager.container?.getBoundingClientRect();\n this.wrapperRect = WindowManager.wrapper?.getBoundingClientRect();\n }\n\n public deleteCursor(uid: string) {\n this.store.cleanCursor(uid);\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.destroy();\n }\n }\n\n public hideCursor(uid: string) {\n const cursor = this.cursorInstances.get(uid);\n if (cursor) {\n cursor.hide();\n }\n }\n\n public destroy() {\n this.sideEffectManager.flushAll();\n if (this.cursorInstances.size) {\n this.cursorInstances.forEach(cursor => {\n cursor.destroy();\n });\n this.cursorInstances.clear();\n }\n }\n}\n","import { emitter } from \"../InternalEmitter\";\nimport { isPlayer } from \"white-web-sdk\";\nimport type { WindowManager } from \"../index\";\nimport type { Camera, Room, Player, PlayerSeekingResult } from \"white-web-sdk\";\n\n// 修改多窗口状态下一些失效的方法实现到 manager 的 mainview 上, 降低迁移成本\nexport const replaceRoomFunction = (room: Room | Player, manager: WindowManager) => {\n if (isPlayer(room)) {\n const player = room as unknown as Player;\n delegateSeekToProgressTime(player);\n } else {\n room = room as unknown as Room;\n const descriptor = Object.getOwnPropertyDescriptor(room, \"disableCameraTransform\");\n if (descriptor) return;\n Object.defineProperty(room, \"disableCameraTransform\", {\n get() {\n return manager.mainView.disableCameraTransform;\n },\n set(disable: boolean) {\n manager.mainView.disableCameraTransform = disable;\n },\n });\n\n Object.defineProperty(room, \"canUndoSteps\", {\n get() {\n return manager.canUndoSteps;\n },\n });\n\n Object.defineProperty(room, \"canRedoSteps\", {\n get() {\n return manager.canRedoSteps;\n },\n });\n\n room.moveCamera = (camera: Camera) => manager.moveCamera(camera);\n room.moveCameraToContain = (...args) => manager.moveCameraToContain(...args);\n room.convertToPointInWorld = (...args) => manager.mainView.convertToPointInWorld(...args);\n room.setCameraBound = (...args) => manager.mainView.setCameraBound(...args);\n room.scenePreview = (...args) => manager.mainView.scenePreview(...args);\n room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);\n room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);\n room.setMemberState = (...args) => manager.mainView.setMemberState(...args);\n room.redo = () => manager.redo();\n room.undo = () => manager.undo();\n room.cleanCurrentScene = () => manager.cleanCurrentScene();\n room.delete = () => manager.delete();\n room.copy = () => manager.copy();\n room.paste = () => manager.paste();\n room.duplicate = () => manager.duplicate();\n room.insertImage = (...args) => manager.insertImage(...args);\n room.completeImageUpload = (...args) => manager.completeImageUpload(...args);\n room.insertText = (...args) => manager.insertText(...args);\n room.lockImage = (...args) => manager.lockImage(...args);\n room.lockImages = (...args) => manager.lockImages(...args);\n\n delegateRemoveScenes(room);\n }\n};\n\nconst delegateRemoveScenes = (room: Room) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n const result = originRemoveScenes.call(room, scenePath);\n emitter.emit(\"removeScenes\", scenePath);\n return result;\n };\n};\n\nconst delegateSeekToProgressTime = (player: Player) => {\n const originSeek = player.seekToProgressTime;\n // eslint-disable-next-line no-inner-declarations\n async function newSeek(time: number): Promise<PlayerSeekingResult> {\n const seekResult = await originSeek.call(player, time);\n if (seekResult === \"success\") {\n emitter.emit(\"seek\", time);\n }\n return seekResult;\n }\n player.seekToProgressTime = newSeek;\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar styles = \".netless-app-docs-viewer-content{position:relative;height:100%;overflow:hidden}.netless-app-docs-viewer-preview-mask{display:none;position:absolute;z-index:200;top:0;left:0;width:100%;height:100%}.netless-app-docs-viewer-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview-mask{display:block}.netless-app-docs-viewer-preview-active .netless-app-docs-viewer-preview{transform:translate(0)}.netless-app-docs-viewer-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;user-select:none}.netless-app-docs-viewer-preview-page:hover,.netless-app-docs-viewer-preview-page.netless-app-docs-viewer-preview-page-active{border-color:#444e601a}.netless-app-docs-viewer-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-docs-viewer-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;user-select:none}.netless-app-docs-viewer-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;color:#191919}.netless-app-docs-viewer-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-docs-viewer-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-docs-viewer-footer-btn:hover{background:transparent!important}}.netless-app-docs-viewer-footer-btn>svg{width:100%;height:100%}.netless-app-docs-viewer-footer-btn>svg:nth-of-type(2){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-docs-viewer-footer-btn.netless-app-docs-viewer-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-docs-viewer-footer-btn~.netless-app-docs-viewer-footer-btn{margin-left:15px}.netless-app-docs-viewer-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-docs-viewer-page-number{margin-left:auto;font-size:13px;user-select:none;white-space:nowrap;word-break:keep-all}.netless-app-docs-viewer-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;background:transparent;transition:background .4s;user-select:text;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-page-number-input:active{background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-footer-btn:hover{background:transparent}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input{cursor:not-allowed}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:hover,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:focus,.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:active{background:transparent;box-shadow:none}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-page-number-input:disabled{color:inherit}.netless-app-docs-viewer-readonly.netless-app-docs-viewer-float-footer{display:none}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input{color:#a6a6a8}.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:active,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:focus,.telebox-color-scheme-dark .netless-app-docs-viewer-page-number-input:hover{color:#222}.telebox-color-scheme-dark .netless-app-docs-viewer-footer{color:#a6a6a8;background:#2d2d33;border-top:none}.telebox-color-scheme-dark .netless-app-docs-viewer-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-docs-viewer-preview{background:rgba(50,50,50,.9)}.netless-app-docs-viewer-static-scrollbar{position:absolute;top:0;right:0;z-index:2147483647;width:8px;min-height:30px;margin:0;padding:0;border:none;outline:none;border-radius:4px;background:rgba(68,78,96,.4);box-shadow:1px 1px 8px #ffffffb3;opacity:0;transition:background .4s,opacity .4s 3s,transform .2s;user-select:none}.netless-app-docs-viewer-static-scrollbar.netless-app-docs-viewer-static-scrollbar-dragging{background:rgba(68,78,96,.6);opacity:1;transition:background .4s,opacity .4s 3s!important}.netless-app-docs-viewer-static-scrollbar:hover,.netless-app-docs-viewer-static-scrollbar:focus{background:rgba(68,78,96,.5)}.netless-app-docs-viewer-static-scrollbar:active{background:rgba(68,78,96,.6)}.netless-app-docs-viewer-content:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.netless-app-docs-viewer-readonly .netless-app-docs-viewer-static-scrollbar{display:none}.netless-app-docs-viewer-static-pages:hover .netless-app-docs-viewer-static-scrollbar{opacity:1;transition:background .4s,opacity .4s,transform .2s}.page-renderer-pages-container{position:relative;overflow:hidden}.page-renderer-page{position:absolute;top:0;left:0;background-position:center;background-size:cover;background-repeat:no-repeat}.page-renderer-pages-container.is-hwa .page-renderer-page{will-change:transform}.page-renderer-page-img{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-pages{overflow:hidden;position:relative;height:100%;user-select:none}.netless-app-docs-viewer-static-page{display:block;width:100%;height:auto;user-select:none}.netless-app-docs-viewer-static-wb-view,.netless-app-docs-viewer-dynamic-wb-view{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;overflow:hidden}.netless-app-docs-viewer-dynamic-wb-view .cursor-clicker .ppt-event-source{cursor:pointer}\\n\";\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n if (property === \"length\" || property === \"prototype\") {\n return;\n }\n if (property === \"arguments\" || property === \"caller\") {\n return;\n }\n const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n return;\n }\n Object.defineProperty(to, property, fromDescriptor);\n};\nconst canCopyProperty = function(toDescriptor, fromDescriptor) {\n return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst changePrototype = (to, from) => {\n const fromPrototype = Object.getPrototypeOf(from);\n if (fromPrototype === Object.getPrototypeOf(to)) {\n return;\n }\n Object.setPrototypeOf(to, fromPrototype);\n};\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\n${fromBody}`;\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\nconst changeToString = (to, from, name) => {\n const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n const newToString = wrappedToString.bind(null, withName, from.toString());\n Object.defineProperty(newToString, \"name\", toStringName);\n Object.defineProperty(to, \"toString\", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString }));\n};\nconst mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {\n const { name } = to;\n for (const property of Reflect.ownKeys(from)) {\n copyProperty(to, from, property, ignoreNonConfigurable);\n }\n changePrototype(to, from);\n changeToString(to, from, name);\n return to;\n};\nvar mimicFn_1 = mimicFn;\nconst debounceFn = (inputFunction, options = {}) => {\n if (typeof inputFunction !== \"function\") {\n throw new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n }\n const {\n wait = 0,\n maxWait = Number.Infinity,\n before = false,\n after = true\n } = options;\n if (!before && !after) {\n throw new Error(\"Both `before` and `after` are false, function wouldn't be called.\");\n }\n let timeout;\n let maxTimeout;\n let result;\n const debouncedFunction = function(...arguments_) {\n const context = this;\n const later = () => {\n timeout = void 0;\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const maxLater = () => {\n maxTimeout = void 0;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (after) {\n result = inputFunction.apply(context, arguments_);\n }\n };\n const shouldCallNow = before && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (maxWait > 0 && maxWait !== Number.Infinity && !maxTimeout) {\n maxTimeout = setTimeout(maxLater, maxWait);\n }\n if (shouldCallNow) {\n result = inputFunction.apply(context, arguments_);\n }\n return result;\n };\n mimicFn_1(debouncedFunction, inputFunction);\n debouncedFunction.cancel = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n if (maxTimeout) {\n clearTimeout(maxTimeout);\n maxTimeout = void 0;\n }\n };\n return debouncedFunction;\n};\nconst e = \"!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", s = e.length, t = Array(20), r = () => {\n for (let r2 = 0; r2 < 20; r2++)\n t[r2] = e.charAt(Math.random() * s);\n return t.join(\"\");\n};\nclass o {\n constructor() {\n this.disposers = new Map();\n }\n add(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2()), s2;\n }\n addDisposer(e2, s2 = r()) {\n return this.flush(s2), this.disposers.set(s2, e2), s2;\n }\n addEventListener(e2, s2, t2, o2, i = r()) {\n return this.add(() => (e2.addEventListener(s2, t2, o2), () => e2.removeEventListener(s2, t2, o2)), i), i;\n }\n setTimeout(e2, s2, t2 = r()) {\n return this.add(() => {\n const r2 = window.setTimeout(() => {\n this.remove(t2), e2();\n }, s2);\n return () => window.clearTimeout(r2);\n }, t2);\n }\n setInterval(e2, s2, t2 = r()) {\n return this.add(() => {\n const t3 = window.setInterval(e2, s2);\n return () => window.clearInterval(t3);\n }, t2);\n }\n remove(e2) {\n const s2 = this.disposers.get(e2);\n return this.disposers.delete(e2), s2;\n }\n flush(e2) {\n const s2 = this.remove(e2);\n if (s2)\n try {\n s2();\n } catch (t2) {\n console.error(t2);\n }\n }\n flushAll() {\n this.disposers.forEach((e2) => {\n try {\n e2();\n } catch (s2) {\n console.error(s2);\n }\n }), this.disposers.clear();\n }\n}\nfunction sidebarSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-sidebar`);\n $svg.setAttribute(\"viewBox\", \"0 0 64 64\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowLeftSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-left`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction arrowRightSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-arrow-right`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction playSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-play`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z\");\n $svg.appendChild($path);\n return $svg;\n}\nfunction pauseSVG(namespace) {\n const NS = \"http://www.w3.org/2000/svg\";\n const $svg = document.createElementNS(NS, \"svg\");\n $svg.setAttribute(\"class\", `${namespace}-footer-icon-pause`);\n $svg.setAttribute(\"viewBox\", \"0 0 500 500\");\n const $path = document.createElementNS(NS, \"path\");\n $path.setAttribute(\"fill\", \"currentColor\");\n $path.setAttribute(\"d\", \"M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z\");\n $svg.appendChild($path);\n return $svg;\n}\nconst runningOnBrowser = typeof window !== \"undefined\";\nconst isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\nconst supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\nconst supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\nconst isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\nconst defaultSettings = {\n elements_selector: \".lazy\",\n container: isBot || runningOnBrowser ? document : null,\n threshold: 300,\n thresholds: null,\n data_src: \"src\",\n data_srcset: \"srcset\",\n data_sizes: \"sizes\",\n data_bg: \"bg\",\n data_bg_hidpi: \"bg-hidpi\",\n data_bg_multi: \"bg-multi\",\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\n data_poster: \"poster\",\n class_applied: \"applied\",\n class_loading: \"loading\",\n class_loaded: \"loaded\",\n class_error: \"error\",\n class_entered: \"entered\",\n class_exited: \"exited\",\n unobserve_completed: true,\n unobserve_entered: false,\n cancel_on_exit: true,\n callback_enter: null,\n callback_exit: null,\n callback_applied: null,\n callback_loading: null,\n callback_loaded: null,\n callback_error: null,\n callback_finish: null,\n callback_cancel: null,\n use_native: false\n};\nconst getExtendedSettings = (customSettings) => {\n return Object.assign({}, defaultSettings, customSettings);\n};\nconst createInstance = function(classObj, options) {\n let event;\n const eventString = \"LazyLoad::Initialized\";\n const instance = new classObj(options);\n try {\n event = new CustomEvent(eventString, { detail: { instance } });\n } catch (err) {\n event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventString, false, false, { instance });\n }\n window.dispatchEvent(event);\n};\nconst autoInitialize = (classObj, options) => {\n if (!options) {\n return;\n }\n if (!options.length) {\n createInstance(classObj, options);\n } else {\n for (let i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n createInstance(classObj, optionsItem);\n }\n }\n};\nconst SRC = \"src\";\nconst SRCSET = \"srcset\";\nconst SIZES = \"sizes\";\nconst POSTER = \"poster\";\nconst ORIGINALS = \"llOriginalAttrs\";\nconst statusLoading = \"loading\";\nconst statusLoaded = \"loaded\";\nconst statusApplied = \"applied\";\nconst statusEntered = \"entered\";\nconst statusError = \"error\";\nconst statusNative = \"native\";\nconst dataPrefix = \"data-\";\nconst statusDataName = \"ll-status\";\nconst getData = (element, attribute) => {\n return element.getAttribute(dataPrefix + attribute);\n};\nconst setData = (element, attribute, value) => {\n var attrName = dataPrefix + attribute;\n if (value === null) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst getStatus = (element) => getData(element, statusDataName);\nconst setStatus = (element, status) => setData(element, statusDataName, status);\nconst resetStatus = (element) => setStatus(element, null);\nconst hasEmptyStatus = (element) => getStatus(element) === null;\nconst hasStatusLoading = (element) => getStatus(element) === statusLoading;\nconst hasStatusError = (element) => getStatus(element) === statusError;\nconst hasStatusNative = (element) => getStatus(element) === statusNative;\nconst statusesAfterLoading = [statusLoading, statusLoaded, statusApplied, statusError];\nconst hadStartedLoading = (element) => statusesAfterLoading.indexOf(getStatus(element)) >= 0;\nconst safeCallback = (callback, arg1, arg2, arg3) => {\n if (!callback) {\n return;\n }\n if (arg3 !== void 0) {\n callback(arg1, arg2, arg3);\n return;\n }\n if (arg2 !== void 0) {\n callback(arg1, arg2);\n return;\n }\n callback(arg1);\n};\nconst addClass = (element, className) => {\n if (supportsClassList) {\n element.classList.add(className);\n return;\n }\n element.className += (element.className ? \" \" : \"\") + className;\n};\nconst removeClass = (element, className) => {\n if (supportsClassList) {\n element.classList.remove(className);\n return;\n }\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n};\nconst addTempImage = (element) => {\n element.llTempImage = document.createElement(\"IMG\");\n};\nconst deleteTempImage = (element) => {\n delete element.llTempImage;\n};\nconst getTempImage = (element) => element.llTempImage;\nconst unobserve = (element, instance) => {\n if (!instance)\n return;\n const observer = instance._observer;\n if (!observer)\n return;\n observer.unobserve(element);\n};\nconst resetObserver = (observer) => {\n observer.disconnect();\n};\nconst unobserveEntered = (element, settings, instance) => {\n if (settings.unobserve_entered)\n unobserve(element, instance);\n};\nconst updateLoadingCount = (instance, delta) => {\n if (!instance)\n return;\n instance.loadingCount += delta;\n};\nconst decreaseToLoadCount = (instance) => {\n if (!instance)\n return;\n instance.toLoadCount -= 1;\n};\nconst setToLoadCount = (instance, value) => {\n if (!instance)\n return;\n instance.toLoadCount = value;\n};\nconst isSomethingLoading = (instance) => instance.loadingCount > 0;\nconst haveElementsToLoad = (instance) => instance.toLoadCount > 0;\nconst getSourceTags = (parentTag) => {\n let sourceTags = [];\n for (let i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n if (childTag.tagName === \"SOURCE\") {\n sourceTags.push(childTag);\n }\n }\n return sourceTags;\n};\nconst forEachPictureSource = (element, fn) => {\n const parent = element.parentNode;\n if (!parent || parent.tagName !== \"PICTURE\") {\n return;\n }\n let sourceTags = getSourceTags(parent);\n sourceTags.forEach(fn);\n};\nconst forEachVideoSource = (element, fn) => {\n let sourceTags = getSourceTags(element);\n sourceTags.forEach(fn);\n};\nconst attrsSrc = [SRC];\nconst attrsSrcPoster = [SRC, POSTER];\nconst attrsSrcSrcsetSizes = [SRC, SRCSET, SIZES];\nconst hasOriginalAttrs = (element) => !!element[ORIGINALS];\nconst getOriginalAttrs = (element) => element[ORIGINALS];\nconst deleteOriginalAttrs = (element) => delete element[ORIGINALS];\nconst setOriginalsObject = (element, attributes) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n const originals = {};\n attributes.forEach((attribute) => {\n originals[attribute] = element.getAttribute(attribute);\n });\n element[ORIGINALS] = originals;\n};\nconst saveOriginalBackgroundStyle = (element) => {\n if (hasOriginalAttrs(element)) {\n return;\n }\n element[ORIGINALS] = { backgroundImage: element.style.backgroundImage };\n};\nconst setOrResetAttribute = (element, attrName, value) => {\n if (!value) {\n element.removeAttribute(attrName);\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst restoreOriginalAttrs = (element, attributes) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n attributes.forEach((attribute) => {\n setOrResetAttribute(element, attribute, originals[attribute]);\n });\n};\nconst restoreOriginalBgImage = (element) => {\n if (!hasOriginalAttrs(element)) {\n return;\n }\n const originals = getOriginalAttrs(element);\n element.style.backgroundImage = originals.backgroundImage;\n};\nconst manageApplied = (element, settings, instance) => {\n addClass(element, settings.class_applied);\n setStatus(element, statusApplied);\n if (!instance)\n return;\n if (settings.unobserve_completed) {\n unobserve(element, settings);\n }\n safeCallback(settings.callback_applied, element, instance);\n};\nconst manageLoading = (element, settings, instance) => {\n addClass(element, settings.class_loading);\n setStatus(element, statusLoading);\n if (!instance)\n return;\n updateLoadingCount(instance, 1);\n safeCallback(settings.callback_loading, element, instance);\n};\nconst setAttributeIfValue = (element, attrName, value) => {\n if (!value) {\n return;\n }\n element.setAttribute(attrName, value);\n};\nconst setImageAttributes = (element, settings) => {\n setAttributeIfValue(element, SIZES, getData(element, settings.data_sizes));\n setAttributeIfValue(element, SRCSET, getData(element, settings.data_srcset));\n setAttributeIfValue(element, SRC, getData(element, settings.data_src));\n};\nconst setSourcesImg = (imgEl, settings) => {\n forEachPictureSource(imgEl, (sourceTag) => {\n setOriginalsObject(sourceTag, attrsSrcSrcsetSizes);\n setImageAttributes(sourceTag, settings);\n });\n setOriginalsObject(imgEl, attrsSrcSrcsetSizes);\n setImageAttributes(imgEl, settings);\n};\nconst setSourcesIframe = (iframe, settings) => {\n setOriginalsObject(iframe, attrsSrc);\n setAttributeIfValue(iframe, SRC, getData(iframe, settings.data_src));\n};\nconst setSourcesVideo = (videoEl, settings) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n setOriginalsObject(sourceEl, attrsSrc);\n setAttributeIfValue(sourceEl, SRC, getData(sourceEl, settings.data_src));\n });\n setOriginalsObject(videoEl, attrsSrcPoster);\n setAttributeIfValue(videoEl, POSTER, getData(videoEl, settings.data_poster));\n setAttributeIfValue(videoEl, SRC, getData(videoEl, settings.data_src));\n videoEl.load();\n};\nconst setBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg);\n const bgHiDpiValue = getData(element, settings.data_bg_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue)\n return;\n element.style.backgroundImage = `url(\"${bgDataValue}\")`;\n getTempImage(element).setAttribute(SRC, bgDataValue);\n manageLoading(element, settings, instance);\n};\nconst setMultiBackground = (element, settings, instance) => {\n const bg1xValue = getData(element, settings.data_bg_multi);\n const bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\n const bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\n if (!bgDataValue) {\n return;\n }\n element.style.backgroundImage = bgDataValue;\n manageApplied(element, settings, instance);\n};\nconst setSourcesFunctions = {\n IMG: setSourcesImg,\n IFRAME: setSourcesIframe,\n VIDEO: setSourcesVideo\n};\nconst setSourcesNative = (element, settings) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n};\nconst setSources = (element, settings, instance) => {\n const setSourcesFunction = setSourcesFunctions[element.tagName];\n if (!setSourcesFunction) {\n return;\n }\n setSourcesFunction(element, settings);\n manageLoading(element, settings, instance);\n};\nconst elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst hasLoadEvent = (element) => elementsWithLoadEvent.indexOf(element.tagName) > -1;\nconst checkFinish = (settings, instance) => {\n if (instance && !isSomethingLoading(instance) && !haveElementsToLoad(instance)) {\n safeCallback(settings.callback_finish, instance);\n }\n};\nconst addEventListener = (element, eventName, handler) => {\n element.addEventListener(eventName, handler);\n element.llEvLisnrs[eventName] = handler;\n};\nconst removeEventListener = (element, eventName, handler) => {\n element.removeEventListener(eventName, handler);\n};\nconst hasEventListeners = (element) => {\n return !!element.llEvLisnrs;\n};\nconst addEventListeners = (element, loadHandler2, errorHandler2) => {\n if (!hasEventListeners(element))\n element.llEvLisnrs = {};\n const loadEventName = element.tagName === \"VIDEO\" ? \"loadeddata\" : \"load\";\n addEventListener(element, loadEventName, loadHandler2);\n addEventListener(element, \"error\", errorHandler2);\n};\nconst removeEventListeners = (element) => {\n if (!hasEventListeners(element)) {\n return;\n }\n const eventListeners = element.llEvLisnrs;\n for (let eventName in eventListeners) {\n const handler = eventListeners[eventName];\n removeEventListener(element, eventName, handler);\n }\n delete element.llEvLisnrs;\n};\nconst doneHandler = (element, settings, instance) => {\n deleteTempImage(element);\n updateLoadingCount(instance, -1);\n decreaseToLoadCount(instance);\n removeClass(element, settings.class_loading);\n if (settings.unobserve_completed) {\n unobserve(element, instance);\n }\n};\nconst loadHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_loaded);\n setStatus(element, statusLoaded);\n safeCallback(settings.callback_loaded, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst errorHandler = (event, element, settings, instance) => {\n const goingNative = hasStatusNative(element);\n doneHandler(element, settings, instance);\n addClass(element, settings.class_error);\n setStatus(element, statusError);\n safeCallback(settings.callback_error, element, instance);\n if (!goingNative)\n checkFinish(settings, instance);\n};\nconst addOneShotEventListeners = (element, settings, instance) => {\n const elementToListenTo = getTempImage(element) || element;\n if (hasEventListeners(elementToListenTo)) {\n return;\n }\n const _loadHandler = (event) => {\n loadHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n const _errorHandler = (event) => {\n errorHandler(event, element, settings, instance);\n removeEventListeners(elementToListenTo);\n };\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\n};\nconst loadBackground = (element, settings, instance) => {\n addTempImage(element);\n addOneShotEventListeners(element, settings, instance);\n saveOriginalBackgroundStyle(element);\n setBackground(element, settings, instance);\n setMultiBackground(element, settings, instance);\n};\nconst loadRegular = (element, settings, instance) => {\n addOneShotEventListeners(element, settings, instance);\n setSources(element, settings, instance);\n};\nconst load = (element, settings, instance) => {\n if (hasLoadEvent(element)) {\n loadRegular(element, settings, instance);\n } else {\n loadBackground(element, settings, instance);\n }\n};\nconst loadNative = (element, settings, instance) => {\n element.setAttribute(\"loading\", \"lazy\");\n addOneShotEventListeners(element, settings, instance);\n setSourcesNative(element, settings);\n setStatus(element, statusNative);\n};\nconst removeImageAttributes = (element) => {\n element.removeAttribute(SRC);\n element.removeAttribute(SRCSET);\n element.removeAttribute(SIZES);\n};\nconst resetSourcesImg = (element) => {\n forEachPictureSource(element, (sourceTag) => {\n removeImageAttributes(sourceTag);\n });\n removeImageAttributes(element);\n};\nconst restoreImg = (imgEl) => {\n forEachPictureSource(imgEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrcSrcsetSizes);\n });\n restoreOriginalAttrs(imgEl, attrsSrcSrcsetSizes);\n};\nconst restoreVideo = (videoEl) => {\n forEachVideoSource(videoEl, (sourceEl) => {\n restoreOriginalAttrs(sourceEl, attrsSrc);\n });\n restoreOriginalAttrs(videoEl, attrsSrcPoster);\n videoEl.load();\n};\nconst restoreIframe = (iframeEl) => {\n restoreOriginalAttrs(iframeEl, attrsSrc);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo\n};\nconst restoreAttributes = (element) => {\n const restoreFunction = restoreFunctions[element.tagName];\n if (!restoreFunction) {\n restoreOriginalBgImage(element);\n return;\n }\n restoreFunction(element);\n};\nconst resetClasses = (element, settings) => {\n if (hasEmptyStatus(element) || hasStatusNative(element)) {\n return;\n }\n removeClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n removeClass(element, settings.class_applied);\n removeClass(element, settings.class_loading);\n removeClass(element, settings.class_loaded);\n removeClass(element, settings.class_error);\n};\nconst restore = (element, settings) => {\n restoreAttributes(element);\n resetClasses(element, settings);\n resetStatus(element);\n deleteOriginalAttrs(element);\n};\nconst cancelLoading = (element, entry, settings, instance) => {\n if (!settings.cancel_on_exit)\n return;\n if (!hasStatusLoading(element))\n return;\n if (element.tagName !== \"IMG\")\n return;\n removeEventListeners(element);\n resetSourcesImg(element);\n restoreImg(element);\n removeClass(element, settings.class_loading);\n updateLoadingCount(instance, -1);\n resetStatus(element);\n safeCallback(settings.callback_cancel, element, entry, instance);\n};\nconst onEnter = (element, entry, settings, instance) => {\n const dontLoad = hadStartedLoading(element);\n setStatus(element, statusEntered);\n addClass(element, settings.class_entered);\n removeClass(element, settings.class_exited);\n unobserveEntered(element, settings, instance);\n safeCallback(settings.callback_enter, element, entry, instance);\n if (dontLoad)\n return;\n load(element, settings, instance);\n};\nconst onExit = (element, entry, settings, instance) => {\n if (hasEmptyStatus(element))\n return;\n addClass(element, settings.class_exited);\n cancelLoading(element, entry, settings, instance);\n safeCallback(settings.callback_exit, element, entry, instance);\n};\nconst tagsWithNativeLazy = [\"IMG\", \"IFRAME\", \"VIDEO\"];\nconst shouldUseNative = (settings) => settings.use_native && \"loading\" in HTMLImageElement.prototype;\nconst loadAllNative = (elements, settings, instance) => {\n elements.forEach((element) => {\n if (tagsWithNativeLazy.indexOf(element.tagName) === -1) {\n return;\n }\n loadNative(element, settings, instance);\n });\n setToLoadCount(instance, 0);\n};\nconst isIntersecting = (entry) => entry.isIntersecting || entry.intersectionRatio > 0;\nconst getObserverSettings = (settings) => ({\n root: settings.container === document ? null : settings.container,\n rootMargin: settings.thresholds || settings.threshold + \"px\"\n});\nconst intersectionHandler = (entries, settings, instance) => {\n entries.forEach((entry) => isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));\n};\nconst observeElements = (observer, elements) => {\n elements.forEach((element) => {\n observer.observe(element);\n });\n};\nconst updateObserver = (observer, elementsToObserve) => {\n resetObserver(observer);\n observeElements(observer, elementsToObserve);\n};\nconst setObserver = (settings, instance) => {\n if (!supportsIntersectionObserver || shouldUseNative(settings)) {\n return;\n }\n instance._observer = new IntersectionObserver((entries) => {\n intersectionHandler(entries, settings, instance);\n }, getObserverSettings(settings));\n};\nconst toArray = (nodeSet) => Array.prototype.slice.call(nodeSet);\nconst queryElements = (settings) => settings.container.querySelectorAll(settings.elements_selector);\nconst excludeManagedElements = (elements) => toArray(elements).filter(hasEmptyStatus);\nconst hasError = (element) => hasStatusError(element);\nconst filterErrorElements = (elements) => toArray(elements).filter(hasError);\nconst getElementsToLoad = (elements, settings) => excludeManagedElements(elements || queryElements(settings));\nconst retryLazyLoad = (settings, instance) => {\n const errorElements = filterErrorElements(queryElements(settings));\n errorElements.forEach((element) => {\n removeClass(element, settings.class_error);\n resetStatus(element);\n });\n instance.update();\n};\nconst setOnlineCheck = (settings, instance) => {\n if (!runningOnBrowser) {\n return;\n }\n window.addEventListener(\"online\", () => {\n retryLazyLoad(settings, instance);\n });\n};\nconst LazyLoad = function(customSettings, elements) {\n const settings = getExtendedSettings(customSettings);\n this._settings = settings;\n this.loadingCount = 0;\n setObserver(settings, this);\n setOnlineCheck(settings, this);\n this.update(elements);\n};\nLazyLoad.prototype = {\n update: function(givenNodeset) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(givenNodeset, settings);\n setToLoadCount(this, elementsToLoad.length);\n if (isBot || !supportsIntersectionObserver) {\n this.loadAll(elementsToLoad);\n return;\n }\n if (shouldUseNative(settings)) {\n loadAllNative(elementsToLoad, settings, this);\n return;\n }\n updateObserver(this._observer, elementsToLoad);\n },\n destroy: function() {\n if (this._observer) {\n this._observer.disconnect();\n }\n queryElements(this._settings).forEach((element) => {\n deleteOriginalAttrs(element);\n });\n delete this._observer;\n delete this._settings;\n delete this.loadingCount;\n delete this.toLoadCount;\n },\n loadAll: function(elements) {\n const settings = this._settings;\n const elementsToLoad = getElementsToLoad(elements, settings);\n elementsToLoad.forEach((element) => {\n unobserve(element, this);\n load(element, settings, this);\n });\n },\n restoreAll: function() {\n const settings = this._settings;\n queryElements(settings).forEach((element) => {\n restore(element, settings);\n });\n }\n};\nLazyLoad.load = (element, customSettings) => {\n const settings = getExtendedSettings(customSettings);\n load(element, settings);\n};\nLazyLoad.resetStatus = (element) => {\n resetStatus(element);\n};\nif (runningOnBrowser) {\n autoInitialize(LazyLoad, window.lazyLoadOptions);\n}\nclass DocsViewer {\n constructor({ readonly, box, pages, onNewPageIndex, onPlay }) {\n this.pageIndex = 0;\n this.namespace = \"netless-app-docs-viewer\";\n this.isShowPreview = false;\n this.isSmallBox = false;\n this.sideEffect = new o();\n if (pages.length <= 0) {\n throw new Error(\"[DocsViewer] Empty pages.\");\n }\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.onNewPageIndex = onNewPageIndex;\n this.onPlay = onPlay;\n this.render();\n }\n mount() {\n this.box.mountContent(this.$content);\n this.box.mountFooter(this.$footer);\n this.sideEffect.add(() => {\n const previewLazyLoad = new LazyLoad({\n container: this.$preview,\n elements_selector: `.${this.wrapClassName(\"preview-page>img\")}`\n });\n return () => previewLazyLoad.destroy();\n }, \"preview-lazyload\");\n }\n unmount() {\n this.$content.remove();\n this.$footer.remove();\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.$content.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$footer.classList.toggle(this.wrapClassName(\"readonly\"), readonly);\n this.$pageNumberInput.disabled = readonly;\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n }\n setPageIndex(pageIndex) {\n if (!Number.isNaN(pageIndex)) {\n this.pageIndex = pageIndex;\n this.$pageNumberInput.value = String(pageIndex + 1);\n }\n }\n setSmallBox(isSmallBox) {\n if (this.isSmallBox !== isSmallBox) {\n this.isSmallBox = isSmallBox;\n this.$footer.classList.toggle(this.wrapClassName(\"float-footer\"), isSmallBox);\n }\n }\n render() {\n this.renderContent();\n this.renderFooter();\n return this.$content;\n }\n renderContent() {\n if (!this.$content) {\n const $content = document.createElement(\"div\");\n $content.className = this.wrapClassName(\"content\");\n this.$content = $content;\n if (this.readonly) {\n $content.classList.add(this.wrapClassName(\"readonly\"));\n }\n $content.appendChild(this.renderPreviewMask());\n $content.appendChild(this.renderPreview());\n }\n return this.$content;\n }\n renderPreview() {\n if (!this.$preview) {\n const $preview = document.createElement(\"div\");\n $preview.className = this.wrapClassName(\"preview\") + \" tele-fancy-scrollbar\";\n this.$preview = $preview;\n const pageClassName = this.wrapClassName(\"preview-page\");\n const pageNameClassName = this.wrapClassName(\"preview-page-name\");\n this.pages.forEach((page, i) => {\n var _a;\n const previewSRC = (_a = page.thumbnail) != null ? _a : page.src.startsWith(\"ppt\") ? void 0 : page.src;\n if (!previewSRC) {\n return;\n }\n const pageIndex = String(i);\n const $page = document.createElement(\"a\");\n $page.className = pageClassName + \" \" + this.wrapClassName(`preview-page-${i}`);\n $page.setAttribute(\"href\", \"#\");\n $page.dataset.pageIndex = pageIndex;\n const $name = document.createElement(\"span\");\n $name.className = pageNameClassName;\n $name.textContent = String(i + 1);\n $name.dataset.pageIndex = pageIndex;\n const $img = document.createElement(\"img\");\n $img.width = page.width;\n $img.height = page.height;\n $img.dataset.src = previewSRC;\n $img.dataset.pageIndex = pageIndex;\n $page.appendChild($img);\n $page.appendChild($name);\n $preview.appendChild($page);\n });\n this.sideEffect.addEventListener($preview, \"click\", (ev) => {\n var _a;\n if (this.readonly) {\n return;\n }\n const pageIndex = (_a = ev.target.dataset) == null ? void 0 : _a.pageIndex;\n if (pageIndex) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n this.onNewPageIndex(Number(pageIndex));\n this.togglePreview(false);\n }\n });\n }\n return this.$preview;\n }\n renderPreviewMask() {\n if (!this.$previewMask) {\n this.$previewMask = document.createElement(\"div\");\n this.$previewMask.className = this.wrapClassName(\"preview-mask\");\n this.sideEffect.addEventListener(this.$previewMask, \"click\", (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.target === this.$previewMask) {\n this.togglePreview(false);\n }\n });\n }\n return this.$previewMask;\n }\n renderFooter() {\n if (!this.$footer) {\n const $footer = document.createElement(\"div\");\n $footer.className = this.wrapClassName(\"footer\");\n this.$footer = $footer;\n if (this.readonly) {\n $footer.classList.add(this.wrapClassName(\"readonly\"));\n }\n if (this.isSmallBox) {\n $footer.classList.add(this.wrapClassName(\"float-footer\"));\n }\n if (this.pages.some((page) => page.thumbnail || !page.src.startsWith(\"ppt\"))) {\n const $btnSidebar = this.renderFooterBtn(\"btn-sidebar\", sidebarSVG(this.namespace));\n this.sideEffect.addEventListener($btnSidebar, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.togglePreview();\n });\n this.$footer.appendChild($btnSidebar);\n }\n const $pageJumps = document.createElement(\"div\");\n $pageJumps.className = this.wrapClassName(\"page-jumps\");\n const $btnPageBack = this.renderFooterBtn(\"btn-page-back\", arrowLeftSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageBack, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex - 1);\n });\n $pageJumps.appendChild($btnPageBack);\n if (this.onPlay) {\n const $btnPlay = this.renderFooterBtn(\"btn-page-play\", playSVG(this.namespace), pauseSVG(this.namespace));\n const returnPlay = () => {\n this.sideEffect.setTimeout(() => {\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), false);\n }, 500, \"returnPlay\");\n };\n this.sideEffect.addEventListener($btnPlay, \"click\", () => {\n if (this.readonly) {\n return;\n }\n $btnPlay.classList.toggle(this.wrapClassName(\"footer-btn-playing\"), true);\n if (this.onPlay) {\n this.onPlay();\n }\n returnPlay();\n });\n $pageJumps.appendChild($btnPlay);\n }\n const $btnPageNext = this.renderFooterBtn(\"btn-page-next\", arrowRightSVG(this.namespace));\n this.sideEffect.addEventListener($btnPageNext, \"click\", () => {\n if (this.readonly) {\n return;\n }\n this.onNewPageIndex(this.pageIndex + 1);\n });\n $pageJumps.appendChild($btnPageNext);\n const $pageNumber = document.createElement(\"div\");\n $pageNumber.className = this.wrapClassName(\"page-number\");\n const $pageNumberInput = document.createElement(\"input\");\n $pageNumberInput.className = this.wrapClassName(\"page-number-input\");\n $pageNumberInput.value = String(this.pageIndex + 1);\n if (this.readonly) {\n $pageNumberInput.disabled = true;\n }\n this.$pageNumberInput = $pageNumberInput;\n this.sideEffect.addEventListener($pageNumberInput, \"focus\", () => {\n $pageNumberInput.select();\n });\n this.sideEffect.addEventListener($pageNumberInput, \"change\", () => {\n if (this.readonly) {\n return;\n }\n if ($pageNumberInput.value) {\n this.onNewPageIndex(Number($pageNumberInput.value) - 1);\n }\n });\n const $totalPage = document.createElement(\"span\");\n $totalPage.textContent = \" / \" + this.pages.length;\n $pageNumber.appendChild($pageNumberInput);\n $pageNumber.appendChild($totalPage);\n this.$footer.appendChild($pageJumps);\n this.$footer.appendChild($pageNumber);\n }\n return this.$footer;\n }\n renderFooterBtn(className, $icon, $iconActive) {\n const $btn = document.createElement(\"button\");\n $btn.className = this.wrapClassName(\"footer-btn\") + \" \" + this.wrapClassName(className);\n $btn.appendChild($icon);\n if ($iconActive) {\n $btn.appendChild($iconActive);\n }\n return $btn;\n }\n togglePreview(isShowPreview) {\n this.isShowPreview = isShowPreview != null ? isShowPreview : !this.isShowPreview;\n this.$content.classList.toggle(this.wrapClassName(\"preview-active\"), this.isShowPreview);\n if (this.isShowPreview) {\n const $previewPage = this.$preview.querySelector(\".\" + this.wrapClassName(`preview-page-${this.pageIndex}`));\n if ($previewPage) {\n this.$preview.scrollTo({\n top: $previewPage.offsetTop - 16\n });\n }\n }\n }\n wrapClassName(className) {\n return `${this.namespace}-${className}`;\n }\n}\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nfunction flattenEvent(ev) {\n return ev.touches ? ev.touches[0] : ev;\n}\nfunction preventEvent(ev) {\n ev.stopPropagation();\n if (ev.cancelable) {\n ev.preventDefault();\n }\n}\nclass Stepper {\n constructor(config) {\n var _a, _b, _c;\n this.velocity = 0;\n this.paused = true;\n this._animationFrameID = null;\n this._loopTimestamp = 0;\n this.looper = (timestamp) => {\n if (this.paused) {\n return;\n }\n let frames = Math.floor((timestamp - this._loopTimestamp) / 1e3 * 60) + 1;\n this._loopTimestamp = timestamp;\n while (frames-- > 0) {\n this.stepper();\n }\n this.onStep(this.current, this);\n if (!this.paused && this.current !== this.target) {\n window.requestAnimationFrame(this.looper);\n }\n };\n this.current = (_a = config.start) != null ? _a : 0;\n this.target = this.current;\n this.stiffness = (_b = config.stiffness) != null ? _b : 170;\n this.damping = (_c = config.damping) != null ? _c : 26;\n this.onStep = config.onStep;\n }\n stepTo(target, start) {\n if (this.paused && start != null) {\n this.current = start;\n }\n this.paused = false;\n this.target = target;\n this.onStep(this.current, this);\n this._loopTimestamp = Date.now();\n window.requestAnimationFrame(this.looper);\n }\n pause() {\n this.paused = true;\n }\n destroy() {\n this.pause();\n }\n stepper() {\n const fSpring = -this.stiffness * (this.current - this.target);\n const fDamper = -this.damping * this.velocity;\n const newVelocity = this.velocity + (fSpring + fDamper) / 60;\n const newCurrent = this.current + newVelocity / 60;\n if (Math.abs(newVelocity - 0) < 0.01 && Math.abs(newCurrent - this.target) < 0.01) {\n this.current = this.target;\n this.velocity = 0;\n } else {\n this.current = newCurrent;\n this.velocity = newVelocity;\n }\n }\n}\nclass PageEl {\n constructor(index, page, scale) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n const $page = document.createElement(\"div\");\n $page.className = \"page-renderer-page\";\n $page.dataset.index = `${index}`;\n $page.style.width = `${page.width * scale}px`;\n $page.style.height = `${page.height * scale}px`;\n if (page.thumbnail) {\n $page.style.backgroundImage = `url(\"${page.thumbnail}\")`;\n }\n const $img = document.createElement(\"img\");\n $img.className = \"page-renderer-page-img\";\n $img.width = page.width;\n $img.height = page.height;\n $img.src = page.src;\n $page.appendChild($img);\n this.$page = $page;\n }\n translateY(pageOffsetY) {\n if (Math.abs(pageOffsetY - this.pageOffsetY) >= 1e-3) {\n this.pageOffsetY = pageOffsetY;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setScale(scale) {\n if (Math.abs(scale - this.scale) >= 1e-3) {\n this.scale = scale;\n this.$page.style.width = `${this.page.width * this.scale}px`;\n this.$page.style.height = `${this.page.height * this.scale}px`;\n this.$page.style.transform = `translateY(${this.pageOffsetY * this.scale}px)`;\n }\n }\n setVisible(visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n this.$page.style.opacity = visible ? \"1\" : \"0\";\n }\n }\n}\nconst schedule = window.requestIdleCallback || ((handler) => window.setTimeout(handler, 5e3));\nconst cancelSchedule = window.cancelIdleCallback || window.clearTimeout;\nclass PageElManager {\n constructor(pages, scale) {\n this.pages = pages;\n this.scale = scale;\n this.els = new Map();\n this.maxElCount = 200;\n this.gcTimer = null;\n this.gc = () => {\n this.gcTimer = null;\n if (this.els.size > this.maxElCount) {\n const sortedEls = [...this.els.values()].sort((x, y) => y.lastVisit - x.lastVisit);\n for (let i = Math.floor(this.maxElCount / 4); i < sortedEls.length; i++) {\n this.els.delete(sortedEls[i].index);\n }\n }\n };\n }\n getEl(index) {\n let el = this.els.get(index);\n if (!el) {\n el = new PageEl(index, this.pages[index], this.scale);\n this.els.set(index, el);\n }\n el.lastVisit = Date.now();\n if (this.els.size > this.maxElCount && this.gcTimer === null) {\n this.gcTimer = schedule(this.gc);\n }\n return el;\n }\n setScale(scale) {\n if (scale !== this.scale) {\n this.scale = scale;\n this.els.forEach((pageEl) => pageEl.setScale(scale));\n }\n }\n destroy() {\n this.els.clear();\n if (this.gcTimer !== null) {\n cancelSchedule(this.gcTimer);\n this.gcTimer = null;\n }\n }\n}\nclass PageRenderer {\n constructor(config) {\n this._hwaTimeout = NaN;\n this._turnOffHWA = () => {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n this.$pages.classList.toggle(\"is-hwa\", false);\n };\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pages = config.pages.map((page) => {\n if (page.thumbnail) {\n return page;\n }\n try {\n const url = new URL(page.src);\n url.searchParams.set(\"x-oss-process\", \"image/resize,l_50\");\n return __spreadProps(__spreadValues({}, page), { thumbnail: url.toString() });\n } catch (e2) {\n console.error(e2);\n return page;\n }\n });\n const pagesIntrinsicYs = Array(this.pages.length);\n let pagesMinHeight = Infinity;\n let pagesIntrinsicWidth = 0;\n this.pagesIntrinsicHeight = this.pages.reduce((pageY, page, i) => {\n pagesIntrinsicYs[i] = pageY;\n if (page.width > pagesIntrinsicWidth) {\n pagesIntrinsicWidth = page.width;\n }\n if (page.height <= pagesMinHeight) {\n pagesMinHeight = page.height;\n }\n return pageY + page.height;\n }, 0);\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.pagesMinHeight = pagesMinHeight;\n this.pagesIntrinsicYs = pagesIntrinsicYs;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.onPageIndexChanged = config.onPageIndexChanged;\n this.pageScrollIndex = 0;\n if (this.pagesScrollTop !== 0) {\n this.pageScrollIndex = this.findScrollPageIndex();\n if (this.onPageIndexChanged && this.pageScrollIndex > 0) {\n this.onPageIndexChanged(this.pageScrollIndex);\n }\n }\n this.pageElManager = new PageElManager(this.pages, this.scale);\n this.$pages = this.renderPages();\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.$pages.style.width = `${this.containerWidth}px`;\n this.$pages.style.height = `${this.containerHeight}px`;\n this.scale = this._calcScale();\n this.threshold = this._calcThreshold();\n this.pageElManager.setScale(this.scale);\n if (this.$pages.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n renderPages() {\n const $pages = document.createElement(\"div\");\n $pages.className = \"page-renderer-pages-container\";\n $pages.style.width = `${this.containerWidth}px`;\n $pages.style.height = `${this.containerHeight}px`;\n return $pages;\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesIntrinsicHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this._turnOnHWA();\n this.pagesScrollTop = pagesScrollTop;\n const pageScrollIndex = this.findScrollPageIndex();\n const startIndex = Math.max(pageScrollIndex - this.threshold, 0);\n const endIndex = Math.min(pageScrollIndex + this.threshold, this.pages.length - 1);\n for (let i = 0; i < this.$pages.children.length; i++) {\n const $page = this.$pages.children[i];\n const index = Number($page.dataset.index);\n if (!(index >= startIndex && index <= endIndex)) {\n $page.remove();\n i--;\n }\n }\n for (let i = startIndex; i <= endIndex; i++) {\n const pageEl = this.pageElManager.getEl(i);\n if (pageEl.$page.parentElement !== this.$pages) {\n this.$pages.appendChild(pageEl.$page);\n }\n pageEl.translateY(this.pagesIntrinsicYs[i] - this.pagesScrollTop);\n }\n if (pageScrollIndex !== this.pageScrollIndex) {\n this.pageScrollIndex = pageScrollIndex;\n if (this.onPageIndexChanged) {\n this.onPageIndexChanged(pageScrollIndex);\n }\n }\n }\n }\n findScrollPageIndex() {\n for (let i = 0; i < this.pagesIntrinsicYs.length; i++) {\n if (this.pagesIntrinsicYs[i] + this.pages[i].height - this.pagesScrollTop >= 1e-3) {\n return i;\n }\n }\n return this.pagesIntrinsicYs.length - 1;\n }\n mount($parent) {\n $parent.appendChild(this.$pages);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$pages.remove();\n }\n destroy() {\n this.unmount();\n this.onPageIndexChanged = void 0;\n this.pageElManager.destroy();\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n this._hwaTimeout = NaN;\n }\n }\n _calcScale() {\n return this.containerWidth / this.pagesIntrinsicWidth || 1;\n }\n _calcThreshold() {\n return clamp(Math.ceil(this.containerHeight / this.scale / this.pagesMinHeight / 2), 1, this.pages.length);\n }\n _turnOnHWA() {\n if (this._hwaTimeout) {\n window.clearTimeout(this._hwaTimeout);\n } else {\n this.$pages.classList.toggle(\"is-hwa\", true);\n }\n this._hwaTimeout = window.setTimeout(this._turnOffHWA, 1e3);\n }\n}\nconst SCROLLBAR_DEFAULT_MIN_HEIGHT = 30;\nclass ScrollBar {\n constructor(config) {\n this.sideEffect = new o();\n this.pagesScrollTop = config.pagesScrollTop || 0;\n this.containerWidth = config.containerWidth || 1;\n this.containerHeight = config.containerHeight || 1;\n this.pagesWidth = config.pagesWidth || 1;\n this.pagesHeight = config.pagesHeight || 1;\n this.scale = this._calcScale();\n this.scrollbarMinHeight = config.scrollbarMinHeight || SCROLLBAR_DEFAULT_MIN_HEIGHT;\n this.scrollbarHeight = this._calcScrollbarHeight();\n this.readonly = config.readonly;\n this.wrapClassName = config.wrapClassName;\n this.onDragScroll = config.onDragScroll;\n this.$scrollbar = this.renderScrollbar();\n }\n mount($parent) {\n $parent.appendChild(this.$scrollbar);\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n unmount() {\n this.$scrollbar.remove();\n }\n setReadonly(readonly) {\n this.readonly = readonly;\n }\n setContainerSize(width, height) {\n if (width > 0 && height > 0) {\n if (width !== this.containerWidth || height !== this.containerHeight) {\n this.containerWidth = width;\n this.containerHeight = height;\n this.scale = this._calcScale();\n this._updateScrollbarHeight();\n if (this.$scrollbar.parentElement) {\n this.pagesScrollTo(this.pagesScrollTop, true);\n }\n }\n }\n }\n pagesScrollTo(pagesScrollTop, force) {\n pagesScrollTop = clamp(pagesScrollTop, 0, this.pagesHeight - this.containerHeight / this.scale);\n if (force || Math.abs(pagesScrollTop - this.pagesScrollTop) >= 1e-3) {\n this.pagesScrollTop = pagesScrollTop;\n const elScrollTop = this.pagesScrollTop * this.scale;\n const elPagesHeight = this.pagesHeight * this.scale;\n const translateY = elScrollTop / (elPagesHeight - this.containerHeight) * (this.containerHeight - this.scrollbarHeight);\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n });\n } else {\n this.$scrollbar.style.transform = `translateY(${translateY}px)`;\n }\n }\n }\n destroy() {\n this.unmount();\n this.onDragScroll = void 0;\n this.sideEffect.flushAll();\n }\n renderScrollbar() {\n const $scrollbar = document.createElement(\"button\");\n $scrollbar.className = this.wrapClassName(\"scrollbar\");\n $scrollbar.style.minHeight = `${this.scrollbarMinHeight}px`;\n $scrollbar.style.height = `${this.scrollbarHeight}px`;\n const trackStart = (ev) => {\n if (this.readonly) {\n return;\n }\n if (ev.button != null && ev.button !== 0) {\n return;\n }\n preventEvent(ev);\n const draggingClassName = this.wrapClassName(\"scrollbar-dragging\");\n $scrollbar.classList.toggle(draggingClassName, true);\n const startTop = this.pagesScrollTop;\n const { clientY: startY } = flattenEvent(ev);\n const tracking = (ev2) => {\n if (this.readonly) {\n return;\n }\n const { clientY } = flattenEvent(ev2);\n const offsetY = (clientY - startY) / this.scale;\n if (Math.abs(offsetY) > 0 && this.onDragScroll) {\n this.onDragScroll(startTop + offsetY * (this.pagesHeight * this.scale / this.containerHeight));\n }\n };\n const trackEnd = () => {\n $scrollbar.classList.toggle(draggingClassName, false);\n window.removeEventListener(\"mousemove\", tracking, true);\n window.removeEventListener(\"touchmove\", tracking, true);\n window.removeEventListener(\"mouseup\", trackEnd, true);\n window.removeEventListener(\"touchend\", trackEnd, true);\n window.removeEventListener(\"touchcancel\", trackEnd, true);\n };\n window.addEventListener(\"mousemove\", tracking, true);\n window.addEventListener(\"touchmove\", tracking, true);\n window.addEventListener(\"mouseup\", trackEnd, true);\n window.addEventListener(\"touchend\", trackEnd, true);\n window.addEventListener(\"touchcancel\", trackEnd, true);\n };\n this.sideEffect.addEventListener($scrollbar, \"mousedown\", trackStart);\n this.sideEffect.addEventListener($scrollbar, \"touchstart\", trackStart);\n return $scrollbar;\n }\n _calcScale() {\n return this.containerWidth / this.pagesWidth || 1;\n }\n _calcScrollbarHeight() {\n return clamp(this.containerHeight / (this.pagesHeight * this.scale) * this.containerHeight, this.scrollbarMinHeight, this.containerHeight);\n }\n _updateScrollbarHeight() {\n const newHeight = this._calcScrollbarHeight();\n if (Math.abs(newHeight - this.scrollbarHeight) > 1e-3) {\n this.scrollbarHeight = newHeight;\n this.$scrollbar.style.height = `${newHeight}px`;\n }\n }\n}\nconst RATIO_BASE_CONTAINER_HEIGHT = 640;\nclass StaticDocsViewer {\n constructor({\n whiteboardView,\n readonly,\n box,\n pages,\n pageScrollTop = 0,\n mountWhiteboard,\n onUserScroll\n }) {\n this.sideEffect = new o();\n this.userScrolling = false;\n this.onNewPageIndex = (index) => {\n this.scrollToPage(index);\n };\n this.whiteboardView = whiteboardView;\n this.readonly = readonly;\n this.box = box;\n this.pages = pages;\n this.mountWhiteboard = mountWhiteboard;\n this._onUserScroll = onUserScroll;\n const debouncedOnUserScroll = this.debounce(() => {\n this.userScrolling = false;\n if (this._onUserScroll) {\n this._onUserScroll(this.pageRenderer.pagesScrollTop);\n }\n }, { wait: 80 }, \"debounce-updateUserScroll\");\n this.updateUserScroll = () => {\n this.userScrolling = true;\n debouncedOnUserScroll();\n };\n this.viewer = new DocsViewer({\n readonly,\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex\n });\n const { width: containerWidth, height: containerHeight } = this.whiteboardView.size;\n this.pageRenderer = new PageRenderer({\n pagesScrollTop: pageScrollTop,\n pages: this.pages,\n containerWidth,\n containerHeight,\n onPageIndexChanged: this.viewer.setPageIndex.bind(this.viewer)\n });\n this.scrollbar = new ScrollBar({\n pagesScrollTop: this.pageRenderer.pagesScrollTop,\n containerWidth,\n containerHeight,\n pagesWidth: this.pageRenderer.pagesIntrinsicWidth,\n pagesHeight: this.pageRenderer.pagesIntrinsicHeight,\n readonly: this.readonly,\n wrapClassName: this.wrapClassName.bind(this),\n onDragScroll: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n this.updateUserScroll();\n }\n });\n this.pageScrollStepper = new Stepper({\n start: this.pageRenderer.pagesScrollTop,\n onStep: (pageScrollTop2) => {\n this.pageScrollTo(pageScrollTop2);\n }\n });\n this.render();\n }\n mount() {\n this.viewer.mount();\n this.setupScrollListener();\n this.sideEffect.add(() => {\n const handler = this.renderRatioHeight.bind(this);\n this.box.events.on(\"visual_resize\", handler);\n return () => this.box.events.off(\"visual_resize\", handler);\n });\n this.sideEffect.setTimeout(() => {\n if (!this.userScrolling) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop);\n }\n }, 100);\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n setReadonly(readonly) {\n if (this.readonly !== readonly) {\n this.readonly = readonly;\n this.viewer.setReadonly(readonly);\n this.scrollbar.setReadonly(readonly);\n }\n }\n destroy() {\n this.sideEffect.flushAll();\n this.pageScrollStepper.destroy();\n this._onUserScroll = void 0;\n this.unmount();\n this.viewer.destroy();\n this.pageRenderer.destroy();\n this.scrollbar.destroy();\n }\n syncPageScrollTop(pageScrollTop) {\n if (!this.userScrolling && pageScrollTop >= 0 && Math.abs(this.pageRenderer.pagesScrollTop - pageScrollTop) > 0.01) {\n this.pageScrollStepper.stepTo(pageScrollTop, this.pageRenderer.pagesScrollTop);\n }\n }\n render() {\n this.pageRenderer.mount(this.viewer.$content);\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.scrollbar.mount(this.viewer.$content);\n this.renderRatioHeight();\n }\n renderRatioHeight() {\n const boxHeight = this.box.absoluteHeight;\n const isSmallBox = boxHeight <= RATIO_BASE_CONTAINER_HEIGHT;\n this.viewer.setSmallBox(isSmallBox);\n if (isSmallBox) {\n const titleBarSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const titleBarActualHeight = 26 / boxHeight;\n const footerSupposedHeight = 26 / RATIO_BASE_CONTAINER_HEIGHT;\n const footerActualHeight = 0;\n const emptySpace = Math.max((titleBarSupposedHeight + footerSupposedHeight - (titleBarActualHeight + footerActualHeight)) / 2, 0);\n if (this.box.$titleBar) {\n const titleBarHeight = titleBarActualHeight + emptySpace;\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = footerActualHeight + emptySpace;\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n } else {\n if (this.box.$titleBar) {\n const titleBarHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$titleBar.style.height = `${titleBarHeight * 100}%`;\n }\n if (this.box.$footer) {\n const footerHeight = Math.max(26 / RATIO_BASE_CONTAINER_HEIGHT, 26 / boxHeight);\n this.box.$footer.style.height = `${footerHeight * 100}%`;\n }\n }\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.mountWhiteboard(this.$whiteboardView);\n this.sideEffect.addEventListener(this.$whiteboardView, \"wheel\", (ev) => {\n preventEvent(ev);\n if (!this.readonly) {\n this.pageScrollTo(this.pageRenderer.pagesScrollTop + ev.deltaY);\n this.updateUserScroll();\n }\n }, { passive: false, capture: true });\n this.sideEffect.addEventListener(this.$whiteboardView, \"touchmove\", (ev) => {\n if (this.readonly || ev.touches.length <= 1) {\n return;\n }\n this.updateUserScroll();\n }, { passive: true, capture: true });\n }\n return this.$whiteboardView;\n }\n scrollTopPageToEl(pageScrollTop) {\n return pageScrollTop * this.pageRenderer.scale;\n }\n scrollTopElToPage(elScrollTop) {\n return elScrollTop / this.pageRenderer.scale;\n }\n elScrollTo(elScrollTop) {\n this.pageScrollTo(this.scrollTopElToPage(elScrollTop));\n }\n pageScrollTo(pageScrollTop) {\n const halfWbHeight = this.scrollTopElToPage(this.whiteboardView.size.height / 2);\n this.whiteboardView.moveCamera({\n centerY: clamp(pageScrollTop + halfWbHeight, halfWbHeight, this.pageRenderer.pagesIntrinsicHeight - halfWbHeight),\n animationMode: \"immediately\"\n });\n }\n scrollToPage(index) {\n if (!this.readonly && !Number.isNaN(index)) {\n const offsetY = this.pageRenderer.pagesIntrinsicYs[index];\n if (offsetY >= 0) {\n this.pageScrollTo(offsetY + 5 / this.pageRenderer.scale);\n this.updateUserScroll();\n }\n }\n }\n setupScrollListener() {\n this.sideEffect.add(() => {\n const handleCameraUpdate = (camera) => {\n const { width: wbWidth, height: wbHeight } = this.whiteboardView.size;\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n const pagesScrollTop = camera.centerY - this.pageRenderer.containerHeight / this.pageRenderer.scale / 2;\n this.pageRenderer.pagesScrollTo(pagesScrollTop);\n this.scrollbar.pagesScrollTo(pagesScrollTop);\n };\n this.whiteboardView.callbacks.on(\"onCameraUpdated\", handleCameraUpdate);\n return () => this.whiteboardView.callbacks.off(\"onCameraUpdated\", handleCameraUpdate);\n });\n this.sideEffect.add(() => {\n const handleSizeUpdate = ({ width: wbWidth, height: wbHeight }) => {\n if (wbWidth <= 0 || wbHeight <= 0) {\n return;\n }\n this.pageRenderer.setContainerSize(wbWidth, wbHeight);\n this.scrollbar.setContainerSize(wbWidth, wbHeight);\n const { pagesIntrinsicWidth, pagesIntrinsicHeight } = this.pageRenderer;\n this.whiteboardView.moveCameraToContain({\n originX: 0,\n originY: this.pageRenderer.pagesScrollTop,\n width: pagesIntrinsicWidth,\n height: wbHeight / this.pageRenderer.scale,\n animationMode: \"immediately\"\n });\n this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.pageRenderer.scale,\n minContentMode: () => this.pageRenderer.scale,\n centerX: pagesIntrinsicWidth / 2,\n centerY: pagesIntrinsicHeight / 2,\n width: pagesIntrinsicWidth,\n height: pagesIntrinsicHeight\n });\n };\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", handleSizeUpdate);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", handleSizeUpdate);\n };\n }, \"whiteboard-size-update\");\n this.sideEffect.addEventListener(window, \"keyup\", (ev) => {\n if (this.readonly || !this.box.focus || this.box.minimized) {\n return;\n }\n let newPageScrollTop = null;\n switch (ev.key) {\n case \"PageDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"PageUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / this.pageRenderer.scale;\n break;\n }\n case \"ArrowDown\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop + this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n case \"ArrowUp\": {\n newPageScrollTop = this.pageRenderer.pagesScrollTop - this.pageRenderer.containerHeight / 4 / this.pageRenderer.scale;\n break;\n }\n }\n if (newPageScrollTop !== null) {\n if (this._onUserScroll) {\n this._onUserScroll(newPageScrollTop);\n } else {\n this.pageScrollTo(newPageScrollTop);\n this.updateUserScroll();\n }\n }\n }, { capture: true });\n }\n debounce(fn, options, disposerID) {\n const dFn = debounceFn(fn, options);\n this.sideEffect.addDisposer(() => dFn.cancel(), disposerID);\n return dFn;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-static-\" + className;\n }\n}\nclass DynamicDocsViewer {\n constructor({ context, whiteboardView, box, pages }) {\n this.sideEffect = new o();\n this.onPlayPPT = () => {\n const room = this.context.getRoom();\n if (room) {\n room.pptNextStep();\n }\n };\n this._scaleDocsToFitImpl = () => {\n const page = this.pages[this.getPageIndex()];\n if (page) {\n this.whiteboardView.moveCameraToContain({\n originX: -page.width / 2,\n originY: -page.height / 2,\n width: page.width,\n height: page.height,\n animationMode: \"immediately\"\n });\n }\n };\n this._scaleDocsToFitDebounced = () => {\n this.sideEffect.setTimeout(this._scaleDocsToFitImpl, 1e3, \"_scaleDocsToFitDebounced\");\n };\n this.scaleDocsToFit = () => {\n this._scaleDocsToFitImpl();\n this._scaleDocsToFitDebounced();\n };\n this.onNewPageIndex = (index) => {\n this.jumpToPage(index, true);\n };\n this.context = context;\n this.whiteboardView = whiteboardView;\n this.box = box;\n this.pages = pages;\n this.displayer = context.getDisplayer();\n this.viewer = new DocsViewer({\n readonly: !context.getIsWritable(),\n box,\n pages,\n onNewPageIndex: this.onNewPageIndex,\n onPlay: this.onPlayPPT\n });\n this.render();\n this.sideEffect.add(() => {\n const handler = (isWritable) => {\n this.viewer.setReadonly(!isWritable);\n };\n this.context.emitter.on(\"writableChange\", handler);\n return () => this.context.emitter.off(\"writableChange\", handler);\n });\n this.sideEffect.add(() => {\n const handler = (sceneState) => {\n this.jumpToPage(sceneState.index);\n };\n this.context.emitter.on(\"sceneStateChange\", handler);\n return () => this.context.emitter.off(\"sceneStateChange\", handler);\n });\n }\n mount() {\n this.viewer.mount();\n const pageIndex = this.getPageIndex();\n if (pageIndex !== 0) {\n this.jumpToPage(pageIndex);\n }\n this.scaleDocsToFit();\n this.sideEffect.add(() => {\n this.whiteboardView.callbacks.on(\"onSizeUpdated\", this.scaleDocsToFit);\n return () => {\n this.whiteboardView.callbacks.off(\"onSizeUpdated\", this.scaleDocsToFit);\n };\n });\n return this;\n }\n unmount() {\n this.viewer.unmount();\n return this;\n }\n destroy() {\n this.sideEffect.flushAll();\n this.unmount();\n this.viewer.destroy();\n }\n getPageIndex() {\n return this.displayer.state.sceneState.index;\n }\n jumpToPage(index, reset) {\n var _a, _b;\n index = clamp(index, 0, this.pages.length - 1);\n if (index !== this.getPageIndex()) {\n if (this.context.getIsWritable()) {\n const initScenePath = this.context.getInitScenePath();\n const scene = (_b = (_a = this.context.getScenes()) == null ? void 0 : _a[index]) == null ? void 0 : _b.name;\n if (initScenePath && scene) {\n this.context.setScenePath(`${initScenePath}/${scene}`);\n }\n this.scaleDocsToFit();\n }\n }\n if (index !== this.viewer.pageIndex) {\n this.viewer.setPageIndex(index);\n }\n if (reset) {\n const room = this.context.getRoom();\n if (room) {\n const pptState = room.state.globalState.__pptState;\n room.setGlobalState({\n __pptState: pptState && {\n uuid: pptState.uuid,\n pageIndex: index,\n disableAutoPlay: pptState.disableAutoPlay\n }\n });\n }\n }\n }\n render() {\n this.viewer.$content.appendChild(this.renderMask());\n this.viewer.$content.appendChild(this.renderWhiteboardView());\n this.sideEffect.addEventListener(window, \"keydown\", (ev) => {\n var _a;\n if (this.box.focus) {\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\": {\n this.jumpToPage(this.getPageIndex() - 1, true);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowDown\": {\n (_a = this.context.getRoom()) == null ? void 0 : _a.pptNextStep();\n break;\n }\n }\n }\n });\n }\n renderMask() {\n if (!this.$mask) {\n const $mask = document.createElement(\"div\");\n $mask.className = this.wrapClassName(\"mask\");\n this.$mask = $mask;\n const $back = document.createElement(\"button\");\n $back.className = this.wrapClassName(\"back\");\n const $next = document.createElement(\"button\");\n $next.className = this.wrapClassName(\"next\");\n }\n return this.$mask;\n }\n renderWhiteboardView() {\n if (!this.$whiteboardView) {\n this.$whiteboardView = document.createElement(\"div\");\n this.$whiteboardView.className = this.wrapClassName(\"wb-view\");\n this.sideEffect.addEventListener(this.$whiteboardView, \"click\", (ev) => {\n var _a;\n const room = this.context.getRoom();\n if (room && room.state.memberState.currentApplianceName === \"clicker\") {\n for (let el = ev.target; el; el = el.parentElement) {\n if ((_a = el.classList) == null ? void 0 : _a.contains(\"ppt-event-source\")) {\n return;\n }\n }\n room.pptNextStep();\n }\n });\n this.context.mountView(this.$whiteboardView);\n }\n return this.$whiteboardView;\n }\n wrapClassName(className) {\n return \"netless-app-docs-viewer-dynamic-\" + className;\n }\n}\nconst kind = \"DocsViewer\";\nconst NetlessAppDocsViewer = {\n kind,\n setup(context) {\n const box = context.getBox();\n const scenes = context.getScenes();\n if (!scenes) {\n throw new Error(\"[Docs Viewer]: scenes not found.\");\n }\n const whiteboardView = context.getView();\n if (!whiteboardView) {\n throw new Error(\"[Docs Viewer]: no whiteboard view.\");\n }\n const pages = scenes.map(({ ppt }) => ppt ? {\n width: ppt.width,\n height: ppt.height,\n src: ppt.src,\n thumbnail: ppt.previewURL\n } : null).filter((page) => Boolean(page));\n if (pages.length <= 0) {\n throw new Error(\"[Docs Viewer]: empty scenes.\");\n }\n box.mountStyles(styles);\n if (pages[0].src.startsWith(\"ppt\")) {\n setupDynamicDocsViewer(context, whiteboardView, box, pages);\n } else {\n setupStaticDocsViewer(context, whiteboardView, box, pages);\n }\n }\n};\nfunction setupStaticDocsViewer(context, whiteboardView, box, pages) {\n var _a;\n whiteboardView.disableCameraTransform = !context.getIsWritable();\n const docsViewer = new StaticDocsViewer({\n whiteboardView,\n readonly: !context.getIsWritable(),\n box,\n pages,\n pageScrollTop: (_a = context.getAttributes()) == null ? void 0 : _a.pageScrollTop,\n mountWhiteboard: context.mountView.bind(context),\n onUserScroll: (pageScrollTop) => {\n var _a2;\n if (((_a2 = context.getAttributes()) == null ? void 0 : _a2.pageScrollTop) !== pageScrollTop && !box.readonly) {\n context.updateAttributes([\"pageScrollTop\"], pageScrollTop);\n }\n }\n }).mount();\n context.emitter.on(\"attributesUpdate\", (attributes) => {\n if (attributes) {\n if (attributes.pageScrollTop != null) {\n docsViewer.syncPageScrollTop(attributes.pageScrollTop);\n }\n }\n });\n context.emitter.on(\"writableChange\", (isWritable) => {\n docsViewer.setReadonly(!isWritable);\n whiteboardView.disableCameraTransform = !isWritable;\n });\n}\nfunction setupDynamicDocsViewer(context, whiteboardView, box, pages) {\n whiteboardView.disableCameraTransform = true;\n const docsViewer = new DynamicDocsViewer({\n context,\n whiteboardView,\n box,\n pages\n }).mount();\n context.mountView(docsViewer.$whiteboardView);\n if (context.isAddApp) {\n whiteboardView.callbacks.once(\"onSizeUpdated\", ({ width: contentWidth, height: contentHeight }) => {\n if (pages.length > 0 && box.state !== \"maximized\") {\n const { width: pageWidth, height: pageHeight } = pages[0];\n const preferHeight = pageHeight / pageWidth * contentWidth;\n const diff = preferHeight - contentHeight;\n if (diff !== 0 && context.getIsWritable()) {\n context.emitter.emit(\"setBoxSize\", {\n width: box.width,\n height: box.height + diff / box.containerRect.height\n });\n }\n }\n });\n }\n}\nexport { NetlessAppDocsViewer as default };\n//# sourceMappingURL=main.es.js.map\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,i,s)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[i]=s,a=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&n(e,i,t[i]);if(s)for(var i of s(t))o.call(t,i)&&n(e,i,t[i]);return e};import l,{Component as c}from\"react\";import u from\"react-dom\";import p from\"video.js\";const h=\"0.1.0-alpha.5\",d={src:\"\",currentTime:0,hostTime:0,muted:!1,paused:!0,volume:1},m={currentTimeMaxError:1,syncInterval:1e3,retryInterval:15e3,verbose:!1,log:console.log.bind(console)};let g=m;function v(e){g=a(a({},m),e)}function A(e,t){if(e.paused)return e.currentTime;const i=function(e){if(e.player)return e.player.beginTimestamp+e.player.progressTime;if(e.room)return e.room.calibrationTimestamp}(t);return i?e.currentTime+(i-e.hostTime)/1e3:e.currentTime}const f=navigator.userAgent.includes(\"Safari\"),y=[\".aac\",\".mid\",\".midi\",\".mp3\",\".ogg\",\".oga\",\".wav\",\".weba\"];var b=\"object\"==typeof global&&global&&global.Object===Object&&global,I=\"object\"==typeof self&&self&&self.Object===Object&&self,C=b||I||Function(\"return this\")(),E=C.Symbol,k=Object.prototype,T=k.hasOwnProperty,S=k.toString,P=E?E.toStringTag:void 0;var j=Object.prototype.toString;var B=E?E.toStringTag:void 0;function x(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":B&&B in Object(e)?function(e){var t=T.call(e,P),i=e[P];try{e[P]=void 0;var s=!0}catch(o){}var r=S.call(e);return s&&(t?e[P]=i:delete e[P]),r}(e):function(e){return j.call(e)}(e)}var w=/\\s/;var H=/^\\s+/;function Q(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&w.test(e.charAt(t)););return t}(e)+1).replace(H,\"\"):e}function M(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}var L=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,W=/^0o[0-7]+$/i,V=parseInt;function O(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==x(e)}(e))return NaN;if(M(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Q(e);var i=N.test(e);return i||W.test(e)?V(e.slice(2),i?2:8):L.test(e)?NaN:+e}var z=function(){return C.Date.now()},Z=Math.max,D=Math.min;function R(e,t,i){var s,r,o,n,a,l,c=0,u=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function d(t){var i=s,o=r;return s=r=void 0,c=t,n=e.apply(o,i)}function m(e){return c=e,a=setTimeout(v,t),u?d(e):n}function g(e){var i=e-l;return void 0===l||i>=t||i<0||p&&e-c>=o}function v(){var e=z();if(g(e))return A(e);a=setTimeout(v,function(e){var i=t-(e-l);return p?D(i,o-(e-c)):i}(e))}function A(e){return a=void 0,h&&s?d(e):(s=r=void 0,n)}function f(){var e=z(),i=g(e);if(s=arguments,r=this,l=e,i){if(void 0===a)return m(l);if(p)return clearTimeout(a),a=setTimeout(v,t),d(l)}return void 0===a&&(a=setTimeout(v,t)),n}return t=O(t)||0,M(i)&&(u=!!i.leading,o=(p=\"maxWait\"in i)?Z(O(i.maxWait)||0,t):o,h=\"trailing\"in i?!!i.trailing:h),f.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=l=r=a=void 0},f.flush=function(){return void 0===a?n:A(z())},f}class U extends c{constructor(e){super(e),this.seeking=!1,this.mobileSeeking=!1,this.track=null,this.hoverTime=null,this.offset=0,this.secondsPrefix=\"00:00:\",this.minutesPrefix=\"00:\",this.seekPause=!1,this.handleTouchSeeking=e=>{let t=0;for(let i=0;i<e.changedTouches.length;i++)t=e.changedTouches[i].pageX;t=t<0?0:t,this.mobileSeeking&&this.changeCurrentTimePosition(t)},this.handleSeeking=e=>{this.seeking&&this.changeCurrentTimePosition(e.pageX)},this.setTrackWidthState=()=>{this.track&&this.setState({trackWidth:this.track.offsetWidth})},this.handleTrackHover=(e,t)=>{if(this.track){const i=this.props.scale||1;let s;s=e?0:(t.pageX-this.track.getBoundingClientRect().left)/i,this.setState({seekHoverPosition:s,trackWidth:this.track.offsetWidth})}},this.mouseSeekingHandler=e=>{this.setSeeking(!1,e),this.onMouseUp()},this.setSeeking=(e,t)=>{t.preventDefault(),this.handleSeeking(t),this.seeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.mobileTouchSeekingHandler=()=>{this.setMobileSeeking(!1)},this.setMobileSeeking=e=>{this.mobileSeeking=e,this.setState({seekHoverPosition:e?this.state.seekHoverPosition:0})},this.renderBufferProgress=()=>{if(this.props.buffered){const e=a(a({},this.getPositionStyle(this.props.buffered)),this.props.bufferColor&&{backgroundColor:this.props.bufferColor});return l.createElement(\"div\",{className:\"buffered\",style:e})}return null},this.renderProgress=()=>{const e=a(a({},this.getPositionStyle(this.props.current)),this.props.sliderColor&&{backgroundColor:this.props.sliderColor});return l.createElement(\"div\",{className:\"connect\",style:e})},this.renderHoverProgress=()=>{const e=a(a({},this.getSeekHoverPosition()),this.props.sliderHoverColor&&{backgroundColor:this.props.sliderHoverColor});return l.createElement(\"div\",{className:\"seek-hover\",style:e})},this.renderThumb=()=>l.createElement(\"div\",{className:this.isThumbActive()?\"thumb active\":\"thumb\",style:this.getThumbHandlerPosition()},l.createElement(\"div\",{style:{backgroundColor:this.props.thumbColor},className:\"handler\"})),this.onMouseDown=e=>{var t,i;this.props.pause&&!this.props.paused&&(this.props.pause(),this.seekPause=!0),this.setSeeking(!0,e),null==(i=(t=this.props).onSeekStart)||i.call(t)},this.onMouseUp=()=>{var e,t;this.props.play&&this.seekPause&&(this.props.play(),this.seekPause=!1),null==(t=(e=this.props).onSeekEnd)||t.call(e)},this.props.secondsPrefix&&(this.secondsPrefix=this.props.secondsPrefix),this.props.minutesPrefix&&(this.minutesPrefix=this.props.minutesPrefix),this.state={ready:!1,trackWidth:0,seekHoverPosition:0}}componentDidMount(){this.setTrackWidthState(),window.addEventListener(\"resize\",this.setTrackWidthState),window.addEventListener(\"mousemove\",this.handleSeeking),window.addEventListener(\"mouseup\",this.mouseSeekingHandler),window.addEventListener(\"touchmove\",this.handleTouchSeeking),window.addEventListener(\"touchend\",this.mobileTouchSeekingHandler)}componentWillUnmount(){window.removeEventListener(\"resize\",this.setTrackWidthState),window.removeEventListener(\"mousemove\",this.handleSeeking),window.removeEventListener(\"mouseup\",this.mouseSeekingHandler),window.removeEventListener(\"touchmove\",this.handleTouchSeeking),window.removeEventListener(\"touchend\",this.mobileTouchSeekingHandler)}changeCurrentTimePosition(e){if(this.track){const t=this.props.scale||1;let i=(e-this.track.getBoundingClientRect().left)/t;i=Math.min(this.state.trackWidth,Math.max(0,i)),this.setState({seekHoverPosition:i});const s=+(i/this.state.trackWidth*this.props.total).toFixed(0);this.props.onChange(s)}}getPositionStyle(e){return{transform:`scaleX(${100*e/this.props.total/100})`}}getThumbHandlerPosition(){return{transform:`translateX(${this.state.trackWidth/(this.props.total/this.props.current)}px)`}}getSeekHoverPosition(){return{transform:`scaleX(${100*this.state.seekHoverPosition/this.state.trackWidth/100})`}}getHoverTimePosition(){let e=0;return this.hoverTime&&(e=this.state.seekHoverPosition-this.hoverTime.offsetWidth/2,this.props.limitTimeTooltipBySides&&(e<0?e=0:e+this.hoverTime.offsetWidth>this.state.trackWidth&&(e=this.state.trackWidth-this.hoverTime.offsetWidth))),{transform:`translateX(${e}px)`}}secondsToTime(e){e=Math.round(e+this.offset);const t=Math.floor(e/3600),i=e%3600,s=Math.floor(i/60),r=Math.ceil(i%60);return{hh:t.toString(),mm:s<10?\"0\"+s:s.toString(),ss:r<10?\"0\"+r:r.toString()}}getHoverTime(){const e=100*this.state.seekHoverPosition/this.state.trackWidth,t=Math.floor(+e*(this.props.total/100)),i=this.secondsToTime(t);return this.props.total+this.offset<60?this.secondsPrefix+i.ss:this.props.total+this.offset<3600?this.minutesPrefix+i.mm+\":\"+i.ss:i.hh+\":\"+i.mm+\":\"+i.ss}isThumbActive(){return this.state.seekHoverPosition>0||this.seeking}drawHoverTime(){return this.props.hideHoverTime?null:l.createElement(\"div\",{className:this.isThumbActive()?\"hover-time active\":\"hover-time\",style:this.getHoverTimePosition(),ref:e=>this.hoverTime=e},this.getHoverTime())}render(){return l.createElement(\"div\",{className:\"seek-slider\"},l.createElement(\"div\",{className:\"track\",ref:e=>this.track=e,onMouseMove:e=>this.handleTrackHover(!1,e),onMouseLeave:e=>this.handleTrackHover(!0,e),onMouseDown:this.onMouseDown,onTouchStart:e=>{this.setMobileSeeking(!0),this.onMouseDown(e)},onMouseUp:this.onMouseUp,onTouchEnd:this.onMouseUp},l.createElement(\"div\",{className:\"main\"},this.renderBufferProgress(),this.renderHoverProgress(),this.renderProgress())),this.drawHoverTime(),this.renderThumb())}}class X extends c{constructor(e){super(e),this.stageVolume=0,this.updateVolumeTimer=0,this.onVolumeSeeking=!1,this.onClickOperationButton=()=>{const{paused:e}=this.props;e?this.props.play():this.props.pause()},this.operationButton=()=>{const{paused:e}=this.props;return e?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1LjE0djE0bDExLTdsLTExLTd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMTloNFY1aC00TTYgMTloNFY1SDZ2MTR6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"})},this.operationVolumeButton=()=>this.props.volume>.9?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg0LTUgNi43djIuMDdjNC0uOTEgNy00LjQ5IDctOC43N2MwLTQuMjgtMy03Ljg2LTctOC43N00xNi41IDEyYzAtMS43Ny0xLTMuMjktMi41LTQuMDNWMTZjMS41LS43MSAyLjUtMi4yNCAyLjUtNE0zIDl2Nmg0bDUgNVY0TDcgOUgzeiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}):0===this.props.volume?l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA5djZoNGw1IDVWNGwtNSA1SDd6IiBmaWxsPSIjZmZmIj48L3BhdGg+PC9zdmc+Cg==\"}):l.createElement(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1tZGkiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA5djZoNGw1IDVWNEw5IDltOS41IDNjMC0xLjc3LTEtMy4yOS0yLjUtNC4wM1YxNmMxLjUtLjcxIDIuNS0yLjI0IDIuNS00eiIgZmlsbD0iI2ZmZiI+PC9wYXRoPjwvc3ZnPgo=\"}),this.handleClickVolume=()=>{0===this.props.volume?0!==this.stageVolume?this.props.setVolume(this.stageVolume):this.props.setVolume(1):(this.stageVolume=this.props.volume,this.props.setVolume(0))},this.onChange=e=>{this.setState({currentTime:e}),e&&this.changeTime(e)},this.changeTime=R((e=>{this.props.setCurrentTime(e)}),50),this.onVolumeChange=e=>{this.changeVolume(e),this.setState({seekVolume:e/100})},this.changeVolume=R((e=>{this.props.setVolume(e/100)}),50),this.onVolumeSeekStart=()=>{this.onVolumeSeeking=!0},this.onVolumeSeekEnd=R((()=>{this.onVolumeSeeking=!1}),500),this.onProgressSeekStart=()=>this.setState({isPlayerSeeking:!0}),this.onProgressSeekEnd=R((()=>{this.setState({isPlayerSeeking:!1})}),500),this.state={isPlayerSeeking:!1,isVolumeHover:!1,seekVolume:1,visible:!0,currentTime:0},this.stageVolume=e.volume}componentDidMount(){this.updateVolumeTimer=setInterval((()=>{this.onVolumeSeeking||this.setState({seekVolume:this.props.volume}),this.state.isPlayerSeeking||this.setState({currentTime:this.props.currentTime})}),100)}componentWillUnmount(){this.updateVolumeTimer&&clearInterval(this.updateVolumeTimer)}render(){const{duration:e,currentTime:t}=this.props;return l.createElement(\"div\",{className:\"player-controller\",style:{opacity:this.props.visible?\"1\":\"0\"}},l.createElement(\"div\",{className:\"player-controller-progress\"},l.createElement(U,{total:e,current:this.state.currentTime,onChange:this.onChange,buffered:this.props.buffered,bufferColor:\"rgba(255,255,255,0.3)\",hideHoverTime:!0,limitTimeTooltipBySides:!0,onSeekStart:this.onProgressSeekStart,onSeekEnd:this.onProgressSeekEnd,play:this.props.play,pause:this.props.pause,paused:this.props.paused,scale:this.props.scale})),l.createElement(\"div\",{className:\"player-controller-actions\"},l.createElement(\"div\",{className:\"player-controller-actions-left\"},l.createElement(\"div\",{onClick:this.onClickOperationButton,className:\"player-controller-play\"},this.operationButton()),l.createElement(\"div\",{className:\"player-volume-box\",onMouseEnter:()=>this.setState({isVolumeHover:!0}),onMouseLeave:()=>this.setState({isVolumeHover:!1})},l.createElement(\"div\",{onClick:this.handleClickVolume,className:\"player-volume\"},this.operationVolumeButton()),l.createElement(\"div\",{className:\"player-volume-slider\"},l.createElement(U,{total:100,current:100*this.state.seekVolume,onChange:this.onVolumeChange,onSeekStart:this.onVolumeSeekStart,onSeekEnd:this.onVolumeSeekEnd,scale:this.props.scale,limitTimeTooltipBySides:!0,hideHoverTime:!0})))),l.createElement(\"div\",{className:\"player-mid-box-time\"},F(Math.floor(t/1e3)),\" /\",\" \",F(Math.floor(e/1e3)))))}}function F(e){const t=e%60,i=(e-t)/60;if(i>=60){const e=i%60;return`${G((i-e)/60)}:${G(e)}:${G(t)}`}return`${G(i)}:${G(t)}`}function G(e){return e<=9?`0${e}`:`${e}`}class Y extends c{constructor(){super(...arguments),this.putAttributes=e=>{const{context:t}=this.props,i=t.getAttributes()||{};for(const s in e)i[s]!==e[s]&&t.updateAttributes([s],e[s])}}render(){const{context:e}=this.props,t=e.getRoom(),i=t?void 0:e.getDisplayer(),s=this.putAttributes;return l.createElement(J,{room:t,player:i,context:e,plugin:{putAttributes:s}})}}class J extends c{constructor(e){super(e),this.alertMask=null,this.container=l.createRef(),this.controllerHiddenTimer=0,this.syncPlayerTimer=0,this.retryCount=0,this.decreaseRetryTimer=0,this.noSoundSyncCount=0,this.showController=()=>{this.setState({controllerVisible:!0}),this.debounceHidingController()},this.play=()=>{var e;const t=null==(e=this.props.room)?void 0:e.calibrationTimestamp;this.debug(\">>> play\",{paused:!1,hostTime:t}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!1,hostTime:t})},this.pause=()=>{const e=A(this.getAttributes(),this.props);this.debug(\">>> pause\",{paused:!0,currentTime:e}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:e})},this.setVolume=e=>{this.debug(\">>> volume\",{volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e}),this.isEnabled()&&this.props.plugin.putAttributes({volume:e,muted:0===e})},this.setCurrentTime=e=>{var t;const i=null==(t=this.props.room)?void 0:t.calibrationTimestamp;this.debug(\">>> seek\",{currentTime:e/1e3,hostTime:i}),this.isEnabled()&&this.props.plugin.putAttributes({currentTime:e/1e3,hostTime:i})},this.resetPlayer=()=>{var e;null==(e=this.player)||e.autoplay(!1),this.state.NoSound||(this.debug(\">>> ended\",{paused:!0,currentTime:0}),this.isEnabled()&&this.props.plugin.putAttributes({paused:!0,currentTime:0}))},this.syncPlayerWithAttributes=()=>{var e;const t=this.getAttributes();if(!t)return;const i=this.player;if(!i)return;if(this.state.NoSound&&(this.noSoundSyncCount+=1)%8!=0)return;i.paused()!==t.paused&&(this.debug(\"<<< paused -> %o\",t.paused),t.paused?i.pause():null==(e=i.play())||e.catch(this.catchPlayFail)),i.muted()!==t.muted&&(this.debug(\"<<< muted -> %o\",t.muted),i.muted(t.muted)),i.volume()!==t.volume&&(this.debug(\"<<< volume -> %o\",t.volume),i.volume(t.volume));const s=A(t,this.props);let r=g.currentTimeMaxError;this.state.NoSound&&(r*=3),s>i.duration()?this.resetPlayer():Math.abs(i.currentTime()-s)>r&&(this.debug(\"<<< currentTime -> %o\",s),i.currentTime(s))},this.debounceHidingController=()=>{this.controllerHiddenTimer&&(clearTimeout(this.controllerHiddenTimer),this.controllerHiddenTimer=0),this.controllerHiddenTimer=setTimeout((()=>{this.setState({controllerVisible:!1}),this.controllerHiddenTimer=0}),3e3)},this.decreaseRetryCount=()=>{this.player&&this.retryCount>0&&(this.retryCount=this.retryCount-1)},this.catchPlayFail=e=>{var t,i;const s=String(e);if(f&&s.includes(\"NotAllowedError\")||s.includes(\"interact\"))null==(t=this.player)||t.autoplay(\"any\"),this.setState({NoSound:!0});else{const t=null==(i=this.player)?void 0:i.error();t&&(this.retryCount<=3?(this.initPlayer(),this.retryCount=this.retryCount+1):(this.debug(\"catch videojs media error\",t),this.setState({MediaError:!0}))),this.debug(\"catch error\",e)}},this.fixPlayFail=()=>{this.debug(\"try to fix play state\"),this.setState({NoSound:!1});const{muted:e,volume:t}=this.getAttributes();this.player&&(this.player.muted(e),this.player.volume(t))},this.initPlayer=async()=>{var e;null==(e=this.player)||e.dispose(),this.player=void 0,this.debug(\"creating elements ...\");const{type:t,src:i,poster:s}=this.getAttributes(),r=document.createElement(\"div\");r.setAttribute(\"data-vjs-player\",\"\");const o=document.createElement(\"video\");o.className=\"video-js\",s&&(o.poster=s),o.setAttribute(\"playsInline\",\"\"),o.setAttribute(\"webkit-playsinline\",\"\");const n=document.createElement(\"source\");new URL(i).pathname.endsWith(\".m3u8\")?n.type=\"application/x-mpegURL\":o.src=i,n.src=i,t&&(n.type=t),o.appendChild(n),r.appendChild(o),this.container.current.appendChild(r),await new Promise((e=>(window.requestAnimationFrame||window.setTimeout)(e))),this.debug(\"initializing videojs() ...\");const a=p(o);this.player=a,window.player=a,a.one(\"loadedmetadata\",this.gracefullyUpdate),a.on(\"ready\",(()=>{var e;null==(e=g.onPlayer)||e.call(g,a),a.on(\"timeupdate\",this.gracefullyUpdate),a.on(\"volumechange\",this.gracefullyUpdate),a.on(\"seeked\",this.gracefullyUpdate),a.on(\"play\",this.gracefullyUpdate),a.on(\"pause\",this.gracefullyUpdate),a.on(\"ended\",this.resetPlayer)})),a.on(\"error\",this.catchPlayFail),this.setState({MediaError:!1})},this.gracefullyUpdate=()=>this.setState({updater:!this.state.updater}),this.setupAlert=e=>{e&&(e.addEventListener(\"touchstart\",this.fixPlayFail),e.addEventListener(\"click\",this.fixPlayFail)),this.alertMask=e},this.setupReload=e=>{e&&(e.addEventListener(\"touchstart\",this.initPlayer),e.addEventListener(\"click\",this.initPlayer))},this.state={NoSound:!1,MediaError:!1,updater:!1,controllerVisible:!1},e.room&&function(e){if(!e.calibrationTimestamp)throw new Error(\"@netless/app-media-player@0.1.0-alpha.5 requires white-web-sdk@^2.13.8 to work properly.\")}(e.room)}getAttributes(){const{context:e}=this.props;let s=e.getAttributes();if(s){if(s=a(a({},d),s),this.player){let e=A(s,this.props),o=this.player.duration();!s.paused&&e>o&&(r=a({},s),s=t(r,i({currentTime:0,paused:!0})),this.resetPlayer())}var r;return s}}isShowingPoster(){const e=this.getAttributes();return!(null==e?void 0:e.src)||y.some((t=>e.src.endsWith(t)))}render(){var e,t;if(!this.props.room&&!this.props.player)return null;const i=this.getAttributes();if(!i)return null;const s=1e3*((null==(e=this.player)?void 0:e.duration())||1e3),r=(null==(t=this.player)?void 0:t.bufferedPercent())||0;return l.createElement(\"div\",{className:this.isEnabled()?\"vjs-p\":\"vjs-p disabled\",onMouseEnter:this.showController,onMouseMove:this.showController},l.createElement(\"div\",{className:\"video-js-plugin-player\",ref:this.container}),this.isShowingPoster()&&l.createElement(\"div\",{className:\"video-js-plugin-poster\"},i.poster&&l.createElement(\"img\",{src:i.poster,alt:\"\",draggable:!1})),l.createElement(X,{duration:s,volume:i.volume,setVolume:this.setVolume,paused:i.paused,play:this.play,pause:this.pause,currentTime:1e3*A(i,this.props),setCurrentTime:this.setCurrentTime,buffered:s*r,visible:!0}),this.state.NoSound&&l.createElement(\"div\",{ref:this.setupAlert,className:\"videojs-plugin-muted-alert\"}),this.state.MediaError&&l.createElement(\"div\",{className:\"videojs-plugin-recovery-mode\"},l.createElement(\"button\",{ref:this.setupReload},\"Reload Player\")))}debug(e,...t){g.verbose&&g.log(`[MediaPlayer] ${e}`,...t)}componentDidMount(){this.debug(\"app version =\",\"0.1.0-alpha.5\"),this.debug(\"video.js version =\",p.VERSION),this.initPlayer(),this.props.context.emitter.on(\"attributesUpdate\",this.syncPlayerWithAttributes),this.syncPlayerTimer=setInterval(this.syncPlayerWithAttributes,g.syncInterval),this.decreaseRetryTimer=setInterval(this.decreaseRetryCount,g.retryInterval)}componentWillUnmount(){var e;this.debug(\"unmount\"),this.props.context.emitter.off(\"attributesUpdate\",this.syncPlayerWithAttributes),null==(e=this.player)||e.dispose(),clearInterval(this.syncPlayerTimer),clearInterval(this.decreaseRetryTimer)}isEnabled(){return this.props.context.getIsWritable()}}const K={kind:\"MediaPlayer\",setup(e){let t=e.getAttributes();if(!t||!t.src)return e.emitter.emit(\"destroy\",{error:new Error(\"[MediaPlayer]: Missing 'attributes'.'src'.\")});t=a(a({},d),t);const i=e.getBox();i.mountStyles('.vjs-p{display:flex;flex-grow:1}.vjs-p *{pointer-events:auto}.vjs-p.disabled *{pointer-events:none}.vjs-p .video-js-plugin-poster{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(data:image/png;base64,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);background-repeat:repeat-x;background-position:0 50%;display:flex;align-items:center;justify-content:center}.vjs-p .video-js-plugin-poster img{box-shadow:0 0 5px 10px #0006}.vjs-p .player-controller,.vjs-p .videojs-plugin-muted-alert{pointer-events:auto}.vjs-p.disabled .videojs-plugin-close-icon,.vjs-p.disabled .player-controller{pointer-events:none}.vjs-p .video-js-plugin-player{position:absolute;top:0;left:0;right:0;bottom:0}.video-js,[data-vjs-player]{width:100%;height:100%}.vjs-p .videojs-plugin-muted-alert{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43}.vjs-p .videojs-plugin-muted-alert:before{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:43;content:\"\\\\f104\";background:rgba(0,0,0,.3);font-family:VideoJS;font-size:2em;display:flex;align-items:center;justify-content:center;color:#fff}.vjs-p .videojs-plugin-recovery-mode{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0;z-index:44}.vjs-p .videojs-plugin-recovery-mode button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-p .seek-slider{position:relative;width:100%}.vjs-p .seek-slider:focus{outline:none}.vjs-p .seek-slider .track{padding:10px 0;cursor:pointer;outline:none}.vjs-p .seek-slider .track:focus{border:0;outline:none}.vjs-p .seek-slider .track .main{width:100%;height:3px;background-color:#ffffff4d;border-radius:30px;position:absolute;left:0;top:8.5px;transition:transform .4s;outline:none}.vjs-p .seek-slider .track .main:focus{border:0;outline:none}.vjs-p .seek-slider .track .main .buffered{position:absolute;background-color:#ffffff4d;width:100%;height:100%;transform:scaleX(.8);z-index:2;transform-origin:0 0}.vjs-p .seek-slider .track .main .seek-hover{position:absolute;background-color:#ffffff80;width:100%;height:100%;z-index:1;transform:scaleX(.6);transform-origin:0 0;opacity:0;transition:opacity .4s}.vjs-p .seek-slider .track .main .connect{position:absolute;background-color:#fff;width:100%;height:100%;z-index:3;left:0;transform:scaleX(.13);transform-origin:0 0}.vjs-p .seek-slider .track.active .main{transform:scaleY(2)}.vjs-p .seek-slider .thumb{pointer-events:none;position:absolute;width:12px;height:12px;left:-6px;top:4px;z-index:4;transform:translate(100px)}.vjs-p .seek-slider .thumb .handler{border-radius:100%;width:100%;height:100%;background-color:#fff;opacity:0;transform:scale(.4);cursor:pointer;transition:transform .2s;pointer-events:none}.vjs-p .seek-slider .thumb.active .handler{opacity:1;transform:scale(1)}.vjs-p .seek-slider .hover-time{position:absolute;background-color:#0000004d;line-height:18px;font-size:16px;color:#ddd;top:-25px;left:0;padding:5px 10px;border-radius:5px;box-shadow:0 0 5px #0000004d;opacity:0;transform:translate(150px);pointer-events:none}.vjs-p .seek-slider .hover-time.active{opacity:1}.vjs-p .seek-slider:hover .track .main .seek-hover{opacity:1}.vjs-p .player-controller{position:absolute;z-index:100;bottom:0px;left:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:64px;background-image:linear-gradient(0deg,#000,transparent);transition:opacity .2s;color:#fff}.vjs-p .player-menu-box{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:40px}.vjs-p .player-menu-cell{width:100%;text-align:center;font-size:12px;color:#7a7b7c}.vjs-p .player-multiple-play{width:64px;height:120px}.vjs-p .player-controller-actions-left{display:flex;justify-content:center;align-items:center;flex-shrink:0}.vjs-p .player-right-box{font-size:14px;color:#7a7b7c;cursor:pointer;margin-right:12px}.vjs-p .player-controller-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;margin-top:2px}.vjs-p .player-mid-box-time{font-size:9px;display:flex;justify-content:center;align-items:center;color:#fff;flex-shrink:0;margin-right:8px;font-family:monospace}.vjs-p .player-controller-play{display:flex;align-items:center;justify-content:center;cursor:pointer;padding-right:4px}.vjs-p .player-controller-progress{width:calc(100% - 28px);margin-left:14px;display:flex;align-items:center;justify-content:center;margin-top:8px}.vjs-p .player-volume{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:16px;margin-left:8px}.vjs-p .player-volume-slider{width:60px;margin-right:12px;display:flex;align-items:center}.vjs-p .player-volume-box{display:flex;flex-direction:row}.netless-app-media-player-container{display:flex;position:relative;height:100%}\\n');const s=document.createElement(\"div\");s.classList.add(\"netless-app-media-player-container\"),u.render(l.createElement(Y,{context:e}),s),i.mountContent(s),e.emitter.on(\"destroy\",(()=>{console.log(\"[MediaPlayer]: destroy\"),u.unmountComponentAtNode(s)}))}};export{h as Version,K as default,v as setOptions};\n//# sourceMappingURL=main.es.js.map\n","import AppDocsViewer from \"@netless/app-docs-viewer\";\nimport AppMediaPlayer, { setOptions } from \"@netless/app-media-player\";\nimport { WindowManager } from \"./index\";\n\nexport const setupBuiltin = () => {\n if (WindowManager.debug) {\n setOptions({ verbose: true });\n }\n\n WindowManager.register({\n kind: AppDocsViewer.kind,\n src: AppDocsViewer,\n });\n WindowManager.register({\n kind: AppMediaPlayer.kind,\n src: AppMediaPlayer,\n });\n};\n\nexport const BuiltinApps = {\n DocsViewer: AppDocsViewer.kind as string,\n MediaPlayer: AppMediaPlayer.kind as string,\n};\n","import pRetry from \"p-retry\";\nimport { AppManager } from \"./AppManager\";\nimport { appRegister } from \"./Register\";\nimport { callbacks } from \"./callback\";\nimport { checkVersion, setupWrapper } from \"./Helper\";\nimport { ContainerResizeObserver } from \"./ContainerResizeObserver\";\nimport { createBoxManager } from \"./BoxManager\";\nimport { CursorManager } from \"./Cursor\";\nimport { DEFAULT_CONTAINER_RATIO, Events, ROOT_DIR } from \"./constants\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Fields } from \"./AttributesDelegate\";\nimport { initDb } from \"./Register/storage\";\nimport { InvisiblePlugin, isPlayer, isRoom, RoomPhase, ViewMode } from \"white-web-sdk\";\nimport { isEqual, isNull, isObject, omit } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { ReconnectRefresher } from \"./ReconnectRefresher\";\nimport { replaceRoomFunction } from \"./Utils/RoomHacker\";\nimport { setupBuiltin } from \"./BuiltinApps\";\nimport \"video.js/dist/video-js.css\";\nimport \"./style.css\";\nimport \"@netless/telebox-insider/dist/style.css\";\nimport {\n addEmitterOnceListener,\n ensureValidScenePath,\n entireScenes,\n isValidScenePath,\n wait,\n} from \"./Utils/Common\";\nimport type { TELE_BOX_STATE, BoxManager } from \"./BoxManager\";\nimport {\n AppCreateError,\n AppManagerNotInitError,\n InvalidScenePath,\n ParamsInvalidError,\n} from \"./Utils/error\";\nimport type { Apps, Position } from \"./AttributesDelegate\";\nimport type {\n Displayer,\n SceneDefinition,\n View,\n Room,\n InvisiblePluginContext,\n Camera,\n AnimationMode,\n CameraBound,\n Point,\n Rectangle,\n CameraState,\n Player,\n ImageInformation,\n SceneState,\n} from \"white-web-sdk\";\nimport type { AppListeners } from \"./AppListener\";\nimport type { NetlessApp, RegisterParams } from \"./typings\";\nimport type { TeleBoxColorScheme, TeleBoxState } from \"@netless/telebox-insider\";\nimport type { AppProxy } from \"./AppProxy\";\nimport type { PublicEvent } from \"./Callback\";\nimport type Emittery from \"emittery\";\n\nexport type WindowMangerAttributes = {\n modelValue?: string;\n boxState: TELE_BOX_STATE;\n maximized?: boolean;\n minimized?: boolean;\n [key: string]: any;\n};\n\nexport type apps = {\n [key: string]: NetlessApp;\n};\n\nexport type AddAppOptions = {\n scenePath?: string;\n title?: string;\n scenes?: SceneDefinition[];\n};\n\nexport type setAppOptions = AddAppOptions & { appOptions?: any };\n\nexport type AddAppParams<TAttributes = any> = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: TAttributes;\n};\n\nexport type BaseInsertParams = {\n kind: string;\n // app 地址(本地 app 不需要传)\n src?: string;\n // 窗口配置\n options?: AddAppOptions;\n // 初始化 attributes\n attributes?: any;\n isDynamicPPT?: boolean;\n};\n\nexport type AppSyncAttributes = {\n kind: string;\n src?: string;\n options: any;\n state?: any;\n isDynamicPPT?: boolean;\n fullPath?: string;\n createdAt?: number;\n};\n\nexport type AppInitState = {\n id: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n focus?: boolean;\n maximized?: boolean;\n minimized?: boolean;\n sceneIndex?: number;\n boxState?: TeleBoxState; // 兼容旧版 telebox\n zIndex?: number;\n};\n\nexport type CursorMovePayload = { uid: string; state?: \"leave\"; position: Position };\n\nexport type MountParams = {\n room: Room | Player;\n container?: HTMLElement;\n /** 白板高宽比例, 默认为 9 / 16 */\n containerSizeRatio?: number;\n /** 显示 PS 透明背景,默认 true */\n chessboard?: boolean;\n collectorContainer?: HTMLElement;\n collectorStyles?: Partial<CSSStyleDeclaration>;\n overwriteStyles?: string;\n cursor?: boolean;\n debug?: boolean;\n disableCameraTransform?: boolean;\n prefersColorScheme?: TeleBoxColorScheme;\n};\n\nexport const reconnectRefresher = new ReconnectRefresher({ emitter });\n\nexport type AddPageParams = {\n after?: boolean;\n scene?: SceneDefinition;\n};\n\nexport class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {\n public static kind = \"WindowManager\";\n public static displayer: Displayer;\n public static wrapper?: HTMLElement;\n public static playground?: HTMLElement;\n public static container?: HTMLElement;\n public static debug = false;\n public static containerSizeRatio = DEFAULT_CONTAINER_RATIO;\n private static isCreated = false;\n\n public version = __APP_VERSION__;\n public dependencies = __APP_DEPENDENCIES__;\n\n public appListeners?: AppListeners;\n\n public readonly?: boolean;\n public emitter: Emittery<PublicEvent> = callbacks;\n public appManager?: AppManager;\n public cursorManager?: CursorManager;\n public viewMode = ViewMode.Broadcaster;\n public isReplay = isPlayer(this.displayer);\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n\n constructor(context: InvisiblePluginContext) {\n super(context);\n WindowManager.displayer = context.displayer;\n (window as any).NETLESS_DEPS = __APP_DEPENDENCIES__;\n }\n\n public static async mount(params: MountParams): Promise<WindowManager> {\n const room = params.room;\n WindowManager.container = params.container;\n const containerSizeRatio = params.containerSizeRatio;\n const debug = params.debug;\n\n const cursor = params.cursor;\n WindowManager.params = params;\n WindowManager.displayer = params.room;\n checkVersion();\n let manager: WindowManager | undefined = undefined;\n if (isRoom(room)) {\n if (room.phase !== RoomPhase.Connected) {\n throw new Error(\"[WindowManager]: Room only Connected can be mount\");\n }\n if (room.phase === RoomPhase.Connected && room.isWritable) {\n // redo undo 需要设置这个属性\n room.disableSerialization = false;\n }\n manager = await this.initManager(room);\n }\n if (WindowManager.isCreated) {\n throw new Error(\"[WindowManager]: Already created cannot be created again\");\n }\n\n this.debug = Boolean(debug);\n log(\"Already insert room\", manager);\n\n if (isRoom(this.displayer)) {\n if (!manager) {\n throw new Error(\"[WindowManager]: init InvisiblePlugin failed\");\n }\n } else {\n await pRetry(\n async count => {\n manager = (await room.getInvisiblePlugin(WindowManager.kind)) as WindowManager;\n if (!manager) {\n log(`manager is empty. retrying ${count}`);\n throw new Error();\n }\n },\n { retries: 10 }\n );\n }\n\n if (!manager) {\n throw new Error(\"[WindowManager]: create manager failed\");\n }\n\n if (containerSizeRatio) {\n WindowManager.containerSizeRatio = containerSizeRatio;\n }\n await manager.ensureAttributes();\n\n manager.appManager = new AppManager(manager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n\n if (params.container) {\n manager.bindContainer(params.container);\n }\n\n replaceRoomFunction(room, manager);\n emitter.emit(\"onCreated\");\n WindowManager.isCreated = true;\n try {\n await initDb();\n } catch (error) {\n console.warn(\"[WindowManager]: indexedDB open failed\");\n console.log(error);\n }\n return manager;\n }\n\n private static async initManager(room: Room): Promise<WindowManager> {\n let manager = room.getInvisiblePlugin(WindowManager.kind) as WindowManager;\n if (!manager) {\n if (isRoom(room)) {\n if (room.isWritable === false) {\n try {\n await room.setWritable(true);\n } catch (error) {\n throw new Error(\"[WindowManger]: room must be switched to be writable\");\n }\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n manager.ensureAttributes();\n await wait(500);\n await room.setWritable(false);\n } else {\n manager = (await room.createInvisiblePlugin(\n WindowManager,\n {}\n )) as WindowManager;\n }\n }\n }\n return manager;\n }\n\n private static initContainer(\n manager: WindowManager,\n container: HTMLElement,\n chessboard: boolean | undefined,\n overwriteStyles: string | undefined\n ) {\n if (!WindowManager.container) {\n WindowManager.container = container;\n }\n const { playground, wrapper, sizer, mainViewElement } = setupWrapper(container);\n WindowManager.playground = playground;\n if (chessboard) {\n sizer.classList.add(\"netless-window-manager-chess-sizer\");\n }\n if (overwriteStyles) {\n const style = document.createElement(\"style\");\n style.textContent = overwriteStyles;\n playground.appendChild(style);\n }\n manager.containerResizeObserver = ContainerResizeObserver.create(\n playground,\n sizer,\n wrapper,\n emitter\n );\n WindowManager.wrapper = wrapper;\n return mainViewElement;\n }\n\n public static get registered() {\n return appRegister.registered;\n }\n\n public bindContainer(container: HTMLElement) {\n if (WindowManager.isCreated && WindowManager.container) {\n if (WindowManager.container.firstChild) {\n container.appendChild(WindowManager.container.firstChild);\n }\n } else {\n if (WindowManager.params) {\n const params = WindowManager.params;\n const mainViewElement = WindowManager.initContainer(\n this,\n container,\n params.chessboard,\n params.overwriteStyles\n );\n const boxManager = createBoxManager(this, callbacks, emitter, {\n collectorContainer: params.collectorContainer,\n collectorStyles: params.collectorStyles,\n prefersColorScheme: params.prefersColorScheme,\n });\n this.boxManager = boxManager;\n this.appManager?.setBoxManager(boxManager);\n this.bindMainView(mainViewElement, params.disableCameraTransform);\n if (WindowManager.wrapper) {\n this.cursorManager?.setupWrapper(WindowManager.wrapper);\n }\n }\n }\n emitter.emit(\"updateManagerRect\");\n this.appManager?.refresh();\n this.appManager?.resetMaximized();\n this.appManager?.resetMinimized();\n this.appManager?.displayerWritableListener(!this.room.isWritable);\n WindowManager.container = container;\n }\n\n public bindCollectorContainer(container: HTMLElement) {\n if (WindowManager.isCreated && this.boxManager) {\n this.boxManager.setCollectorContainer(container);\n } else {\n if (WindowManager.params) {\n WindowManager.params.collectorContainer = container;\n }\n }\n }\n\n /**\n * 注册插件\n */\n public static register<AppOptions = any, SetupResult = any, Attributes = any>(\n params: RegisterParams<AppOptions, SetupResult, Attributes>\n ): Promise<void> {\n return appRegister.register(params);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n if (!params.kind || typeof params.kind !== \"string\") {\n throw new ParamsInvalidError();\n }\n const appImpl = await appRegister.appClasses.get(params.kind)?.();\n if (appImpl && appImpl.config?.singleton) {\n if (this.appManager.appProxies.has(params.kind)) {\n throw new AppCreateError();\n }\n }\n const isDynamicPPT = this.setupScenePath(params, this.appManager);\n if (isDynamicPPT === undefined) {\n return;\n }\n if (params?.options?.scenePath) {\n params.options.scenePath = ensureValidScenePath(params.options.scenePath);\n }\n const appId = await this.appManager.addApp(params, Boolean(isDynamicPPT));\n return appId;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private setupScenePath(params: AddAppParams, appManager: AppManager): boolean | undefined {\n let isDynamicPPT = false;\n if (params.options) {\n const { scenePath, scenes } = params.options;\n if (scenePath) {\n if (!isValidScenePath(scenePath)) {\n throw new InvalidScenePath();\n }\n const apps = Object.keys(this.apps || {});\n for (const appId of apps) {\n const appScenePath = appManager.store.getAppScenePath(appId);\n if (appScenePath && appScenePath === scenePath) {\n console.warn(`[WindowManager]: ScenePath ${scenePath} Already opened`);\n if (this.boxManager) {\n const topBox = this.boxManager.getTopBox();\n if (topBox) {\n this.boxManager.setZIndex(appId, topBox.zIndex + 1, false);\n }\n }\n return;\n }\n }\n }\n if (scenePath && scenes && scenes.length > 0) {\n if (this.isDynamicPPT(scenes)) {\n isDynamicPPT = true;\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n this.room?.putScenes(scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n this.room?.putScenes(scenePath, [{}]);\n }\n }\n return isDynamicPPT;\n }\n\n /**\n * 设置 mainView 的 ScenePath, 并且切换白板为可写状态\n */\n public async setMainViewScenePath(scenePath: string): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewScenePath(scenePath);\n }\n }\n\n /**\n * 设置 mainView 的 SceneIndex, 并且切换白板为可写状态\n */\n public async setMainViewSceneIndex(index: number): Promise<void> {\n if (this.appManager) {\n await this.appManager.setMainViewSceneIndex(index);\n }\n }\n\n public async nextPage(): Promise<boolean> {\n if (this.appManager) {\n const nextIndex = this.mainViewSceneIndex + 1;\n if (nextIndex >= this.mainViewScenesLength) {\n console.warn(`[WindowManager]: current page is the last page`);\n return false;\n }\n await this.appManager.setMainViewSceneIndex(nextIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async prevPage(): Promise<boolean> {\n if (this.appManager) {\n const prevIndex = this.mainViewSceneIndex - 1;\n if (prevIndex < 0) {\n console.warn(`[WindowManager]: current page is the first page`);\n return false;\n }\n await this.appManager.setMainViewSceneIndex(prevIndex);\n return true;\n } else {\n return false;\n }\n }\n\n public async addPage(params?: AddPageParams): Promise<void> {\n if (this.appManager) {\n const after = params?.after;\n const scene = params?.scene;\n if (after) {\n const nextIndex = this.mainViewSceneIndex + 1;\n this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);\n } else {\n this.room.putScenes(ROOT_DIR, [scene || {}]);\n }\n }\n }\n\n /**\n * 返回 mainView 的 ScenePath\n */\n public getMainViewScenePath(): string | undefined {\n return this.appManager?.store.getMainViewScenePath();\n }\n\n /**\n * 返回 mainView 的 SceneIndex\n */\n public getMainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n /**\n * 设置所有 app 的 readonly 模式\n */\n public setReadonly(readonly: boolean): void {\n this.readonly = readonly;\n this.boxManager?.setReadonly(readonly);\n emitter.emit(\"setReadonly\", readonly);\n }\n\n /**\n * 切换 mainView 为可写\n */\n public switchMainViewToWriter(): Promise<void> | undefined {\n return this.appManager?.mainViewProxy.mainViewClickHandler();\n }\n\n /**\n * app destroy 回调\n */\n public onAppDestroy(kind: string, listener: (error: Error) => void): void {\n addEmitterOnceListener(`destroy-${kind}`, listener);\n }\n\n /**\n * 设置 ViewMode\n */\n public setViewMode(mode: ViewMode): void {\n if (!this.canOperate) return;\n if (mode === ViewMode.Broadcaster) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n this.appManager?.mainViewProxy.start();\n }\n if (mode === ViewMode.Freedom) {\n this.appManager?.mainViewProxy.stop();\n }\n this.viewMode = mode;\n }\n\n public setBoxState(boxState: TeleBoxState): void {\n if (!this.canOperate) return;\n switch (boxState) {\n case \"normal\":\n this.setMaximized(false);\n this.setMinimized(false);\n break;\n case \"maximized\":\n this.setMaximized(true);\n this.setMinimized(false);\n break;\n case \"minimized\":\n this.setMinimized(true);\n break;\n default:\n break;\n }\n }\n\n public setMaximized(maximized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMaximized(maximized, false);\n }\n\n public setMinimized(minimized: boolean): void {\n if (!this.canOperate) return;\n this.boxManager?.setMinimized(minimized, false);\n }\n\n public get mainView(): View {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get camera(): Camera {\n if (this.appManager) {\n return this.appManager.mainViewProxy.view.camera;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get cameraState(): CameraState {\n if (this.appManager) {\n return this.appManager.mainViewProxy.cameraState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get apps(): Apps | undefined {\n return this.appManager?.store.apps();\n }\n\n public get boxState(): TeleBoxState | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.boxState;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get darkMode(): boolean {\n return Boolean(this.appManager?.boxManager?.darkMode);\n }\n\n public get prefersColorScheme(): TeleBoxColorScheme | undefined {\n if (this.appManager) {\n return this.appManager.boxManager?.prefersColorScheme;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get focused(): string | undefined {\n return this.attributes.focus;\n }\n\n public get focusedView(): View | undefined {\n return this.appManager?.focusApp?.view || this.mainView;\n }\n\n public get mainViewSceneIndex(): number {\n return this.appManager?.store.getMainViewSceneIndex();\n }\n\n public get mainViewSceneDir(): string {\n if (this.appManager) {\n return this.appManager?.getMainViewSceneDir();\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n public get topApp(): string | undefined {\n return this.boxManager?.getTopBox()?.id;\n }\n\n public get mainViewScenesLength(): number {\n return this.appManager?.mainViewScenesLength || 0;\n }\n\n public get canRedoSteps(): number {\n return this.focusedView?.canRedoSteps || 0;\n }\n\n public get canUndoSteps(): number {\n return this.focusedView?.canUndoSteps || 0;\n }\n\n public get sceneState(): SceneState {\n if (this.appManager) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.appManager.sceneState!;\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n /**\n * 查询所有的 App\n */\n public queryAll(): AppProxy[] {\n return Array.from(this.appManager?.appProxies.values() || []);\n }\n\n /**\n * 查询单个 App\n */\n public queryOne(appId: string): AppProxy | undefined {\n return this.appManager?.appProxies.get(appId);\n }\n\n /**\n * 关闭 APP\n */\n public async closeApp(appId: string): Promise<void> {\n return this.appManager?.closeApp(appId);\n }\n\n public moveCamera(\n camera: Partial<Camera> & { animationMode?: AnimationMode | undefined }\n ): void {\n const pureCamera = omit(camera, [\"animationMode\"]);\n const mainViewCamera = { ...this.mainView.camera };\n if (isEqual({ ...mainViewCamera, ...pureCamera }, mainViewCamera)) return;\n this.mainView.moveCamera(camera);\n this.appManager?.dispatchInternalEvent(Events.MoveCamera, camera);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public moveCameraToContain(\n rectangle: Rectangle &\n Readonly<{\n animationMode?: AnimationMode;\n }>\n ): void {\n this.mainView.moveCameraToContain(rectangle);\n this.appManager?.dispatchInternalEvent(Events.MoveCameraToContain, rectangle);\n setTimeout(() => {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }, 500);\n }\n\n public convertToPointInWorld(point: Point): Point {\n return this.mainView.convertToPointInWorld(point);\n }\n\n public setCameraBound(cameraBound: CameraBound): void {\n this.mainView.setCameraBound(cameraBound);\n }\n\n public override onDestroy(): void {\n this._destroy();\n }\n\n public override destroy(): void {\n this._destroy();\n }\n\n private _destroy() {\n this.containerResizeObserver?.disconnect();\n this.appManager?.destroy();\n this.cursorManager?.destroy();\n WindowManager.container = undefined;\n WindowManager.wrapper = undefined;\n WindowManager.isCreated = false;\n if (WindowManager.playground) {\n WindowManager.playground.parentNode?.removeChild(WindowManager.playground);\n }\n WindowManager.params = undefined;\n log(\"Destroyed\");\n }\n\n private bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean | undefined) {\n if (this.appManager) {\n this.appManager.bindMainView(divElement, Boolean(disableCameraTransform));\n this.cursorManager?.setMainViewDivElement(divElement);\n }\n }\n\n public get canOperate(): boolean {\n if (isRoom(this.displayer)) {\n return (\n (this.displayer as Room).isWritable &&\n (this.displayer as Room).phase === RoomPhase.Connected\n );\n } else {\n return false;\n }\n }\n\n public get room(): Room {\n return this.displayer as Room;\n }\n\n public safeSetAttributes(attributes: any): void {\n if (this.canOperate) {\n this.setAttributes(attributes);\n }\n }\n\n public safeUpdateAttributes(keys: string[], value: any): void {\n if (this.canOperate) {\n this.updateAttributes(keys, value);\n }\n }\n\n public setPrefersColorScheme(scheme: TeleBoxColorScheme): void {\n this.appManager?.boxManager?.setPrefersColorScheme(scheme);\n }\n\n public cleanCurrentScene(): void {\n this.focusedView?.cleanCurrentScene();\n }\n\n public redo(): number {\n return this.focusedView?.redo() || 0;\n }\n\n public undo(): number {\n return this.focusedView?.undo() || 0;\n }\n\n public delete(): void {\n this.focusedView?.delete();\n }\n\n public copy(): void {\n this.focusedView?.copy();\n }\n\n public paste(): void {\n this.focusedView?.paste();\n }\n\n public duplicate(): void {\n this.focusedView?.duplicate();\n }\n\n public insertText(x: number, y: number, text: string | undefined): string {\n return this.focusedView?.insertText(x, y, text) || \"\";\n }\n\n public insertImage(info: ImageInformation): void {\n return this.focusedView?.insertImage(info);\n }\n\n public completeImageUpload(uuid: string, url: string): void {\n return this.focusedView?.completeImageUpload(uuid, url);\n }\n\n public lockImage(uuid: string, locked: boolean): void {\n return this.focusedView?.lockImage(uuid, locked);\n }\n\n public lockImages(locked: boolean): void {\n return this.focusedView?.lockImages(locked);\n }\n\n private isDynamicPPT(scenes: SceneDefinition[]) {\n const sceneSrc = scenes[0]?.ppt?.src;\n return sceneSrc?.startsWith(\"pptx://\");\n }\n\n private async ensureAttributes() {\n if (isNull(this.attributes)) {\n await wait(50);\n }\n if (isObject(this.attributes)) {\n if (!this.attributes[Fields.Apps]) {\n this.safeSetAttributes({ [Fields.Apps]: {} });\n }\n if (!this.attributes[Fields.Cursors]) {\n this.safeSetAttributes({ [Fields.Cursors]: {} });\n }\n if (!this.attributes[\"_mainScenePath\"]) {\n this.safeSetAttributes({ _mainScenePath: ROOT_DIR });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: 0 });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\nexport type { PublicEvent } from \"./callback\";","import { debounce, isFunction } from \"lodash\";\nimport { log } from \"./Utils/log\";\nimport { RoomPhase } from \"white-web-sdk\";\nimport type { Room } from \"white-web-sdk\";\nimport type { EmitterType } from \"./InternalEmitter\";\n\nexport type ReconnectRefresherContext = {\n emitter: EmitterType;\n};\n\n// 白板重连之后会刷新所有的对象,导致 listener 失效, 所以这里在重连之后重新对所有对象进行监听\nexport class ReconnectRefresher {\n private phase?: RoomPhase;\n private room: Room | undefined;\n private reactors: Map<string, any> = new Map();\n private disposers: Map<string, any> = new Map();\n\n constructor(private ctx: ReconnectRefresherContext) {}\n\n public setRoom(room: Room | undefined) {\n this.room = room;\n this.phase = room?.phase;\n room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n room?.callbacks.on(\"onPhaseChanged\", this.onPhaseChanged);\n }\n\n public setContext(ctx: ReconnectRefresherContext) {\n this.ctx = ctx;\n }\n\n private onPhaseChanged = (phase: RoomPhase) => {\n if (phase === RoomPhase.Connected && this.phase === RoomPhase.Reconnecting) {\n this.onReconnected();\n }\n this.phase = phase;\n };\n\n private onReconnected = debounce(() => {\n log(\"onReconnected refresh reactors\");\n this.releaseDisposers();\n this.reactors.forEach((func, id) => {\n if (isFunction(func)) {\n this.disposers.set(id, func());\n }\n });\n this.ctx.emitter.emit(\"onReconnected\", undefined);\n }, 3000);\n\n private releaseDisposers() {\n this.disposers.forEach(disposer => {\n if (isFunction(disposer)) {\n disposer();\n }\n });\n this.disposers.clear();\n }\n\n public add(id: string, func: any) {\n if (isFunction(func)) {\n this.reactors.set(id, func);\n this.disposers.set(id, func());\n }\n }\n\n public remove(id: string) {\n if (this.reactors.has(id)) {\n this.reactors.delete(id);\n }\n const disposer = this.disposers.get(id);\n if (disposer) {\n if (isFunction(disposer)) {\n disposer();\n }\n this.disposers.delete(id);\n }\n }\n\n public hasReactor(id: string) {\n return this.reactors.has(id);\n }\n\n public destroy() {\n this.room?.callbacks.off(\"onPhaseChanged\", this.onPhaseChanged);\n this.releaseDisposers();\n }\n}\n"],"names":["Events","Events2","MagixEventName","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","REQUIRE_VERSION","MIN_WIDTH","MIN_HEIGHT","ROOT_DIR","callbacks","Emittery","constructor","initInterval","setInterval","invoke","push","item","list","this","timer","length","currentInvoker","shift","then","emitReady","catch","error","message","isEmit","emit","destroy","emitter","DatabaseName","db","store","initDb","async","Promise","resolve","reject","request","indexedDB","open","onerror","e2","onupgradeneeded","event","db2","target","result","objectStoreNames","contains","createObjectStore","keyPath","createIndex","unique","onsuccess","setItem","key","val","payload","kind","sourceCode","transaction","objectStore","add","getItem","index","get","getScript","url","resource","options","timeout","controller","AbortController","id2","setTimeout","abort","response","fetch","__spreadProps","signal","headers","fetchWithTimeout","text2","text","executeScript","appName","Function","window","appRegister","Map","params","appClassesCache","delete","registered","set","srcOrAppOrFunction","src","downloadApp","appClass","name","status","reason","includes","define2","define","amd","loadApp","__esModule","default","Error","appClasses","app","addHooks","emitter2","createKindEmitter","kind2","kindEmitters","has","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCamera","moveCameraHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","nextScenePath","mainView","isEqual","omit","__spreadValues","camera","moveCamera","moveCameraToContain","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events","unlistenUpdated","reaction","fireImmediately","safeListenPropsUpdated","getProps","callback","onDestroyed","disposeListenUpdated","disposeReaction","props","isObject","onObjectRemoved","UpdateEventKind","Removed","Inserted","plainObjectKeys","keys","Boolean","Set","listeners","size","dispatch","forEach","addListener","removeListener","STORAGE_NS","context","defaultState","SideEffectManager","WeakMap","StorageEvent","_context","id","_state","rawState","_getRawState","getIsWritable","getAttributes","updateAttributes","setState","rawValue","JSON","parse","stringify","isRef","v","_refMap","_sideEffect","addDisposer","_updateProperties","bind","_destroyed","warn","addStateChangedListener","handler","onStateChanged","ensureState","reduce","value","v2","_lastValue","_setRawState","refValue","k","genUID","__isRef","emptyStorage","mapValues","noop","deleteStorage","flushAll","defaultValue","actions","diffs","i2","action","oldValue","newValue","curValue","k2","appId","appProxy","appOptions","autorun","toJS","listenDisposed","unlistenDisposed","isReplay","attributes","appAttr","getAppAttributes","isDynamicPPT","getAppInitPath","canOperate","box","getBox","BoxNotCreatedError","safeSetAttributes","safeUpdateAttributes","setFullPath","getRoom","dom","getView","divElement","storeId","storage","Storage","on","args","dispatchMagixEvent","appEmitter","isAddApp","_storage","Fields","Fields2","focus","Focus","setContext","apps","Apps","getAppState","State","getMaximized","getMinimized","setupAppAttributes","attrNames","pick","attrs","createdAt","Date","now","Size","Position","SceneIndex","updateAppState","stateName","cleanAppAttributes","cleanFocus","getAppSceneIndex","getAppScenePath","getMainViewScenePath","getMainViewSceneIndex","getBoxState","BoxState","setMainViewScenePath","_mainScenePath","setMainViewSceneIndex","_mainSceneIndex","getMainViewCamera","MainViewCamera","getMainViewSize","MainViewSize","setMainViewCamera","setMainViewSize","updateCursor","uid","position","Cursors","updateCursorState","cursorState","getCursorState","cleanCursor","setMainViewFocusPath","log","WindowManager","debug","appProxies","viewManager","sceneIndex","maximized","minimized","zIndex","x","y","width","height","appId2","refresher","stateKey","appState","appAttributes","setZIndex","fullPath","setFocusScenePathHandler","debounce","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","path","appImpl","appParams","setupApp","BoxManagerNotFoundError","AppContext","appContext","once","WindowCreated","boxInitState","getAppInitState","updateBoxState","onAny","appAttributesUpdateListener","setup","appResult","notifyApp","afterSetupApp","fixMobileSize","createBox","smartPosition","ZIndex","focusBox","intrinsicWidth","intrinsicHeight","setBoxInitState","onSeek","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","fullScenePath","needCloseBox","cleanAttrs","error2","stack","clearListeners","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","clear","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","addMainViewListener","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","rebind","disableCameraTransform","stop","mainViewIsAddListener","addEventListener","mainViewClickListener","removeMainViewListener","removeEventListener","blurAllBox","onCameraUpdatedByDevice","onCameraOrSizeUpdated","removeCameraListener","isEmpty","originX","originY","animationMode","AnimationMode","Immediately","scale","centerX","centerY","needScale","focused","addViewCallbacks","onCanRedoStepsUpdate","onCanUndoStepsUpdate","focusApp","getAppProxy","redoListener","undoListener","canRedoSteps","canUndoSteps","steps","prevFocused","disposeViewCallbacks","disposePrevFocusViewRedoUndoListeners","changed","prev","addRedoUndoListeners","windowManger","AppCreateQueue","createRootDirScenesCallback","onRootDirRemoved","attributesUpdateCallback","onAppDelete","isRecreate","callbacksNode","dispose","createScenesCallback","onAddScene","onSceneChange","onRemoveScene","updateSceneState","mainViewScenesLength","node","currentIndex","sceneName","contextPath","ids","startsWith","isReadonly","isManualWritable","setReadonly","disableSerialization","pageName","replace","findIndex","isInteger","dispatchInternalEvent","mainViewProxy","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","appCreateQueue","onCreated","onReconnected","isPlayer","onPlayerSeek","onRemoveScenes","onReadonlyChanged","closeApp","isRoom","getMainViewSceneDir","boxEventListener","setMaximized","setMinimized","mainSceneIndex","_prevSceneIndex","_prevFocused","mainScenePath","displayerWritableListener","redoUndo","RedoUndo","container","appIds","appsWithCreatedAt","orderBy","StartCreate","focusByAttributes","refresh","setBoxManager","resetMaximized","resetMinimized","bindMainView","needFocus","beforeAddApp","afterAddApp","impl","config","singleton","v4","slice","genAppId","setAppFocus","intrinsicX","intrinsicY","Page","_setMainViewScenePath","Dir","validScenePath","updateSceneIndex","dispatchSetMainViewScenePath","safeDispatchMagixEvent","boxSize","focusAppId","reconnected","Array","from","values","all","notifyContainerRectUpdate","rect","offAny","ResizeObserver","ResizeObserverPolyfill","sizer","wrapper","containerResizeObserver","ContainerResizeObserver","observePlaygroundSize","updateSizer","getBoundingClientRect","containerRect","contentRect","observe","containerSizeRatio","classList","toggle","style","disconnect","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","TypeError","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","n2","test3","letter","err","shouldUseNative","source","symbols","to","toObject","arguments","call","l","require$$0","n","Symbol","for","p","q","r","t","u","w","z","A","B","iterator","a2","b2","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","isReactComponent","C","forceUpdate","F","I","H","G","isPureReactComponent","J","current","K","L","ref","__self","__source","d2","g2","f2","children","h","m2","defaultProps","$$typeof","type","_owner","P","Q","keyPrefix","count","U","isArray","T","next","done","a3","escape","toString","X","N","aa","R","Y","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","W","V","toArray","only","O","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","M","render","_ctor","_status","_result","compare","Z","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","e","defineProperty","defineProperties","i","getOwnPropertyDescriptors","s","o","t2","enumerable","configurable","writable","a","m","exports","e3","t3","i3","fn","s3","n3","o3","r2","l2","_events","_eventsCount","create","__proto__","eventNames","r3","concat","listenerCount","apply","u2","o2","removeAllListeners","prefixed","EventEmitter","f","indexOf","g","b","requestAnimationFrame","Math","max","$","delta","timestamp","_","WeakSet","cancel","splice","process","schedule","c2","S","min","Number","toFixed","test","parseFloat","transform","endsWith","j","red","hue","substring","lastIndexOf","round","green","blue","alpha","saturation","lightness","substr","ee","onRead","onRender","uncachedValues","useCache","e4","hasCSSVariable","te","ie","toLowerCase","se","re","ne","oe","ae","document","le","he","createElement","charAt","toUpperCase","ce","de","ue","ve","ge","be","color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","opacity","originZ","fillOpacity","strokeOpacity","numOctaves","xe","ye","we","$e","Ce","enableHardwareAcceleration","isDashCase","allowTransformNone","pe","ze","sort","fe","l3","h2","trim","transformOrigin","Be","Me","element","preparseOutput","me","getComputedStyle","getPropertyValue","buildStyles","setProperty","scrollLeft","scrollTop","Ee","ke","Se","Ne","_e","attrX","attrY","pathLength","pathSpacing","pathOffset","Re","Te","Ie","getAttribute","buildAttrs","setAttribute","Oe","pageYOffset","pageXOffset","scrollTo","De","querySelector","HTMLElement","click","SVGElement","getBBox","tagName","getTotalLength","Le","Ae","He","We","je","Pe","Ye","random","disposers","flush","clearTimeout","clearInterval","Je","Qe","Ke","et","tt","it","st","rt","nt","ot","Fe","Ze","require","_value","setValue","_subscribers","subscribe","derive","qe","addBeforeDestroy","_beforeDestroys","t4","bindSideEffect","combine","e5","i4","s4","e6","s5","createVal","stopPropagation","cancelable","preventDefault","touches","Light","Dark","Auto","Normal","Minimized","Maximized","DarkMode","PrefersColorScheme","Close","Blur","Move","Resize","IntrinsicMove","IntrinsicResize","VisualResize","Readonly","Destroyed","Maximize","Minimize","North","South","West","East","NorthWest","NorthEast","SouthEast","SouthWest","ut","buttons","onEvent","onDragStart","namespace","$btns","sideEffect","Xe","lastTitleBarClick","clientX","clientY","handleTitleBarClick","button","dataset","teleTitleBarNoDblClick","abs","lastTitleBarTouch","handleTitleBarTouch","iconClassName","wrapClassName","isActive","$dragArea","renderDragArea","setTitle","$title","textContent","$titleBar","className","teleBoxHandle","appendChild","teleTitleBarBtnIndex","isNaN","passive","dragHandle","dt","mt","prefersColorScheme","darkMode","visible","resizable","draggable","p2","fence","fixRatio","x2","y2","w2","titleBar","$2","content","C2","footer","z2","styles","B2","_2","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","_delegateEvents","S2","R2","matchMedia","matches","bt","N2","T2","L2","I2","O2","D2","A2","V2","H2","W2","j2","P2","Y2","X2","F2","lt","Z2","q2","G2","U2","J2","pt","Q2","K2","ee2","$userContent","$userFooter","$userStyles","_state$","_minSize$","_size$","_intrinsicSize$","_visualSize$","_coord$","_intrinsicCoord$","$box","_darkMode$","setMinWidth","setMinHeight","resize","move","mount","unmount","mountContent","set$userContent","unmountContent","mountFooter","set$userFooter","unmountFooter","getUserStyles","mountStyles","set$userStyles","unmountStyles","ft","_readonly$","_draggable$","vt","_resizable$","_focus$","_visible$","display","_zIndex$","Ve","teleBoxID","absoluteWidth","absoluteHeight","_minimized$","_containerRect$","_collectorRect$","$content","_$userStyles$","_$userContent$","$footer","_$userFooter$","_renderResizeHandlers","pageX","pageY","ct","d3","m3","m4","wt","$t","onClick","handleCollectorClick","_readonly","_visible","_darkMode","$collector","setVisible","setDarkMode","setStyles","backgroundImage","Focused","Blurred","Created","boxes","focusedBox","$titles","firstElementChild","setContainerRect","setBoxes","updateTitles","super","insertBefore","replaceChild","renderTitles","currentTarget","scrollBy","deltaY","behavior","root","body","collector","boxes$","topBox$","setPrefersColorScheme","maxTitleBar","setFence","Ct","setCollectorRect","parentElement","makeBoxTop","zt","removeTopBox","focusTopBox","gt","topBox","query","filter","teleBoxMatcher","queryOne","find","update","updateBox","updateAll","getBoxIndex","removeAll","setFocus","blurBox","blurAll","every","setResizable","setDraggable","setFixRatio","createTeleBoxManagerConfig","teleBoxManager","setupBoxManager","_prefersColorScheme$","colorScheme","getTopBox","updateManagerRect","getMainView","createBoxConfig","TELE_BOX_STATE","initManagerState","TeleBoxManager","collectorContainer","setCollectorContainer","TeleBoxCollector","collectorStyles","setCollector","boxIsFocus","getFocusBox","fns","run","thing","src_url_equal_anchor","current_component","element_src","href","anchor","parentNode","removeChild","createTextNode","attribute","removeAttribute","wholeText","important","component","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","flushing","seen_callbacks","$$","fragment","before_update","dirty","ctx","after_update","add_render_callback","outroing","instance2","create_fragment2","not_equal","append_styles","parent_component","bound","blank_object","on_mount","on_destroy","on_disconnect","skip_bound","ready","ret","rest","hydrate","nodes","element2","childNodes","detach","intro","block","local","customElement","new_on_destroy","is_function","cursorName","appliance","avatar","theme","cursorTagBackgroundColor","hasTagName","hasAvatar","isLaserPointer","ApplianceNames","laserPointer","entries","hasName","$destroy","detaching","d","$on","$set","$$props","obj","$$set","ApplianceMap","pencil","selector","eraser","shape","memberId","cursorManager","wrapperRect","autoHidden","moveCursor","focusView","viewRect","viewCamera","hide","updateMember","createCursor","cursor","point","screen","convertPointToScreen","member","memberState","currentApplianceName","strokeColor","nickName","cursorTextColor","memberColor","memberCursorName","memberAvatar","cursorTagName","App","initProps","memberApplianceName","getIcon","memberTheme","memberCursorTextColor","memberCursorTagBackgroundColor","memberOpacity","memberTagName","roomMembers","findMemberByUid","updateComponent","cursorInstances","enableCursor","cursorInstance","initCursorInstance","Leave","leave","canMoveCursor","Cursor","throttle","pointerType","isPrimary","getType","convertToPointInWorld","mainViewElement","hideCursor","setupWrapper","onCursorMove","updateContainerRect","mouseMoveListener","mouseLeaveListener","setMainViewDivElement","div","getPoint","deleteCursor","delegateRemoveScenes","originRemoveScenes","delegateSeekToProgressTime","player","originSeek","seekToProgressTime","seekResult","__defProp2","__defProps2","__getOwnPropDescs2","__getOwnPropSymbols2","__hasOwnProp2","__propIsEnum2","__defNormalProp2","__spreadValues2","prop","__spreadProps2","copyProperty","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","wrappedToString","withName","fromBody","toStringDescriptor","toStringName","mimicFn_1","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","runningOnBrowser","isBot","navigator","userAgent","supportsIntersectionObserver","supportsClassList","isHiDpi","devicePixelRatio","defaultSettings","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","getExtendedSettings","customSettings","createInstance","classObj","eventString","CustomEvent","detail","instance","createEvent","initCustomEvent","dispatchEvent","SRC","SRCSET","SIZES","POSTER","ORIGINALS","statusLoading","statusLoaded","statusApplied","statusError","statusNative","dataPrefix","statusDataName","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","unobserve","observer","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","parent","forEachVideoSource","attrsSrc","attrsSrcPoster","attrsSrcSrcsetSizes","hasOriginalAttrs","getOriginalAttrs","deleteOriginalAttrs","setOriginalsObject","originals","restoreOriginalAttrs","manageLoading","settings","setAttributeIfValue","setImageAttributes","setMultiBackground","bg1xValue","bgHiDpiValue","bgDataValue","setSourcesFunctions","IMG","imgEl","sourceTag","IFRAME","iframe","VIDEO","videoEl","sourceEl","load","elementsWithLoadEvent","checkFinish","isSomethingLoading","haveElementsToLoad","llEvLisnrs","hasEventListeners","removeEventListeners","eventListeners","doneHandler","addOneShotEventListeners","elementToListenTo","loadHandler2","errorHandler2","loadEventName","goingNative","loadBackground","loadRegular","setSourcesFunction","hasLoadEvent","loadNative","removeImageAttributes","restoreImg","restoreFunctions","iframeEl","restoreAttributes","restoreFunction","restore","cancelLoading","entry","hasStatusLoading","onEnter","dontLoad","hadStartedLoading","tagsWithNativeLazy","HTMLImageElement","intersectionHandler","isIntersecting","intersectionRatio","onExit","setObserver","IntersectionObserver","rootMargin","getObserverSettings","nodeSet","queryElements","querySelectorAll","hasError","hasStatusError","getElementsToLoad","elements","excludeManagedElements","retryLazyLoad","LazyLoad","_settings","givenNodeset","elementsToLoad","elementsToObserve","loadAll","restoreAll","optionsItem","lazyLoadOptions","pages","onNewPageIndex","onPlay","pageIndex","isShowPreview","isSmallBox","previewLazyLoad","$preview","$pageNumberInput","disabled","setPageIndex","setSmallBox","renderContent","renderFooter","renderPreviewMask","renderPreview","pageClassName","pageNameClassName","page","_a","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","some","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_b","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","lastVisit","pageOffsetY","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","pagesIntrinsicWidth","pagesIntrinsicHeight","_calcScale","_calcThreshold","onPageIndexChanged","pageScrollIndex","findScrollPageIndex","pageElManager","PageElManager","renderPages","setContainerSize","pagesScrollTo","force","clamp","_turnOnHWA","startIndex","endIndex","$parent","ceil","pagesWidth","pagesHeight","scrollbarMinHeight","scrollbarHeight","_calcScrollbarHeight","onDragScroll","$scrollbar","renderScrollbar","_updateScrollbarHeight","trackStart","draggingClassName","startTop","startY","flattenEvent","tracking","ev2","offsetY","trackEnd","newHeight","RATIO_BASE_CONTAINER_HEIGHT","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","renderRatioHeight","syncPageScrollTop","renderWhiteboardView","boxHeight","titleBarSupposedHeight","titleBarActualHeight","footerSupposedHeight","footerActualHeight","emptySpace","titleBarHeight","footerHeight","$whiteboardView","capture","scrollTopPageToEl","scrollTopElToPage","elScrollTop","elScrollTo","halfWbHeight","handleCameraUpdate","wbWidth","wbHeight","handleSizeUpdate","newPageScrollTop","disposerID","dFn","onPlayPPT","pptNextStep","_scaleDocsToFitImpl","getPageIndex","_scaleDocsToFitDebounced","scaleDocsToFit","jumpToPage","getDisplayer","reset","initScenePath","getInitScenePath","getScenes","pptState","globalState","__pptState","setGlobalState","uuid","disableAutoPlay","renderMask","$mask","mountView","NetlessAppDocsViewer","ppt","previewURL","docsViewer","DynamicDocsViewer","contentWidth","contentHeight","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","exports3","unstable_now","performance","console","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","delay","require$$1","require$$2","onError","da","ea","fa","ha","ia","la","ma","na","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","dependencies","wa","ra","ya","za","Aa","Ba","stateNode","Ia","Fa","Ja","Ka","Ea","La","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Sa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","displayName","pb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","nodeName","_valueTracker","sb","getValue","stopTracking","tb","checked","defaultChecked","_wrapperState","initialChecked","rb","initialValue","controlled","Xa","Db","ownerDocument","activeElement","Children","Fb","selected","defaultSelected","dangerouslySetInnerHTML","Mb","Nb","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","Tb","animationend","Sb","animationiteration","animationstart","transitionend","Ub","Vb","animation","transition","Xb","Wb","Yb","Zb","$b","ac","bc","alternate","effectTag","memoizedState","dehydrated","dc","child","fc","sibling","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","oa","isPersistent","ic","lc","srcElement","correspondingUseElement","pc","topLevelType","nativeEvent","targetInst","ancestors","eventSystemFlags","containerInfo","tc","nc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","blockedOn","pointerId","Kc","Nc","ec","unstable_runWithPriority","priority","Rc","Qc","Sc","unstable_scheduleCallback","unstable_NormalPriority","Tc","b3","Uc","Wc","Yc","Zc","$c","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Ha","Mc","Oc","rc","sc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","kd","ld","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","is","qd","cc","ud","offset","nextSibling","wd","compareDocumentPosition","td","HTMLIFrameElement","contentWindow","location","contentEditable","Bd","Cd","Dd","Ed","autoFocus","__html","Hd","Id","previousSibling","Ld","Md","Nd","Od","Kd","Sd","dispatchConfig","_targetInst","Rd","Vd","Ud","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","extend","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","locale","Xd","which","ctrlKey","altKey","metaKey","char","date","datetime","email","month","number","password","range","search","tel","week","change","yb","Pd","detachEvent","attachEvent","Ge","oc","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","shiftKey","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","mouseEnter","mouseLeave","pointerEnter","pointerLeave","defaultView","parentWindow","af","cf","df","ef","ff","gf","hf","yd","selectionStart","end","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","bf","kf","onSelect","jf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","rf","of","repeat","sf","dataTransfer","tf","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","Qd","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","Ff","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","bg","fg","gg","jg","kg","lg","mg","childExpirationTime","firstContext","observedBits","responders","tg","updateQueue","baseState","baseQueue","shared","pending","effects","suspenseConfig","vg","ca","Dg","Eg","Component","Jg","_reactInternalFiber","Gg","wg","Hg","shouldComponentUpdate","contextType","sg","Cf","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zg","componentDidMount","Og","_stringRef","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Pg","Ug","implementation","Vg","f3","Wg","nb","k3","g3","D3","Qg","Xg","Rg","Yg","Zg","$g","ah","bh","documentElement","Ob","ch","memoizedProps","revealOrder","responder","jh","kh","lh","mh","ph","qh","rh","sh","O$1","queue","P$1","uh","lastRenderedReducer","eagerReducer","eagerState","Bg","Ag","lastRenderedState","th","vh","zh","deps","Ah","nh","Ch","Dh","Hh","ag","readContext","useDebugValue","useResponder","useDeferredValue","useTransition","Kh","Eh","yh","Jh","ih","Nh","Lh","Fh","Ih","Gh","Mh","wh","Bh","xh","Oh","Ph","Qh","Sh","pendingProps","Th","Jd","Vh","Gd","Yh","rg","oh","$h","bi","ci","di","Lg","Ng","Mg","Kg","ig","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","Hf","getDerivedStateFromError","pendingContext","Ef","ni","pi","qi","ii","retryTime","fallback","unstable_avoidThisFallback","Uh","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","ki","hh","Df","eh","Wh","wasMultiple","multiple","rd","onclick","sd","pd","zb","Gb","Ib","md","Rb","Hb","ti","ui","vi","wi","T$1","yi","og","ri","gh","qb","Bi","__reactInternalSnapshotBeforeUpdate","Cg","Fd","Vc","Li","componentWillUnmount","Di","Ni","Oi","Qi","Ri","_reactRootContainer","Ki","Bb","Ti","Vi","Wi","Zi","componentDidCatch","aj","Ci","componentStack","Rj","bj","cj","dj","fj","gj","kj","lj","mj","nj","oj","Yi","qj","rj","sj","tj","uj","vj","wj","hg","timeoutMs","xj","yj","xi","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","eg","zj","dg","Bj","Cj","Ej","Fj","X$1","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","pingCache","Oj","Ai","Xi","ub","$i","Pj","Xc","Qj","si","U$1","zi","Sj","firstSuspendedTime","xd","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Y$1","Mi","vd","createRange","setStart","removeAllRanges","addRange","setEnd","Ji","vb","Uj","Gi","cg","Vj","Ii","hidden","Gf","ji","mi","Fg","Xj","fi","Zh","ai","Xh","fh","ei","dh","xg","qg","unstable_observedBits","Zj","pendingChildren","dk","ak","Jc","_internalRoot","ck","hasAttribute","fk","hk","gk","jk","ek","form","Mj","Dj","lk","xa","Wd","Da","mc","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","hc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","kk","ik","checkDCE","currentTime","hostTime","muted","volume","currentTimeMaxError","syncInterval","retryInterval","verbose","beginTimestamp","progressTime","calibrationTimestamp","global","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","offsetWidth","handleTrackHover","seekHoverPosition","mouseSeekingHandler","setSeeking","onMouseUp","mobileTouchSeekingHandler","setMobileSeeking","renderBufferProgress","buffered","getPositionStyle","bufferColor","renderProgress","sliderColor","renderHoverProgress","getSeekHoverPosition","sliderHoverColor","renderThumb","isThumbActive","getThumbHandlerPosition","thumbColor","onMouseDown","onSeekStart","play","onSeekEnd","total","onChange","getHoverTimePosition","limitTimeTooltipBySides","secondsToTime","mm","ss","getHoverTime","drawHoverTime","hideHoverTime","onMouseMove","onMouseLeave","onTouchStart","onTouchEnd","stageVolume","updateVolumeTimer","onVolumeSeeking","onClickOperationButton","operationButton","operationVolumeButton","handleClickVolume","setVolume","changeTime","setCurrentTime","onVolumeChange","changeVolume","seekVolume","onVolumeSeekStart","onVolumeSeekEnd","onProgressSeekStart","isPlayerSeeking","onProgressSeekEnd","isVolumeHover","duration","onMouseEnter","putAttributes","plugin","alertMask","createRef","controllerHiddenTimer","syncPlayerTimer","retryCount","decreaseRetryTimer","noSoundSyncCount","showController","controllerVisible","debounceHidingController","isEnabled","resetPlayer","autoplay","NoSound","syncPlayerWithAttributes","catchPlayFail","decreaseRetryCount","initPlayer","MediaError","fixPlayFail","poster","pathname","one","gracefullyUpdate","onPlayer","setupAlert","setupReload","isShowingPoster","bufferedPercent","alt","VERSION","unmountComponentAtNode","BuiltinApps","AppDocsViewer","MediaPlayer","AppMediaPlayer","phase","RoomPhase","Connected","Reconnecting","releaseDisposers","reactors","isFunction","onPhaseChanged","disposer","hasReactor","InvisiblePlugin","ViewMode","Broadcaster","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","_WindowManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","appManager","AppManager","CursorManager","bindContainer","disable","scenePreview","fillSceneSnapshot","generateScreenshot","setMemberState","redo","undo","cleanCurrentScene","copy","paste","duplicate","insertImage","completeImageUpload","insertText","lockImage","lockImages","setWritable","createInvisiblePlugin","chessboard","overwriteStyles","playground","style2","initContainer","BoxManager","bindCollectorContainer","register","ParamsInvalidError","AppCreateError","setupScenePath","addApp","AppManagerNotInitError","isValidScenePath","InvalidScenePath","appScenePath","putScenes","nextIndex","mainViewSceneIndex","prevIndex","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","focusedView","queryAll","pureCamera","rectangle","cameraBound","onDestroy","_destroy","setAttributes","scheme","info","uuid2","locked","sceneSrc","isNull"],"mappings":"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"}