@netless/window-manager 0.4.16 → 0.4.19

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +9 -3
  3. package/dist/{AppContext.d.ts → App/AppContext.d.ts} +12 -6
  4. package/dist/App/AppPageStateImpl.d.ts +17 -0
  5. package/dist/{AppProxy.d.ts → App/AppProxy.d.ts} +15 -7
  6. package/dist/App/Storage/index.d.ts +1 -1
  7. package/dist/App/index.d.ts +2 -0
  8. package/dist/AppManager.d.ts +2 -1
  9. package/dist/Page/PageController.d.ts +15 -0
  10. package/dist/Page/index.d.ts +1 -0
  11. package/dist/PageState.d.ts +1 -4
  12. package/dist/RedoUndo.d.ts +1 -1
  13. package/dist/Utils/AppCreateQueue.d.ts +1 -1
  14. package/dist/Utils/Common.d.ts +1 -1
  15. package/dist/callback.d.ts +1 -1
  16. package/dist/index.d.ts +4 -8
  17. package/dist/index.es.js +15403 -5
  18. package/dist/index.es.js.map +1 -1
  19. package/dist/index.umd.js +46 -41
  20. package/dist/index.umd.js.map +1 -1
  21. package/dist/style.css +1 -1
  22. package/dist/typings.d.ts +4 -2
  23. package/docs/app-context.md +46 -1
  24. package/docs/develop-app.md +4 -0
  25. package/jest.config.js +27 -0
  26. package/package.json +11 -3
  27. package/pnpm-lock.yaml +8176 -0
  28. package/src/{AppContext.ts → App/AppContext.ts} +49 -7
  29. package/src/App/AppPageStateImpl.ts +49 -0
  30. package/src/{AppProxy.ts → App/AppProxy.ts} +57 -17
  31. package/src/App/Storage/index.ts +1 -1
  32. package/src/App/index.ts +2 -0
  33. package/src/AppManager.ts +6 -5
  34. package/src/InternalEmitter.ts +1 -1
  35. package/src/Page/PageController.ts +18 -0
  36. package/src/Page/index.ts +1 -0
  37. package/src/PageState.ts +2 -6
  38. package/src/RedoUndo.ts +1 -1
  39. package/src/Utils/AppCreateQueue.ts +3 -3
  40. package/src/Utils/Common.ts +2 -2
  41. package/src/Utils/RoomHacker.ts +6 -2
  42. package/src/View/MainView.ts +4 -2
  43. package/src/callback.ts +1 -1
  44. package/src/index.ts +4 -9
  45. package/src/typings.ts +4 -2
  46. package/.eslintignore +0 -4
  47. package/.eslintrc.js +0 -28
  48. package/.idea/inspectionProfiles/Project_Default.xml +0 -7
  49. package/.idea/modules.xml +0 -8
  50. package/.idea/vcs.xml +0 -6
  51. package/.idea/window-manager.iml +0 -12
  52. package/.vscode/settings.json +0 -22
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.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/PageState.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 RootDirRemoved = \"RootDirRemoved\",\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 = \"/\";\nexport const INIT_DIR = \"/init\";\n\nexport const SETUP_APP_DELAY = 50;\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\";\nimport type { PageState } from \"./PageState\";\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 pageStateChange: PageState;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n","import { callbacks } from \"../callback\";\nimport type { AppProxy } from \"../AppProxy\";\nimport { SETUP_APP_DELAY } from \"../constants\";\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.invoked();\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n this.invoked();\n });\n }\n }\n\n private invoked = () => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n this.clear();\n this.emitReady();\n }\n }\n\n private clear = () => {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n\n public emitReady() {\n if (!this.isEmit) {\n setTimeout(() => {\n callbacks.emit(\"ready\");\n }, SETUP_APP_DELAY);\n }\n this.isEmit = true;\n }\n\n public empty() {\n this.list = [];\n this.clear();\n }\n\n public destroy() {\n if (this.timer) {\n this.clear();\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 seekStart: undefined;\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 changePageState: 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\nexport type SyncRegisterAppPayload = { kind: string, src: string, name: string | undefined };\nexport type SyncRegisterApp = (payload: SyncRegisterAppPayload) => void;\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 private syncRegisterApp: SyncRegisterApp | null = null;\n\n public setSyncRegisterApp(fn: SyncRegisterApp) {\n this.syncRegisterApp = fn;\n }\n\n public onSyncRegisterAppChange = (payload: SyncRegisterAppPayload) => {\n this.register({ kind: payload.kind, src: payload.src });\n }\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, params.name)) 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 if (this.syncRegisterApp) {\n this.syncRegisterApp({ kind: params.kind, src: srcOrAppOrFunction, name: params.name });\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 unregister(kind: string) {\n this.appClasses.delete(kind);\n this.appClassesCache.delete(kind);\n this.registered.delete(kind);\n const kindEmitter = this.kindEmitters.get(kind);\n if (kindEmitter) {\n kindEmitter.clearListeners();\n this.kindEmitters.delete(kind);\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 { ROOT_DIR } from \"../constants\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../callback\";\nimport type { Displayer, ViewVisionMode, Room, View , SceneDefinition} from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\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 const nextScenePath = scenePath === \"/\" ? \"\" : scenePath;\n room.setScenePath(nextScenePath);\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\nexport const putScenes = (room: Room | undefined, path: string, scenes: SceneDefinition[]) => {\n return room?.putScenes(path, scenes);\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 case Events.RootDirRemoved: {\n this.rootDirRemovedHandler();\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 private rootDirRemovedHandler = () => {\n this.manager.createRootDirScenesCallback();\n this.manager.mainViewProxy.rebind();\n emitter.emit(\"rootDirRemoved\");\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 const appScopeEvent = `${this.appId}:${args[0]}`;\n return this.manager.room?.dispatchMagixEvent(appScopeEvent, args[1]);\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 const appScopeEvent = `${this.appId}:${event}`;\n this.manager.displayer.addMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener,\n options\n );\n return () =>\n this.manager.displayer.removeMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener\n );\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 Registered = \"registered\",\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, SETUP_APP_DELAY } 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 }, SETUP_APP_DELAY);\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 async onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time).catch(err => {\n console.log(`[WindowManager]: emit seek error: ${err.message}`)\n });\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 console.log(\"setViewFocusScenePath\", this.kind, this.id, fullPath)\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 console.log(\"put closeApp\", 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 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.addMainViewListener();\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 this.mainViewIsAddListener = false;\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, INIT_DIR, 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 { Fields, store } from \"./AttributesDelegate\";\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 { ViewManager } from \"./View/ViewManager\";\nimport type { SyncRegisterAppPayload } from \"./Register\";\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\";\n\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 public rootDirRemoving = false;\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(\"seekStart\", this.onPlayerSeekStart);\n emitter.on(\"seek\", this.onPlayerSeekDone);\n }\n\n emitter.on(\"removeScenes\", this.onRemoveScenes);\n emitter.on(\"setReadonly\", this.onReadonlyChanged);\n\n this.createRootDirScenesCallback();\n\n appRegister.setSyncRegisterApp(payload => {\n this.safeUpdateAttributes([Fields.Registered, payload.kind], payload);\n });\n }\n\n private onRemoveScenes = async (scenePath: string) => {\n // 如果移除根目录就把 scenePath 设置为初始值\n if (scenePath === ROOT_DIR) {\n await this.onRootDirRemoved();\n this.dispatchInternalEvent(Events.RootDirRemoved);\n return;\n }\n // 如果移除的 path 跟 MainViewScenePath 相同就取当前目录的当前 index\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n const nextPath = this.callbacksNode?.scenes[this.store.getMainViewSceneIndex()];\n this.setMainViewScenePath(`/${nextPath}` || INIT_DIR);\n }\n }\n };\n\n /**\n * 根目录被删除时所有的 scene 都会被删除.\n * 所以需要关掉所有开启了 view 的 app\n */\n public async onRootDirRemoved(needClose = true) {\n this.rootDirRemoving = true;\n this.setMainViewScenePath(INIT_DIR);\n\n this.createRootDirScenesCallback();\n \n for (const [id, appProxy] of this.appProxies.entries()) {\n if (appProxy.view) {\n await this.closeApp(id, needClose);\n }\n }\n // 删除了根目录的 scenes 之后 mainview 需要重新绑定, 否则主白板会不能渲染\n this.mainViewProxy.rebind();\n\n emitter.emit(\"rootDirRemoved\");\n this.rootDirRemoving = false;\n }\n\n private onReadonlyChanged = () => {\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n };\n\n private onPlayerSeekStart = async () => {\n await this.closeAll();\n };\n\n private onPlayerSeekDone = async (time: number) => {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n };\n\n public 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 this.emitMainViewScenesChange(this.callbacksNode.scenes.length);\n }\n }\n };\n\n private onSceneChange = (node: ScenesCallbacksNode) => {\n this.mainViewScenesLength = node.scenes.length;\n this.updateSceneState(node);\n this.emitMainViewScenesChange(this.mainViewScenesLength);\n };\n\n private emitMainViewScenesChange = (length: number) => {\n callbacks.emit(\"mainViewScenesLengthChange\", length);\n emitter.emit(\"changePageState\");\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 this.onMinimized(minimized);\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n this.onMainViewIndexChange(mainSceneIndex);\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n this.onFocusChange(focused);\n });\n });\n this.refresher?.add(\"registeredChange\", () => {\n return autorun(() => {\n const registered = get(this.attributes, Fields.Registered);\n this.onRegisteredChange(registered);\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 this.resetScenePath(mainScenePath);\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 private onMainViewIndexChange = (index: number) => {\n if (index !== undefined && this._prevSceneIndex !== index) {\n callbacks.emit(\"mainViewSceneIndexChange\", index);\n emitter.emit(\"changePageState\");\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n }\n this._prevSceneIndex = index;\n }\n }\n\n private onFocusChange = (focused: string | undefined) => {\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 /**\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 try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n this.appStatus.set(id, AppStatus.StartCreate);\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 private onRegisteredChange = (registered: Record<string, SyncRegisterAppPayload>) => {\n if (!registered) return;\n Object.entries(registered).forEach(([kind, payload]) => {\n if (!appRegister.appClasses.has(kind)) {\n appRegister.register({\n kind,\n src: payload.src,\n name: payload.name,\n });\n }\n });\n };\n\n private onMinimized = (minimized: boolean | undefined) => {\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 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 = async (apps: any) => {\n const ids = Object.keys(apps);\n for (const [id, appProxy] of this.appProxies.entries()) {\n if (!ids.includes(id)) {\n await appProxy.destroy(true, false, true);\n }\n }\n };\n\n private closeAll = async () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [_, appProxy] of this.appProxies.entries()) {\n await appProxy.destroy(true, false, true);\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 private resetScenePath(scenePath: string) {\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== scenePath) {\n setScenePath(this.room, scenePath);\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, needClose = true) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, needClose, 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 type { AppManager } from \"./AppManager\";\nimport { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\n\nexport type PageState = {\n index: number;\n length: number;\n};\n\nexport class PageStateImpl {\n constructor(private manager: AppManager) {\n emitter.on(\"changePageState\", () => {\n callbacks.emit(\"pageStateChange\", this.toObject());\n });\n }\n\n public get index(): number {\n return this.manager?.store.getMainViewSceneIndex() || 0;\n }\n\n public get length(): number {\n return this.manager?.mainViewScenesLength || 0;\n }\n\n public toObject(): PageState {\n return {\n index: this.index,\n length: this.length,\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 // seek 时需要先关闭所有的 app 防止内部使用的 mobx 出现错误\n await emitter.emit(\"seekStart\");\n const seekResult = await originSeek.call(player, time);\n emitter.emit(\"seek\", time); \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};\nfunction mimicFunction(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}\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 mimicFunction(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 = /* @__PURE__ */ 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}\nvar resizeObservers = [];\nvar hasActiveObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.activeTargets.length > 0;\n });\n};\nvar hasSkippedObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.skippedTargets.length > 0;\n });\n};\nvar msg = \"ResizeObserver loop completed with undelivered notifications.\";\nvar deliverResizeLoopError = function() {\n var event;\n if (typeof ErrorEvent === \"function\") {\n event = new ErrorEvent(\"error\", {\n message: msg\n });\n } else {\n event = document.createEvent(\"Event\");\n event.initEvent(\"error\", false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nvar ResizeObserverBoxOptions;\n(function(ResizeObserverBoxOptions2) {\n ResizeObserverBoxOptions2[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions2[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions2[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nvar freeze = function(obj) {\n return Object.freeze(obj);\n};\nvar ResizeObserverSize = function() {\n function ResizeObserverSize2(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize2;\n}();\nvar DOMRectReadOnly = function() {\n function DOMRectReadOnly2(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly2.prototype.toJSON = function() {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x, y, top, right, bottom, left, width, height };\n };\n DOMRectReadOnly2.fromRect = function(rectangle) {\n return new DOMRectReadOnly2(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly2;\n}();\nvar isSVG = function(target) {\n return target instanceof SVGElement && \"getBBox\" in target;\n};\nvar isHidden = function(target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function(obj) {\n var _a, _b;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function(target) {\n switch (target.tagName) {\n case \"INPUT\":\n if (target.type !== \"image\") {\n break;\n }\n case \"VIDEO\":\n case \"AUDIO\":\n case \"EMBED\":\n case \"OBJECT\":\n case \"CANVAS\":\n case \"IFRAME\":\n case \"IMG\":\n return true;\n }\n return false;\n};\nvar global = typeof window !== \"undefined\" ? window : {};\nvar cache = /* @__PURE__ */ new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = /msie|trident/i.test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function(pixel) {\n return parseFloat(pixel || \"0\");\n};\nvar size = function(inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) {\n inlineSize = 0;\n }\n if (blockSize === void 0) {\n blockSize = 0;\n }\n if (switchSizes === void 0) {\n switchSizes = false;\n }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function(target, forceRecalculation) {\n if (forceRecalculation === void 0) {\n forceRecalculation = false;\n }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === \"border-box\";\n var switchSizes = verticalRegexp.test(cs.writingMode || \"\");\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || \"\");\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || \"\");\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function(target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nvar ResizeObserverEntry = function() {\n function ResizeObserverEntry2(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry2;\n}();\nvar calculateDepthForNode = function(node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nvar broadcastActiveObservations = function() {\n var shallowestDepth = Infinity;\n var callbacks2 = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks2.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks2; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nvar gatherActiveObservationsAtDepth = function(depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n } else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nvar process = function() {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nvar trigger;\nvar callbacks = [];\nvar notify = function() {\n return callbacks.splice(0).forEach(function(cb) {\n return cb();\n });\n};\nvar queueMicroTask = function(callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode(\"\");\n var config = { characterData: true };\n new MutationObserver(function() {\n return notify();\n }).observe(el_1, config);\n trigger = function() {\n el_1.textContent = \"\" + (toggle_1 ? toggle_1-- : toggle_1++);\n };\n }\n callbacks.push(callback);\n trigger();\n};\nvar queueResizeObserver = function(cb) {\n queueMicroTask(function ResizeObserver2() {\n requestAnimationFrame(cb);\n });\n};\nvar watching = 0;\nvar isWatching = function() {\n return !!watching;\n};\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n \"resize\",\n \"load\",\n \"transitionend\",\n \"animationend\",\n \"animationstart\",\n \"animationiteration\",\n \"keyup\",\n \"keydown\",\n \"mouseup\",\n \"mousedown\",\n \"mouseover\",\n \"mouseout\",\n \"blur\",\n \"focus\"\n];\nvar time = function(timeout) {\n if (timeout === void 0) {\n timeout = 0;\n }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = function() {\n function Scheduler2() {\n var _this = this;\n this.stopped = true;\n this.listener = function() {\n return _this.schedule();\n };\n }\n Scheduler2.prototype.run = function(timeout) {\n var _this = this;\n if (timeout === void 0) {\n timeout = CATCH_PERIOD;\n }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function() {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n } finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1e3);\n } else if (timeout > 0) {\n _this.run(timeout);\n } else {\n _this.start();\n }\n }\n });\n };\n Scheduler2.prototype.schedule = function() {\n this.stop();\n this.run();\n };\n Scheduler2.prototype.observe = function() {\n var _this = this;\n var cb = function() {\n return _this.observer && _this.observer.observe(document.body, observerConfig);\n };\n document.body ? cb() : global.addEventListener(\"DOMContentLoaded\", cb);\n };\n Scheduler2.prototype.start = function() {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function(name) {\n return global.addEventListener(name, _this.listener, true);\n });\n }\n };\n Scheduler2.prototype.stop = function() {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function(name) {\n return global.removeEventListener(name, _this.listener, true);\n });\n this.stopped = true;\n }\n };\n return Scheduler2;\n}();\nvar scheduler = new Scheduler();\nvar updateCount = function(n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nvar skipNotifyOnElement = function(target) {\n return !isSVG(target) && !isReplacedElement(target) && getComputedStyle(target).display === \"inline\";\n};\nvar ResizeObservation = function() {\n function ResizeObservation2(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation2.prototype.isActive = function() {\n var size2 = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size2;\n }\n if (this.lastReportedSize.inlineSize !== size2.inlineSize || this.lastReportedSize.blockSize !== size2.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation2;\n}();\nvar ResizeObserverDetail = function() {\n function ResizeObserverDetail2(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail2;\n}();\nvar observerMap = /* @__PURE__ */ new WeakMap();\nvar getObservationIndex = function(observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = function() {\n function ResizeObserverController2() {\n }\n ResizeObserverController2.connect = function(resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController2.observe = function(resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController2.unobserve = function(resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController2.disconnect = function(resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function(ot) {\n return _this.unobserve(resizeObserver, ot.target);\n });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController2;\n}();\nvar ResizeObserver$1 = function() {\n function ResizeObserver2(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== \"function\") {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver2.prototype.observe = function(target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver2.prototype.unobserve = function(target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver2.prototype.disconnect = function() {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver2.toString = function() {\n return \"function ResizeObserver () { [polyfill code] }\";\n };\n return ResizeObserver2;\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, pagesIntrinsicWidth) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.pageOffsetX = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n this.pageOffsetX = (pagesIntrinsicWidth - page.width) / 2;\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 = `translate(${this.pageOffsetX * this.scale}px, ${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 = `translate(${this.pageOffsetX * this.scale}px, ${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, pagesIntrinsicWidth, scale) {\n this.pages = pages;\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.scale = scale;\n this.els = /* @__PURE__ */ 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, this.pagesIntrinsicWidth);\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, pagesIntrinsicWidth, 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 ResizeObserver = window.ResizeObserver || ResizeObserver$1;\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 const debouncedRenderRatioHeight = this.debounce(this.renderRatioHeight.bind(this), {\n wait: 80\n });\n this.sideEffect.add(() => {\n const observer = new ResizeObserver(debouncedRenderRatioHeight);\n observer.observe(this.viewer.$content);\n return () => observer.disconnect();\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, INIT_DIR, 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 { PageStateImpl } from \"./PageState\";\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 putScenes,\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\";\nimport type { PageState } from \"./PageState\";\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 private _pageState?: PageStateImpl;\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n public containerSizeRatio = WindowManager.containerSizeRatio;\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._pageState = new PageStateImpl(manager.appManager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n if (containerSizeRatio) {\n manager.containerSizeRatio = containerSizeRatio;\n }\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 * 注销插件\n */\n public static unregister(kind: string) {\n return appRegister.unregister(kind);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n // 移除根目录时需要做一些异步的释放操作 addApp 需要等待释放完成才可以继续添加\n if (this.appManager.rootDirRemoving) {\n return new Promise((resolve, reject) => {\n emitter.once(\"rootDirRemoved\").then(async () => {\n try {\n const appId = await this._addApp(params);\n resolve(appId);\n } catch (error) {\n reject(error.message);\n }\n });\n });\n } else {\n return this._addApp(params);\n }\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private 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 putScenes(this.room, scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n putScenes(this.room, scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n putScenes(this.room, 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 (mode === ViewMode.Broadcaster) {\n if (this.canOperate) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }\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._pageState?.index || 0;\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._pageState?.length || 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 public get pageState(): PageState {\n if (this._pageState) {\n return this._pageState.toObject();\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: INIT_DIR });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: 0 });\n }\n if (!this.attributes[Fields.Registered]) {\n this.safeSetAttributes({ [Fields.Registered]: {} });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\nexport type { PublicEvent } from \"./callback\";\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","AppAttributes","AppAttributes2","AppEvents","AppEvents2","AppStatus","CursorState","CursorState2","MIN_WIDTH","MIN_HEIGHT","callbacks","Emittery","constructor","currentInvoker","this","list","length","clear","emitReady","timer","initInterval","setInterval","invoke","push","item","shift","then","invoked","catch","error","message","isEmit","emit","empty","destroy","emitter","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","register","src","setSyncRegisterApp","fn","syncRegisterApp","params","appClassesCache","delete","registered","set","srcOrAppOrFunction","downloadApp","appClass","name","status","reason","includes","define","amd","loadApp","__esModule","default","Error","appClasses","app","addHooks","emitter2","createKindEmitter","unregister","kind2","kindEmitter","kindEmitters","clearListeners","has","setViewFocusScenePath","view","focusScenePath","setScenePath","room","scenePath","isWritable","state","sceneState","nextScenePath","debounce","callbacks2","mode","makeValidScenePath","displayer","scenes","entireScenes","scene","firstSceneName","putScenes","path","parseSceneDir","sceneList","split","pop","sceneDir","join","getVersionNumber","version","versionString","map","s2","padStart","parseInt","wait","time2","manager","authorId","observerId","data","eventName","AppMove","appMoveHandler","AppResize","appResizeHandler","AppBoxStateChange","boxStateChangeHandler","SetMainViewScenePath","setMainViewScenePathHandler","MoveCamera","moveCameraHandler","MoveCameraToContain","moveCameraToContainHandler","CursorMove","cursorMoveHandler","RootDirRemoved","rootDirRemovedHandler","boxManager","moveBox","resizeBox","Object","assign","skipUpdate","refreshViewSize","mainView","isEqual","omit","__spreadValues","camera","moveCamera","moveCameraToContain","createRootDirScenesCallback","mainViewProxy","rebind","addListeners","addMagixEventListener","mainMagixEventListener","removeListeners","removeMagixEventListener","onObjectByEvent","object","func","listenUpdated","listener","events2","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","appScopeEvent","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","size2","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","appListener","makeAppEventListener","initScenes","createView","readonly","getFullScenePath","FullPath","getFullScenePathFromScenes","dir","getScenePath","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","err","currentAppState","AppProxy","baseInsertApp","emitAppSceneStateChange","emitAppIsWritableChange","setBoxMinSize","minWidth","minwidth","minHeight","minheight","setBoxTitle","title","fullScenePath","needCloseBox","cleanAttrs","error2","stack","closeBox","scenePathType","ScenePathType","None","removeScenes","destroyView","appStatus","remove","close","views","release","setViewScenePath","setDefaultCameraBound","setCameraBound","maxContentMode","minContentMode","mainViewCamera","moveCameraToContian","mainViewSize","mainViewClickHandler","cameraState","createMainView","moveCameraSizeByAttributes","start","setCameraAndSize","playgroundSizeChangeListener","sizeChangeHandler","sideEffectManager","off","started","addMainViewListener","addCameraListener","cameraReaction","mainViewScenePath","onReconnect","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","onRootDirRemoved","dispatchInternalEvent","nextPath","callbacksNode","closeAll","attributesUpdateCallback","onSeek","isRecreate","dispose","createScenesCallback","onAddScene","onSceneChange","onRemoveScene","updateSceneState","mainViewScenesLength","emitMainViewScenesChange","node","currentIndex","sceneName","contextPath","_prevSceneIndex","_prevFocused","entries","setMinimized","ids","_2","startsWith","isReadonly","isManualWritable","setReadonly","disableSerialization","pageName","replace","findIndex","isInteger","MainViewProxy","ViewManager","appListeners","AppListeners","displayerStateListener","reconnectRefresher","setRoom","appCreateQueue","onCreated","onReconnected","isPlayer","onPlayerSeekStart","onPlayerSeekDone","onRemoveScenes","onReadonlyChanged","Registered","needClose","rootDirRemoving","closeApp","isRoom","getMainViewSceneDir","boxEventListener","onAppDelete","setMaximized","onMinimized","mainSceneIndex","onMainViewIndexChange","onFocusChange","onRegisteredChange","mainScenePath","resetScenePath","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","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","F","isReactComponent","C","forceUpdate","G","I","H","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","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","innerWidth","innerHeight","collectorRect","M2","_renderSideEffect","handleTrackStart","_handleTrackStart","_valSideEffectBinder","Ue","E2","events","_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","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","Reflect","ownKeys","fromPrototype","getPrototypeOf","setPrototypeOf","newToString","debounceFn","inputFunction","maxWait","Infinity","before","after","maxTimeout","debouncedFunction","arguments_","maxLater","shouldCallNow","wait2","ResizeObserverBoxOptions","ResizeObserverBoxOptions2","resizeObservers","msg","trigger","freeze","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","toJSON","_a","fromRect","rectangle","DOMRectReadOnly2","isSVG","isHidden","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","global","cache","scrollRegexp","verticalRegexp","IE","navigator","userAgent","parseDimension","pixel","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","calculateBoxSizes","forceRecalculation","cs","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","borderTop","borderRight","borderBottom","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","depth","parent","broadcastActiveObservations","shallowestDepth","ro","activeTargets","ot2","entry","targetDepth","lastReportedSize","observer","_i","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","some","ErrorEvent","createEvent","initEvent","dispatchEvent","queueMicroTask","toggle_1","el_1","MutationObserver","cb2","characterData","watching","observerConfig","childList","subtree","time","scheduled","scheduler","_this","stopped","until","elementsHaveResized","Scheduler2","updateCount","ResizeObservation","CONTENT_BOX","isReplacedElement","ResizeObservation2","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","ResizeObserverController","connect","detail","firstObservation","unobserve","lastObservation","ResizeObserverController2","ResizeObserver$1","ResizeObserver2","runningOnBrowser","isBot","supportsIntersectionObserver","supportsClassList","isHiDpi","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","instance","initCustomEvent","SRC","ORIGINALS","getData","getStatus","setStatus","attrName","setData","resetStatus","hasEmptyStatus","hasStatusNative","statusesAfterLoading","safeCallback","arg1","arg2","arg3","addClass","removeClass","RegExp","getTempImage","llTempImage","_observer","updateLoadingCount","loadingCount","setToLoadCount","toLoadCount","getSourceTags","parentTag","sourceTags","childTag","forEachPictureSource","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","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","previewSRC","thumbnail","$page","$name","$img","ev","stopImmediatePropagation","togglePreview","$previewMask","$btnSidebar","renderFooterBtn","NS","$svg","createElementNS","$path","sidebarSVG","$pageJumps","$btnPageBack","arrowLeftSVG","$btnPlay","playSVG","pauseSVG","returnPlay","$btnPageNext","arrowRightSVG","$pageNumber","select","$totalPage","$icon","$iconActive","$btn","$previewPage","offsetTop","_c","velocity","paused","_animationFrameID","_loopTimestamp","looper","frames","floor","stepper","onStep","stiffness","damping","stepTo","pause","fSpring","fDamper","newVelocity","newCurrent","pagesIntrinsicWidth","lastVisit","pageOffsetY","pageOffsetX","setScale","requestIdleCallback","cancelSchedule","cancelIdleCallback","els","maxElCount","gcTimer","gc","sortedEls","getEl","el","PageEl","pageEl","_hwaTimeout","NaN","_turnOffHWA","$pages","pagesScrollTop","containerWidth","containerHeight","URL","searchParams","pagesIntrinsicYs","pagesMinHeight","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","whiteboardView","pageScrollTop","mountWhiteboard","onUserScroll","userScrolling","scrollToPage","_onUserScroll","debouncedOnUserScroll","pageRenderer","updateUserScroll","viewer","DocsViewer","PageRenderer","scrollbar","ScrollBar","pageScrollTop2","pageScrollTo","pageScrollStepper","Stepper","setupScrollListener","debouncedRenderRatioHeight","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","pageWidth","pageHeight","diff","StaticDocsViewer","_a2","MessageChannel","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","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","ad","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","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","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","xa","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","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","Ga","Dj","lk","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","self","toStringTag","leading","trailing","seeking","mobileSeeking","hoverTime","secondsPrefix","minutesPrefix","seekPause","handleTouchSeeking","changeCurrentTimePosition","handleSeeking","setTrackWidthState","trackWidth","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","_WindowManager","NETLESS_DEPS","WhiteVersion","WhiteWebSDKInvalidError","initManager","isCreated","pRetry","getInvisiblePlugin","retries","ensureAttributes","appManager","AppManager","_pageState","PageStateImpl","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","_addApp","AppManagerNotInitError","ParamsInvalidError","AppCreateError","setupScenePath","addApp","isValidScenePath","InvalidScenePath","appScenePath","nextIndex","mainViewSceneIndex","prevIndex","switchMainViewToWriter","onAppDestroy","setViewMode","Freedom","viewMode","setBoxState","boxState","focusedView","queryAll","pureCamera","cameraBound","onDestroy","_destroy","setAttributes","scheme","info","locked","sceneSrc","isNull"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.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/App/AppContext.ts","../src/App/AppPageStateImpl.ts","../src/AttributesDelegate.ts","../src/Utils/log.ts","../src/App/AppProxy.ts","../src/View/ViewManager.ts","../src/View/MainView.ts","../src/RedoUndo.ts","../src/AppManager.ts","../src/Helper.ts","../src/ContainerResizeObserver.ts","../node_modules/.pnpm/registry.npmmirror.com+object-assign@4.1.1/node_modules/object-assign/index.js","../node_modules/.pnpm/registry.npmmirror.com+react@16.14.0/node_modules/react/cjs/react.production.min.js","../node_modules/.pnpm/registry.npmmirror.com+react@16.14.0/node_modules/react/index.js","../node_modules/.pnpm/registry.npmmirror.com+@netless+telebox-insider@0.2.26/node_modules/@netless/telebox-insider/dist/telebox-insider.es.js","../src/BoxManager.ts","../node_modules/.pnpm/registry.npmmirror.com+svelte@3.46.4/node_modules/svelte/internal/index.mjs","../src/Cursor/Cursor.svelte","../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/icons.ts","../src/Cursor/Cursor.ts","../src/Cursor/index.ts","../src/PageState.ts","../src/ReconnectRefresher.ts","../src/Utils/RoomHacker.ts","../node_modules/.pnpm/@netless+app-docs-viewer@0.2.9/node_modules/@netless/app-docs-viewer/dist/main.es.js","../node_modules/.pnpm/registry.npmmirror.com+scheduler@0.19.1/node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/.pnpm/registry.npmmirror.com+scheduler@0.19.1/node_modules/scheduler/index.js","../node_modules/.pnpm/registry.npmmirror.com+react-dom@16.14.0_react@16.14.0/node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/.pnpm/registry.npmmirror.com+react-dom@16.14.0_react@16.14.0/node_modules/react-dom/index.js","../node_modules/.pnpm/registry.npmmirror.com+@netless+app-media-player@0.1.0-beta.5/node_modules/@netless/app-media-player/dist/main.es.js","../src/BuiltinApps.ts","../src/index.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 RootDirRemoved = \"RootDirRemoved\",\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 = \"/\";\nexport const INIT_DIR = \"/init\";\n\nexport const SETUP_APP_DELAY = 50;\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\";\nimport type { PageState } from \"./Page\";\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 pageStateChange: PageState;\n};\n\nexport type CallbacksType = Emittery<PublicEvent>;\nexport const callbacks: CallbacksType = new Emittery();\n","import { callbacks } from \"../callback\";\nimport { SETUP_APP_DELAY } from \"../constants\";\nimport type { AppProxy } from \"../App\";\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.invoked();\n })\n .catch(error => {\n console.error(`[WindowManager]: create app error: ${error.message}`);\n this.invoked();\n });\n }\n }\n\n private invoked = () => {\n this.currentInvoker = undefined;\n if (this.list.length === 0) {\n this.clear();\n this.emitReady();\n }\n };\n\n private clear = () => {\n clearInterval(this.timer);\n this.timer = undefined;\n };\n\n public emitReady() {\n if (!this.isEmit) {\n setTimeout(() => {\n callbacks.emit(\"ready\");\n }, SETUP_APP_DELAY);\n }\n this.isEmit = true;\n }\n\n public empty() {\n this.list = [];\n this.clear();\n }\n\n public destroy() {\n if (this.timer) {\n this.clear();\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 seekStart: undefined;\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 changePageState: undefined;\n};\n\nexport type EmitterType = Emittery<EmitterEvent>;\nexport const emitter: EmitterType = new Emittery();\n","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\nexport type SyncRegisterAppPayload = { kind: string, src: string, name: string | undefined };\nexport type SyncRegisterApp = (payload: SyncRegisterAppPayload) => void;\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 private syncRegisterApp: SyncRegisterApp | null = null;\n\n public setSyncRegisterApp(fn: SyncRegisterApp) {\n this.syncRegisterApp = fn;\n }\n\n public onSyncRegisterAppChange = (payload: SyncRegisterAppPayload) => {\n this.register({ kind: payload.kind, src: payload.src });\n }\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, params.name)) 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 if (this.syncRegisterApp) {\n this.syncRegisterApp({ kind: params.kind, src: srcOrAppOrFunction, name: params.name });\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 unregister(kind: string) {\n this.appClasses.delete(kind);\n this.appClassesCache.delete(kind);\n this.registered.delete(kind);\n const kindEmitter = this.kindEmitters.get(kind);\n if (kindEmitter) {\n kindEmitter.clearListeners();\n this.kindEmitters.delete(kind);\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 { ROOT_DIR } from \"../constants\";\nimport { ScenePathType } from \"white-web-sdk\";\nimport { v4 } from \"uuid\";\nimport type { PublicEvent } from \"../callback\";\nimport type { Displayer, ViewVisionMode, Room, View , SceneDefinition} from \"white-web-sdk\";\nimport type Emittery from \"emittery\";\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 const nextScenePath = scenePath === \"/\" ? \"\" : scenePath;\n room.setScenePath(nextScenePath);\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\nexport const putScenes = (room: Room | undefined, path: string, scenes: SceneDefinition[], index?: number) => {\n return room?.putScenes(path, scenes, index);\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 case Events.RootDirRemoved: {\n this.rootDirRemovedHandler();\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 private rootDirRemovedHandler = () => {\n this.manager.createRootDirScenesCallback();\n this.manager.mainViewProxy.rebind();\n emitter.emit(\"rootDirRemoved\");\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 { putScenes } from \"../Utils/Common\";\nimport { Storage } from \"./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 \"./MagixEvent\";\nimport type { AddPageParams, PageController, PageState } from \"../Page\";\n\nexport class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any>\n implements PageController\n{\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 const appScopeEvent = `${this.appId}:${args[0]}`;\n return this.manager.room?.dispatchMagixEvent(appScopeEvent, args[1]);\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 const appScopeEvent = `${this.appId}:${event}`;\n this.manager.displayer.addMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener,\n options\n );\n return () =>\n this.manager.displayer.removeMagixEventListener(\n appScopeEvent,\n handler as WhiteEventListener\n );\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 /** PageController */\n public nextPage = async (): Promise<boolean> => {\n const nextIndex = this.pageState.index + 1;\n if (nextIndex > this.pageState.length - 1) {\n console.warn(\"[WindowManager] nextPage: index out of range\");\n return false;\n }\n this.appProxy.setSceneIndex(nextIndex);\n return true;\n };\n\n public prevPage = async (): Promise<boolean> => {\n const nextIndex = this.pageState.index - 1;\n if (nextIndex < 0) {\n console.warn(\"[WindowManager] prevPage: index out of range\");\n return false;\n }\n this.appProxy.setSceneIndex(nextIndex);\n return true;\n };\n\n public addPage = async (params?: AddPageParams) => {\n const after = params?.after;\n const scene = params?.scene;\n const scenePath = this.appProxy.scenePath;\n if (!scenePath) return;\n if (after) {\n const nextIndex = this.pageState.index + 1;\n putScenes(this.manager.room, scenePath, [scene || {}], nextIndex);\n } else {\n putScenes(this.manager.room, scenePath, [scene || {}]);\n }\n };\n\n public get pageState(): PageState {\n return this.appProxy.pageState;\n }\n}\n","import type { Displayer, ScenesCallbacksNode, View } from \"white-web-sdk\";\nimport type { PageState } from \"../Page\";\n\nexport type AppPageStateParams = {\n displayer: Displayer;\n scenePath: string | undefined;\n view: View | undefined;\n notifyPageStateChange: () => void;\n};\n\nexport class AppPageStateImpl {\n private sceneNode: ScenesCallbacksNode | null = null;\n\n constructor(private params: AppPageStateParams) {\n const { displayer, scenePath } = this.params;\n if (scenePath) {\n this.sceneNode = displayer.createScenesCallback(scenePath, {\n onAddScene: this.onSceneChange,\n onRemoveScene: this.onSceneChange,\n });\n }\n }\n\n private onSceneChange = (node: ScenesCallbacksNode) => {\n this.sceneNode = node;\n this.params.notifyPageStateChange();\n };\n\n public getFullPath(index: number) {\n const scenes = this.sceneNode?.scenes;\n if (this.params.scenePath && scenes) {\n const name = scenes[index];\n if (name) {\n return `${this.params.scenePath}/${name}`;\n }\n }\n }\n\n public toObject(): PageState {\n return {\n index: this.params.view?.focusSceneIndex || 0,\n length: this.sceneNode?.scenes.length || 0,\n };\n }\n\n public destroy() {\n this.sceneNode?.dispose();\n }\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 Registered = \"registered\",\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, SETUP_APP_DELAY } from \"../constants\";\nimport { AppContext } from \"./AppContext\";\nimport { AppPageStateImpl } from \"./AppPageStateImpl\";\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 { log } from \"../Utils/log\";\nimport {\n entireScenes,\n getScenePath,\n removeScenes,\n setScenePath,\n setViewFocusScenePath,\n} from \"../Utils/Common\";\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\";\nimport type { PageState } from \"../Page\";\n\nexport type AppEmitter = Emittery<AppEmitterEvent>;\n\nexport class AppProxy {\n public kind: string;\n public id: string;\n public scenePath?: string;\n public appEmitter: AppEmitter;\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 _pageState: AppPageStateImpl;\n\n public appResult?: NetlessApp<any>;\n public 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 this._pageState = new AppPageStateImpl({\n displayer: this.manager.displayer,\n scenePath: this.scenePath,\n view: this.view,\n notifyPageStateChange: this.notifyPageStateChange,\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 viewIndex(): number | undefined {\n return this.view?.focusSceneIndex;\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 }, SETUP_APP_DELAY);\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 async onSeek(time: number) {\n this.appEmitter.emit(\"seek\", time).catch(err => {\n console.log(`[WindowManager]: emit seek error: ${err.message}`);\n });\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 this.notifyPageStateChange();\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 notifyPageStateChange = () => {\n this.appEmitter.emit(\"pageStateChange\", this.pageState);\n };\n\n public get pageState(): PageState {\n return this._pageState.toObject();\n }\n\n public setSceneIndex(index: number) {\n if (this.view) {\n this.view.focusSceneIndex = index;\n const fullPath = this._pageState.getFullPath(index);\n if (fullPath) {\n this.setFullPath(fullPath);\n }\n }\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 this._pageState.destroy();\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 setTimeout(() => {\n this.addMainViewListener();\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.removeMainViewListener();\n this.mainView = this.createMainView();\n this.mainView.disableCameraTransform = disableCameraTransform;\n this.mainView.divElement = divElement;\n this.addMainViewListener();\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 this.mainViewIsAddListener = false;\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.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.removeMainViewListener();\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 \"./App\";\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, INIT_DIR, MagixEventName, ROOT_DIR } from \"./constants\";\nimport { AppCreateQueue } from \"./Utils/AppCreateQueue\";\nimport { AppListeners } from \"./AppListener\";\nimport { AppProxy } from \"./App\";\nimport { appRegister } from \"./Register\";\nimport { autorun, isPlayer, isRoom, ScenePathType } from \"white-web-sdk\";\nimport { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport { Fields, store } from \"./AttributesDelegate\";\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 { ViewManager } from \"./View/ViewManager\";\nimport type { SyncRegisterAppPayload } from \"./Register\";\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\";\n\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 public rootDirRemoving = false;\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(\"seekStart\", this.onPlayerSeekStart);\n emitter.on(\"seek\", this.onPlayerSeekDone);\n }\n\n emitter.on(\"removeScenes\", this.onRemoveScenes);\n emitter.on(\"setReadonly\", this.onReadonlyChanged);\n\n this.createRootDirScenesCallback();\n\n appRegister.setSyncRegisterApp(payload => {\n this.safeUpdateAttributes([Fields.Registered, payload.kind], payload);\n });\n }\n\n private onRemoveScenes = async (scenePath: string) => {\n // 如果移除根目录就把 scenePath 设置为初始值\n if (scenePath === ROOT_DIR) {\n await this.onRootDirRemoved();\n this.dispatchInternalEvent(Events.RootDirRemoved);\n return;\n }\n // 如果移除的 path 跟 MainViewScenePath 相同就取当前目录的当前 index\n const mainViewScenePath = this.store.getMainViewScenePath();\n if (this.room && mainViewScenePath) {\n if (mainViewScenePath === scenePath) {\n const nextPath = this.callbacksNode?.scenes[this.store.getMainViewSceneIndex()];\n this.setMainViewScenePath(`/${nextPath}` || INIT_DIR);\n }\n }\n };\n\n /**\n * 根目录被删除时所有的 scene 都会被删除.\n * 所以需要关掉所有开启了 view 的 app\n */\n public async onRootDirRemoved(needClose = true) {\n this.setMainViewScenePath(INIT_DIR);\n this.createRootDirScenesCallback();\n \n for (const [id, appProxy] of this.appProxies.entries()) {\n if (appProxy.view) {\n await this.closeApp(id, needClose);\n }\n }\n // 删除了根目录的 scenes 之后 mainview 需要重新绑定, 否则主白板会不能渲染\n this.mainViewProxy.rebind();\n emitter.emit(\"rootDirRemoved\");\n this.updateRootDirRemoving(false);\n }\n\n private onReadonlyChanged = () => {\n this.appProxies.forEach(appProxy => {\n appProxy.emitAppIsWritableChange();\n });\n };\n\n private onPlayerSeekStart = async () => {\n await this.closeAll();\n };\n\n private onPlayerSeekDone = async (time: number) => {\n await this.attributesUpdateCallback(this.attributes.apps);\n this.appProxies.forEach(appProxy => {\n appProxy.onSeek(time);\n });\n };\n\n public 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 this.emitMainViewScenesChange(this.callbacksNode.scenes.length);\n }\n }\n };\n\n private onSceneChange = (node: ScenesCallbacksNode) => {\n this.mainViewScenesLength = node.scenes.length;\n this.updateSceneState(node);\n this.emitMainViewScenesChange(this.mainViewScenesLength);\n };\n\n private emitMainViewScenesChange = (length: number) => {\n callbacks.emit(\"mainViewScenesLengthChange\", length);\n emitter.emit(\"changePageState\");\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 this.onMinimized(minimized);\n });\n });\n this.refresher?.add(\"mainViewIndex\", () => {\n return autorun(() => {\n const mainSceneIndex = get(this.attributes, \"_mainSceneIndex\");\n this.onMainViewIndexChange(mainSceneIndex);\n });\n });\n this.refresher?.add(\"focusedChange\", () => {\n return autorun(() => {\n const focused = get(this.attributes, \"focus\");\n this.onFocusChange(focused);\n });\n });\n this.refresher?.add(\"registeredChange\", () => {\n return autorun(() => {\n const registered = get(this.attributes, Fields.Registered);\n this.onRegisteredChange(registered);\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 this.resetScenePath(mainScenePath);\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 private onMainViewIndexChange = (index: number) => {\n if (index !== undefined && this._prevSceneIndex !== index) {\n callbacks.emit(\"mainViewSceneIndexChange\", index);\n emitter.emit(\"changePageState\");\n if (this.callbacksNode) {\n this.updateSceneState(this.callbacksNode);\n }\n this._prevSceneIndex = index;\n }\n }\n\n private onFocusChange = (focused: string | undefined) => {\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 /**\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 try {\n const appAttributes = this.attributes[id];\n if (!appAttributes) {\n throw new Error(\"appAttributes is undefined\");\n }\n this.appCreateQueue.push(() => {\n this.appStatus.set(id, AppStatus.StartCreate);\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 private onRegisteredChange = (registered: Record<string, SyncRegisterAppPayload>) => {\n if (!registered) return;\n Object.entries(registered).forEach(([kind, payload]) => {\n if (!appRegister.appClasses.has(kind)) {\n appRegister.register({\n kind,\n src: payload.src,\n name: payload.name,\n });\n }\n });\n };\n\n private onMinimized = (minimized: boolean | undefined) => {\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 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 = async (apps: any) => {\n const ids = Object.keys(apps);\n for (const [id, appProxy] of this.appProxies.entries()) {\n if (!ids.includes(id)) {\n await appProxy.destroy(true, false, true);\n }\n }\n };\n\n private closeAll = async () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const [_, appProxy] of this.appProxies.entries()) {\n await appProxy.destroy(true, false, true);\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 private resetScenePath(scenePath: string) {\n const sceneState = this.displayer.state.sceneState;\n if (sceneState.scenePath !== scenePath) {\n setScenePath(this.room, scenePath);\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, needClose = true) {\n const appProxy = this.appProxies.get(appId);\n if (appProxy) {\n appProxy.destroy(true, needClose, 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 updateRootDirRemoving = (removing: boolean) => {\n this.rootDirRemoving = removing;\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 { 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 { 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.sheet;\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 - start_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 if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\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\n// we need to store the information for multiple documents because a Svelte application could also contain iframes\n// https://github.com/sveltejs/svelte/issues/3624\nconst managed_styles = new Map();\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_style_information(doc, node) {\n const info = { stylesheet: append_empty_stylesheet(node), rules: {} };\n managed_styles.set(doc, info);\n return info;\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 const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);\n if (!rules[name]) {\n 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 managed_styles.forEach(info => {\n const { stylesheet } = info;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n info.rules = {};\n });\n managed_styles.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}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 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 seen_callbacks.clear();\n set_current_component(saved_component);\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, attrs_to_add) {\n const attributes = Object.assign({}, ...args);\n if (attrs_to_add) {\n const classes_to_add = attrs_to_add.classes;\n const styles_to_add = attrs_to_add.styles;\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 if (styles_to_add) {\n if (attributes.style == null) {\n attributes.style = style_object_to_string(styles_to_add);\n }\n else {\n attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add));\n }\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}\nfunction merge_ssr_styles(style_attribute, style_directive) {\n const style_object = {};\n for (const individual_style of style_attribute.split(';')) {\n const colon_index = individual_style.indexOf(':');\n const name = individual_style.slice(0, colon_index).trim();\n const value = individual_style.slice(colon_index + 1).trim();\n if (!name)\n continue;\n style_object[name] = value;\n }\n for (const name in style_directive) {\n const value = style_directive[name];\n if (value) {\n style_object[name] = value;\n }\n else {\n delete style_object[name];\n }\n }\n return style_object;\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(context || (parent_component ? parent_component.$$.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 && boolean_attributes.has(name) ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\nfunction style_object_to_string(style_object) {\n return Object.keys(style_object)\n .filter(key => style_object[key])\n .map(key => `${key}: ${style_object[key]};`)\n .join(' ');\n}\nfunction add_styles(style_object) {\n const styles = style_object_to_string(style_object);\n return styles ? ` style=\"${styles}\"` : '';\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(options.context || (parent_component ? parent_component.$$.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.46.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_styles, 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, merge_ssr_styles, 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","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 { 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","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 { 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 { callbacks } from \"./callback\";\nimport { emitter } from \"./InternalEmitter\";\nimport type { AppManager } from \"./AppManager\";\nimport type { PageState } from \"./Page\";\n\nexport class PageStateImpl {\n constructor(private manager: AppManager) {\n emitter.on(\"changePageState\", () => {\n callbacks.emit(\"pageStateChange\", this.toObject());\n });\n }\n\n public get index(): number {\n return this.manager?.store.getMainViewSceneIndex() || 0;\n }\n\n public get length(): number {\n return this.manager?.mainViewScenesLength || 0;\n }\n\n public toObject(): PageState {\n return {\n index: this.index,\n length: this.length,\n };\n }\n}\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","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\";\nimport { ROOT_DIR } from \"../constants\";\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, manager);\n }\n};\n\nconst delegateRemoveScenes = (room: Room, manager: WindowManager) => {\n const originRemoveScenes = room.removeScenes;\n room.removeScenes = (scenePath: string) => {\n if (scenePath === ROOT_DIR) {\n manager.appManager?.updateRootDirRemoving(true);\n }\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 // seek 时需要先关闭所有的 app 防止内部使用的 mobx 出现错误\n await emitter.emit(\"seekStart\");\n const seekResult = await originSeek.call(player, time);\n emitter.emit(\"seek\", time); \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};\nfunction mimicFunction(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}\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 mimicFunction(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 = /* @__PURE__ */ 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}\nvar resizeObservers = [];\nvar hasActiveObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.activeTargets.length > 0;\n });\n};\nvar hasSkippedObservations = function() {\n return resizeObservers.some(function(ro) {\n return ro.skippedTargets.length > 0;\n });\n};\nvar msg = \"ResizeObserver loop completed with undelivered notifications.\";\nvar deliverResizeLoopError = function() {\n var event;\n if (typeof ErrorEvent === \"function\") {\n event = new ErrorEvent(\"error\", {\n message: msg\n });\n } else {\n event = document.createEvent(\"Event\");\n event.initEvent(\"error\", false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nvar ResizeObserverBoxOptions;\n(function(ResizeObserverBoxOptions2) {\n ResizeObserverBoxOptions2[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions2[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions2[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nvar freeze = function(obj) {\n return Object.freeze(obj);\n};\nvar ResizeObserverSize = function() {\n function ResizeObserverSize2(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize2;\n}();\nvar DOMRectReadOnly = function() {\n function DOMRectReadOnly2(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly2.prototype.toJSON = function() {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x, y, top, right, bottom, left, width, height };\n };\n DOMRectReadOnly2.fromRect = function(rectangle) {\n return new DOMRectReadOnly2(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly2;\n}();\nvar isSVG = function(target) {\n return target instanceof SVGElement && \"getBBox\" in target;\n};\nvar isHidden = function(target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function(obj) {\n var _a, _b;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function(target) {\n switch (target.tagName) {\n case \"INPUT\":\n if (target.type !== \"image\") {\n break;\n }\n case \"VIDEO\":\n case \"AUDIO\":\n case \"EMBED\":\n case \"OBJECT\":\n case \"CANVAS\":\n case \"IFRAME\":\n case \"IMG\":\n return true;\n }\n return false;\n};\nvar global = typeof window !== \"undefined\" ? window : {};\nvar cache = /* @__PURE__ */ new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = /msie|trident/i.test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function(pixel) {\n return parseFloat(pixel || \"0\");\n};\nvar size = function(inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) {\n inlineSize = 0;\n }\n if (blockSize === void 0) {\n blockSize = 0;\n }\n if (switchSizes === void 0) {\n switchSizes = false;\n }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function(target, forceRecalculation) {\n if (forceRecalculation === void 0) {\n forceRecalculation = false;\n }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === \"border-box\";\n var switchSizes = verticalRegexp.test(cs.writingMode || \"\");\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || \"\");\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || \"\");\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function(target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nvar ResizeObserverEntry = function() {\n function ResizeObserverEntry2(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry2;\n}();\nvar calculateDepthForNode = function(node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nvar broadcastActiveObservations = function() {\n var shallowestDepth = Infinity;\n var callbacks2 = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks2.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks2; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nvar gatherActiveObservationsAtDepth = function(depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n } else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nvar process = function() {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nvar trigger;\nvar callbacks = [];\nvar notify = function() {\n return callbacks.splice(0).forEach(function(cb) {\n return cb();\n });\n};\nvar queueMicroTask = function(callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode(\"\");\n var config = { characterData: true };\n new MutationObserver(function() {\n return notify();\n }).observe(el_1, config);\n trigger = function() {\n el_1.textContent = \"\" + (toggle_1 ? toggle_1-- : toggle_1++);\n };\n }\n callbacks.push(callback);\n trigger();\n};\nvar queueResizeObserver = function(cb) {\n queueMicroTask(function ResizeObserver2() {\n requestAnimationFrame(cb);\n });\n};\nvar watching = 0;\nvar isWatching = function() {\n return !!watching;\n};\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n \"resize\",\n \"load\",\n \"transitionend\",\n \"animationend\",\n \"animationstart\",\n \"animationiteration\",\n \"keyup\",\n \"keydown\",\n \"mouseup\",\n \"mousedown\",\n \"mouseover\",\n \"mouseout\",\n \"blur\",\n \"focus\"\n];\nvar time = function(timeout) {\n if (timeout === void 0) {\n timeout = 0;\n }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = function() {\n function Scheduler2() {\n var _this = this;\n this.stopped = true;\n this.listener = function() {\n return _this.schedule();\n };\n }\n Scheduler2.prototype.run = function(timeout) {\n var _this = this;\n if (timeout === void 0) {\n timeout = CATCH_PERIOD;\n }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function() {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n } finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1e3);\n } else if (timeout > 0) {\n _this.run(timeout);\n } else {\n _this.start();\n }\n }\n });\n };\n Scheduler2.prototype.schedule = function() {\n this.stop();\n this.run();\n };\n Scheduler2.prototype.observe = function() {\n var _this = this;\n var cb = function() {\n return _this.observer && _this.observer.observe(document.body, observerConfig);\n };\n document.body ? cb() : global.addEventListener(\"DOMContentLoaded\", cb);\n };\n Scheduler2.prototype.start = function() {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function(name) {\n return global.addEventListener(name, _this.listener, true);\n });\n }\n };\n Scheduler2.prototype.stop = function() {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function(name) {\n return global.removeEventListener(name, _this.listener, true);\n });\n this.stopped = true;\n }\n };\n return Scheduler2;\n}();\nvar scheduler = new Scheduler();\nvar updateCount = function(n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nvar skipNotifyOnElement = function(target) {\n return !isSVG(target) && !isReplacedElement(target) && getComputedStyle(target).display === \"inline\";\n};\nvar ResizeObservation = function() {\n function ResizeObservation2(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation2.prototype.isActive = function() {\n var size2 = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size2;\n }\n if (this.lastReportedSize.inlineSize !== size2.inlineSize || this.lastReportedSize.blockSize !== size2.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation2;\n}();\nvar ResizeObserverDetail = function() {\n function ResizeObserverDetail2(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail2;\n}();\nvar observerMap = /* @__PURE__ */ new WeakMap();\nvar getObservationIndex = function(observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = function() {\n function ResizeObserverController2() {\n }\n ResizeObserverController2.connect = function(resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController2.observe = function(resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController2.unobserve = function(resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController2.disconnect = function(resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function(ot) {\n return _this.unobserve(resizeObserver, ot.target);\n });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController2;\n}();\nvar ResizeObserver$1 = function() {\n function ResizeObserver2(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== \"function\") {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver2.prototype.observe = function(target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver2.prototype.unobserve = function(target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver2.prototype.disconnect = function() {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver2.toString = function() {\n return \"function ResizeObserver () { [polyfill code] }\";\n };\n return ResizeObserver2;\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 DATA = \"data\";\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 attrsData = [DATA];\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 setSourcesObject = (object, settings) => {\n setOriginalsObject(object, attrsData);\n setAttributeIfValue(object, DATA, getData(object, settings.data_src));\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 OBJECT: setSourcesObject\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\", \"OBJECT\"];\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 restoreObject = (objectEl) => {\n restoreOriginalAttrs(objectEl, attrsData);\n};\nconst restoreFunctions = {\n IMG: restoreImg,\n IFRAME: restoreIframe,\n VIDEO: restoreVideo,\n OBJECT: restoreObject\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, pagesIntrinsicWidth) {\n this.scale = 1;\n this.lastVisit = Date.now();\n this.pageOffsetY = 0;\n this.pageOffsetX = 0;\n this.visible = true;\n this.index = index;\n this.page = page;\n this.scale = scale;\n this.pageOffsetX = (pagesIntrinsicWidth - page.width) / 2;\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 = `translate(${this.pageOffsetX * this.scale}px, ${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 = `translate(${this.pageOffsetX * this.scale}px, ${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, pagesIntrinsicWidth, scale) {\n this.pages = pages;\n this.pagesIntrinsicWidth = pagesIntrinsicWidth;\n this.scale = scale;\n this.els = /* @__PURE__ */ 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, this.pagesIntrinsicWidth);\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, pagesIntrinsicWidth, 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 ResizeObserver = window.ResizeObserver || ResizeObserver$1;\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 const debouncedRenderRatioHeight = this.debounce(this.renderRatioHeight.bind(this), {\n wait: 80\n });\n this.sideEffect.add(() => {\n const observer = new ResizeObserver(debouncedRenderRatioHeight);\n observer.observe(this.viewer.$content);\n return () => observer.disconnect();\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 this.whiteboardView.setCameraBound({\n damping: 1,\n maxContentMode: () => this.whiteboardView.camera.scale,\n minContentMode: () => this.whiteboardView.camera.scale,\n centerX: 0,\n centerY: 0,\n width: page.width,\n height: page.height\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, INIT_DIR, 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 { PageStateImpl } from \"./PageState\";\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 putScenes,\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 \"./App\";\nimport type { PublicEvent } from \"./callback\";\nimport type Emittery from \"emittery\";\nimport type { PageController, AddPageParams, PageState } from \"./Page\";\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 class WindowManager extends InvisiblePlugin<WindowMangerAttributes> implements PageController {\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 private _pageState?: PageStateImpl;\n\n private boxManager?: BoxManager;\n private static params?: MountParams;\n\n private containerResizeObserver?: ContainerResizeObserver;\n public containerSizeRatio = WindowManager.containerSizeRatio;\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._pageState = new PageStateImpl(manager.appManager);\n manager.cursorManager = new CursorManager(manager.appManager, Boolean(cursor));\n if (containerSizeRatio) {\n manager.containerSizeRatio = containerSizeRatio;\n }\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 * 注销插件\n */\n public static unregister(kind: string) {\n return appRegister.unregister(kind);\n }\n\n /**\n * 创建一个 app 至白板\n */\n public async addApp<T = any>(params: AddAppParams<T>): Promise<string | undefined> {\n if (this.appManager) {\n // 移除根目录时需要做一些异步的释放操作 addApp 需要等待释放完成才可以继续添加\n if (this.appManager.rootDirRemoving) {\n return new Promise((resolve, reject) => {\n emitter.once(\"rootDirRemoved\").then(async () => {\n try {\n const appId = await this._addApp(params);\n resolve(appId);\n } catch (error) {\n reject(error.message);\n }\n });\n });\n } else {\n return this._addApp(params);\n }\n } else {\n throw new AppManagerNotInitError();\n }\n }\n\n private 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 putScenes(this.room, scenePath, scenes);\n }\n } else {\n if (!entireScenes(this.displayer)[scenePath]) {\n putScenes(this.room, scenePath, [{ name: scenes[0].name }]);\n }\n }\n }\n if (scenePath && scenes === undefined) {\n putScenes(this.room, 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 (mode === ViewMode.Broadcaster) {\n if (this.canOperate) {\n this.appManager?.mainViewProxy.setCameraAndSize();\n }\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._pageState?.index || 0;\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._pageState?.length || 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 public get pageState(): PageState {\n if (this._pageState) {\n return this._pageState.toObject();\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: INIT_DIR });\n }\n if (!this.attributes[\"_mainSceneIndex\"]) {\n this.safeSetAttributes({ _mainSceneIndex: 0 });\n }\n if (!this.attributes[Fields.Registered]) {\n this.safeSetAttributes({ [Fields.Registered]: {} });\n }\n }\n }\n}\n\nsetupBuiltin();\n\nexport * from \"./typings\";\n\nexport { BuiltinApps } from \"./BuiltinApps\";\nexport type { PublicEvent } from \"./callback\";\n"],"names":["callbacks","db","store","size","noop","ResizeObserver","ResizeObserverPolyfill","shouldUseNative","l","require$$0","n","p","q","r","t","u","v","w","x","y","z","A","B","D","E","F","C","G","I","H","J","K","L","P","Q","U","T","X","O","N","R","V","aa","S","Y","ba","W","M","Z","reactModule","e","i","s","o","a","m","f","g","b","k","j","ee","te","ie","se","re","ne","oe","ae","le","he","ce","de","ue","ve","ge","be","xe","ye","we","$e","Ce","me","pe","ze","fe","Be","Me","Ee","ke","Se","Ne","Re","Te","Ie","Oe","De","Ae","Le","He","We","je","Pe","Ye","Xe","Fe","Ze","qe","Je","Qe","Ke","Ue","Ge","Ve","TELE_BOX_STATE","TeleBoxManager","TeleBoxCollector","text","App","global","scheduler","schedulerModule","require$$1","require$$2","reactDomModule","c","setOptions","AppDocsViewer","AppMediaPlayer"],"mappings":"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"}