@ckeditor/ckeditor5-watchdog 45.2.1-alpha.9 → 46.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/src/contextwatchdog.d.ts +6 -6
- package/src/contextwatchdog.js +5 -5
- package/src/editorwatchdog.d.ts +8 -5
- package/src/editorwatchdog.js +3 -3
- package/src/index.d.ts +4 -3
- package/src/index.js +3 -3
- package/src/utils/areconnectedthroughproperties.d.ts +3 -1
- package/src/utils/areconnectedthroughproperties.js +4 -2
- package/src/utils/getsubnodes.d.ts +4 -1
- package/src/utils/getsubnodes.js +4 -1
- package/src/watchdog.d.ts +1 -1
- package/src/watchdog.js +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.js","../src/watchdog.ts","../src/utils/getsubnodes.ts","../src/utils/areconnectedthroughproperties.ts","../src/editorwatchdog.ts","../src/contextwatchdog.ts"],"names":["Watchdog","crashes","state","_crashNumberLimit","_now","Date","now","_minimumNonErrorTimePeriod","_boundErrorHandler","_listeners","config","crashNumberLimit","minimumNonErrorTimePeriod","evt","error","reason","Error","_handleError","_restart","destroy","_stopErrorHandling","on","eventName","callback","push","off","filter","cb","_fire","args","callbacks","apply","_startErrorHandling","window","addEventListener","removeEventListener","_shouldReactToError","message","stack","filename","ErrorEvent","undefined","lineno","colno","date","causesRestart","_shouldRestart","is","context","_isErrorComingFromThisItem","length","lastErrorTime","firstMeaningfulErrorTime","averageNonErrorTimePeriod","getSubNodes","head","excludedProperties","Set","nodes","subNodes","nodeIndex","node","has","shouldNodeBeIncluded","add","Symbol","iterator","n","key","type","Object","prototype","toString","call","typeOfNode","_watchdogExcluded","EventTarget","Event","areConnectedThroughProperties","target1","target2","excludedNodes","isObject","subNodes1","subNodes2","structure","EditorWatchdog","_editor","_lifecyclePromise","_throttledSave","_data","_lastDocumentVersion","_elementOrData","_initUsingData","_editables","_config","_excludedProps","Editor","watchdogConfig","throttle","_save","bind","saveInterval","_creator","elementOrData","create","_destructor","editor","_item","setCreator","creator","setDestructor","destructor","Promise","resolve","then","_destroy","catch","err","console","existingRoots","lazyRoots","oldRootsAttributes","rootsAttributes","rootName","rootData","entries","roots","isLoaded","updatedConfig","extraPlugins","_watchdogInitialData","initialData","EditorWatchdogInitPlugin","isElement","keys","values","_cloneEditorConfiguration","model","document","version","_getData","_getEditables","finally","cancel","_setExcludedProperties","props","root","isAttached","plugins","commentsRepository","get","trackChanges","data","markers","commentThreads","JSON","stringify","suggestions","forEach","content","Array","from","getChildren","attributes","getAttributes","_isLoaded","marker","_affectsData","name","rangeJSON","getRange","toJSON","usingOperation","_managedUsingOperations","affectsData","getCommentThreads","skipNotAttached","getSuggestions","editables","getRootNames","editable","ui","getEditableElement","cloneDeepWith","value","init","stop","enqueueChange","isUndoable","writer","_restoreCollaborationData","_restoreEditorData","fire","priority","_createNode","jsonNode","element","createElement","children","child","_appendChild","createText","parsedNodes","parse","parsedAttributes","rootElement","getRoot","setAttribute","insert","markerName","markerOptions","start","end","options","startPosition","createPositionFromPath","path","stickiness","endPosition","range","createRange","addMarker","parsedCommentThreads","parsedSuggestions","commentThreadData","channelId","hasCommentThread","threadId","commentThread","getCommentThread","remove","addCommentThread","suggestionData","trackChangesEditing","hasSuggestion","id","suggestion","getSuggestion","addSuggestionData","mainQueueId","ContextWatchdog","_watchdogs","Map","_watchdogConfig","_context","_contextProps","_actionQueues","ActionQueues","_contextConfig","Context","contextConfig","onEmpty","enqueue","_create","getItem","itemId","watchdog","_getWatchdog","getItemState","itemConfigurationOrItemConfigurations","itemConfigurations","toArray","all","map","item","set","res","rethrowRestartEventOnce","sourceElementOrData","itemIdOrItemIds","itemIds","delete","_onEmptyCallbacks","_queues","_activeActions","onEmptyCallback","queueId","action","isMainAction","awaitedActions","queueWithAction","nonErrorQueue","elementOrArray","isArray"],"mappings":"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","file":"index.js.map","sourcesContent":["import { throttle, isElement, cloneDeepWith } from 'es-toolkit/compat';\n\n/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */ /**\n * @module watchdog/watchdog\n */ /**\n * An abstract watchdog class that handles most of the error handling process and the state of the underlying component.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and how to use it.\n *\n * @internal\n */ class Watchdog {\n /**\n\t * An array of crashes saved as an object with the following properties:\n\t *\n\t * * `message`: `String`,\n\t * * `stack`: `String`,\n\t * * `date`: `Number`,\n\t * * `filename`: `String | undefined`,\n\t * * `lineno`: `Number | undefined`,\n\t * * `colno`: `Number | undefined`,\n\t */ crashes = [];\n /**\n\t * Specifies the state of the item watched by the watchdog. The state can be one of the following values:\n\t *\n\t * * `initializing` – Before the first initialization, and after crashes, before the item is ready.\n\t * * `ready` – A state when the user can interact with the item.\n\t * * `crashed` – A state when an error occurs. It quickly changes to `initializing` or `crashedPermanently`\n\t * depending on how many and how frequent errors have been caught recently.\n\t * * `crashedPermanently` – A state when the watchdog stops reacting to errors and keeps the item it is watching crashed,\n\t * * `destroyed` – A state when the item is manually destroyed by the user after calling `watchdog.destroy()`.\n\t */ state = 'initializing';\n /**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */ _crashNumberLimit;\n /**\n\t * Returns the result of the `Date.now()` call. It can be overridden in tests to mock time as some popular\n\t * approaches like `sinon.useFakeTimers()` do not work well with error handling.\n\t */ _now = Date.now;\n /**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */ _minimumNonErrorTimePeriod;\n /**\n\t * Checks if the event error comes from the underlying item and restarts the item.\n\t */ _boundErrorHandler;\n /**\n\t * A dictionary of event emitter listeners.\n\t */ _listeners;\n /**\n\t * @param {module:watchdog/watchdog~WatchdogConfig} config The watchdog plugin configuration.\n\t */ constructor(config){\n this.crashes = [];\n this._crashNumberLimit = typeof config.crashNumberLimit === 'number' ? config.crashNumberLimit : 3;\n this._minimumNonErrorTimePeriod = typeof config.minimumNonErrorTimePeriod === 'number' ? config.minimumNonErrorTimePeriod : 5000;\n this._boundErrorHandler = (evt)=>{\n // `evt.error` is exposed by EventError while `evt.reason` is available in PromiseRejectionEvent.\n const error = 'error' in evt ? evt.error : evt.reason;\n // Note that `evt.reason` might be everything that is in the promise rejection.\n // Similarly everything that is thrown lands in `evt.error`.\n if (error instanceof Error) {\n this._handleError(error, evt);\n }\n };\n this._listeners = {};\n if (!this._restart) {\n throw new Error('The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. ' + 'Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.');\n }\n }\n /**\n\t * Destroys the watchdog and releases the resources.\n\t */ destroy() {\n this._stopErrorHandling();\n this._listeners = {};\n }\n /**\n\t * Starts listening to a specific event name by registering a callback that will be executed\n\t * whenever an event with a given name fires.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be added to event listeners.\n\t */ on(eventName, callback) {\n if (!this._listeners[eventName]) {\n this._listeners[eventName] = [];\n }\n this._listeners[eventName].push(callback);\n }\n /**\n\t * Stops listening to the specified event name by removing the callback from event listeners.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be removed from event listeners.\n\t */ off(eventName, callback) {\n this._listeners[eventName] = this._listeners[eventName].filter((cb)=>cb !== callback);\n }\n /**\n\t * Fires an event with a given event name and arguments.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t */ _fire(eventName, ...args) {\n const callbacks = this._listeners[eventName] || [];\n for (const callback of callbacks){\n callback.apply(this, [\n null,\n ...args\n ]);\n }\n }\n /**\n\t * Starts error handling by attaching global error handlers.\n\t */ _startErrorHandling() {\n window.addEventListener('error', this._boundErrorHandler);\n window.addEventListener('unhandledrejection', this._boundErrorHandler);\n }\n /**\n\t * Stops error handling by detaching global error handlers.\n\t */ _stopErrorHandling() {\n window.removeEventListener('error', this._boundErrorHandler);\n window.removeEventListener('unhandledrejection', this._boundErrorHandler);\n }\n /**\n\t * Checks if an error comes from the watched item and restarts it.\n\t * It reacts to {@link module:utils/ckeditorerror~CKEditorError `CKEditorError` errors} only.\n\t *\n\t * @fires error\n\t * @param error Error.\n\t * @param evt An error event.\n\t */ _handleError(error, evt) {\n // @if CK_DEBUG // const err = error as CKEditorError;\n // @if CK_DEBUG // if ( err.is && err.is( 'CKEditorError' ) && err.context === undefined ) {\n // @if CK_DEBUG // console.warn( 'The error is missing its context and Watchdog cannot restart the proper item.' );\n // @if CK_DEBUG // }\n if (this._shouldReactToError(error)) {\n this.crashes.push({\n message: error.message,\n stack: error.stack,\n // `evt.filename`, `evt.lineno` and `evt.colno` are available only in ErrorEvent events\n filename: evt instanceof ErrorEvent ? evt.filename : undefined,\n lineno: evt instanceof ErrorEvent ? evt.lineno : undefined,\n colno: evt instanceof ErrorEvent ? evt.colno : undefined,\n date: this._now()\n });\n const causesRestart = this._shouldRestart();\n this.state = 'crashed';\n this._fire('stateChange');\n this._fire('error', {\n error,\n causesRestart\n });\n if (causesRestart) {\n this._restart();\n } else {\n this.state = 'crashedPermanently';\n this._fire('stateChange');\n }\n }\n }\n /**\n\t * Checks whether an error should be handled by the watchdog.\n\t *\n\t * @param error An error that was caught by the error handling process.\n\t */ _shouldReactToError(error) {\n return error.is && error.is('CKEditorError') && error.context !== undefined && // In some cases the watched item should not be restarted - e.g. during the item initialization.\n // That's why the `null` was introduced as a correct error context which does cause restarting.\n error.context !== null && // Do not react to errors if the watchdog is in states other than `ready`.\n this.state === 'ready' && this._isErrorComingFromThisItem(error);\n }\n /**\n\t * Checks if the watchdog should restart the underlying item.\n\t */ _shouldRestart() {\n if (this.crashes.length <= this._crashNumberLimit) {\n return true;\n }\n const lastErrorTime = this.crashes[this.crashes.length - 1].date;\n const firstMeaningfulErrorTime = this.crashes[this.crashes.length - 1 - this._crashNumberLimit].date;\n const averageNonErrorTimePeriod = (lastErrorTime - firstMeaningfulErrorTime) / this._crashNumberLimit;\n return averageNonErrorTimePeriod > this._minimumNonErrorTimePeriod;\n }\n}\n\n/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */ /**\n * @module watchdog/utils/getsubnodes\n */ function getSubNodes(head, excludedProperties = new Set()) {\n const nodes = [\n head\n ];\n // @if CK_DEBUG_WATCHDOG // const prevNodeMap = new Map();\n // Nodes are stored to prevent infinite looping.\n const subNodes = new Set();\n let nodeIndex = 0;\n while(nodes.length > nodeIndex){\n // Incrementing the iterator is much faster than changing size of the array with Array.prototype.shift().\n const node = nodes[nodeIndex++];\n if (subNodes.has(node) || !shouldNodeBeIncluded(node) || excludedProperties.has(node)) {\n continue;\n }\n subNodes.add(node);\n // Handle arrays, maps, sets, custom collections that implements `[ Symbol.iterator ]()`, etc.\n if (Symbol.iterator in node) {\n // The custom editor iterators might cause some problems if the editor is crashed.\n try {\n for (const n of node){\n nodes.push(n);\n // @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( n ) ) {\n // @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( n, node );\n // @if CK_DEBUG_WATCHDOG // }\n }\n } catch {\n // Do not log errors for broken structures\n // since we are in the error handling process already.\n }\n } else {\n for(const key in node){\n // We share a reference via the protobuf library within the editors,\n // hence the shared value should be skipped. Although, it's not a perfect\n // solution since new places like that might occur in the future.\n if (key === 'defaultValue') {\n continue;\n }\n nodes.push(node[key]);\n // @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( node[ key ] ) ) {\n // @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( node[ key ], node );\n // @if CK_DEBUG_WATCHDOG // }\n }\n }\n }\n // @if CK_DEBUG_WATCHDOG // return { subNodes, prevNodeMap } as any;\n return subNodes;\n}\nfunction shouldNodeBeIncluded(node) {\n const type = Object.prototype.toString.call(node);\n const typeOfNode = typeof node;\n return !(typeOfNode === 'number' || typeOfNode === 'boolean' || typeOfNode === 'string' || typeOfNode === 'symbol' || typeOfNode === 'function' || type === '[object Date]' || type === '[object RegExp]' || type === '[object Module]' || node === undefined || node === null || // This flag is meant to exclude singletons shared across editor instances. So when an error is thrown in one editor,\n // the other editors connected through the reference to the same singleton are not restarted. This is a temporary workaround\n // until a better solution is found.\n // More in https://github.com/ckeditor/ckeditor5/issues/12292.\n node._watchdogExcluded || // Skip native DOM objects, e.g. Window, nodes, events, etc.\n node instanceof EventTarget || node instanceof Event);\n}\n\n/**\n * Traverses both structures to find out whether there is a reference that is shared between both structures.\n */ function areConnectedThroughProperties(target1, target2, excludedNodes = new Set()) {\n if (target1 === target2 && isObject(target1)) {\n return true;\n }\n // @if CK_DEBUG_WATCHDOG // return checkConnectionBetweenProps( target1, target2, excludedNodes );\n const subNodes1 = getSubNodes(target1, excludedNodes);\n const subNodes2 = getSubNodes(target2, excludedNodes);\n for (const node of subNodes1){\n if (subNodes2.has(node)) {\n return true;\n }\n }\n return false;\n}\nfunction isObject(structure) {\n return typeof structure === 'object' && structure !== null;\n}\n\n/**\n * A watchdog for CKEditor 5 editors.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */ class EditorWatchdog extends Watchdog {\n /**\n\t * The current editor instance.\n\t */ _editor = null;\n /**\n\t * A promise associated with the life cycle of the editor (creation or destruction processes).\n\t *\n\t * It is used to prevent the initialization of the editor if the previous instance has not been destroyed yet,\n\t * and conversely, to prevent the destruction of the editor if it has not been initialized.\n\t */ _lifecyclePromise = null;\n /**\n\t * Throttled save method. The `save()` method is called the specified `saveInterval` after `throttledSave()` is called,\n\t * unless a new action happens in the meantime.\n\t */ _throttledSave;\n /**\n\t * The latest saved editor data represented as a root name -> root data object.\n\t */ _data;\n /**\n\t * The last document version.\n\t */ _lastDocumentVersion;\n /**\n\t * The editor source element or data.\n\t */ _elementOrData;\n /**\n\t * Specifies whether the editor was initialized using document data (`true`) or HTML elements (`false`).\n\t */ _initUsingData = true;\n /**\n\t * The latest record of the editor editable elements. Used to restart the editor.\n\t */ _editables = {};\n /**\n\t * The editor configuration.\n\t */ _config;\n _excludedProps;\n /**\n\t * @param Editor The editor class.\n\t * @param watchdogConfig The watchdog plugin configuration.\n\t */ constructor(Editor, watchdogConfig = {}){\n super(watchdogConfig);\n // this._editorClass = Editor;\n this._throttledSave = throttle(this._save.bind(this), typeof watchdogConfig.saveInterval === 'number' ? watchdogConfig.saveInterval : 5000);\n // Set default creator and destructor functions:\n if (Editor) {\n this._creator = (elementOrData, config)=>Editor.create(elementOrData, config);\n }\n this._destructor = (editor)=>editor.destroy();\n }\n /**\n\t * The current editor instance.\n\t */ get editor() {\n return this._editor;\n }\n /**\n\t * @internal\n\t */ get _item() {\n return this._editor;\n }\n /**\n\t * Sets the function that is responsible for the editor creation.\n\t * It expects a function that should return a promise.\n\t *\n\t * ```ts\n\t * watchdog.setCreator( ( element, config ) => ClassicEditor.create( element, config ) );\n\t * ```\n\t */ setCreator(creator) {\n this._creator = creator;\n }\n /**\n\t * Sets the function that is responsible for the editor destruction.\n\t * Overrides the default destruction function, which destroys only the editor instance.\n\t * It expects a function that should return a promise or `undefined`.\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( editor => {\n\t * \t// Do something before the editor is destroyed.\n\t *\n\t * \treturn editor\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the editor is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */ setDestructor(destructor) {\n this._destructor = destructor;\n }\n /**\n\t * Restarts the editor instance. This method is called whenever an editor error occurs. It fires the `restart` event and changes\n\t * the state to `initializing`.\n\t *\n\t * @fires restart\n\t */ _restart() {\n return Promise.resolve().then(()=>{\n this.state = 'initializing';\n this._fire('stateChange');\n return this._destroy();\n }).catch((err)=>{\n console.error('An error happened during the editor destroying.', err);\n }).then(()=>{\n // Pre-process some data from the original editor config.\n // Our goal here is to make sure that the restarted editor will be reinitialized with correct set of roots.\n // We are not interested in any data set in config or in `.create()` first parameter. It will be replaced anyway.\n // But we need to set them correctly to make sure that proper roots are created.\n //\n // Since a different set of roots will be created, `lazyRoots` and `rootsAttributes` properties must be managed too.\n // Keys are root names, values are ''. Used when the editor was initialized by setting the first parameter to document data.\n const existingRoots = {};\n // Keeps lazy roots. They may be different when compared to initial config if some of the roots were loaded.\n const lazyRoots = [];\n // Roots attributes from the old config. Will be referred when setting new attributes.\n const oldRootsAttributes = this._config.rootsAttributes || {};\n // New attributes to be set. Is filled only for roots that still exist in the document.\n const rootsAttributes = {};\n // Traverse through the roots saved when the editor crashed and set up the discussed values.\n for (const [rootName, rootData] of Object.entries(this._data.roots)){\n if (rootData.isLoaded) {\n existingRoots[rootName] = '';\n rootsAttributes[rootName] = oldRootsAttributes[rootName] || {};\n } else {\n lazyRoots.push(rootName);\n }\n }\n const updatedConfig = {\n ...this._config,\n extraPlugins: this._config.extraPlugins || [],\n lazyRoots,\n rootsAttributes,\n _watchdogInitialData: this._data\n };\n // Delete `initialData` as it is not needed. Data will be set by the watchdog based on `_watchdogInitialData`.\n // First parameter of the editor `.create()` will be used to set up initial roots.\n delete updatedConfig.initialData;\n updatedConfig.extraPlugins.push(EditorWatchdogInitPlugin);\n if (this._initUsingData) {\n return this.create(existingRoots, updatedConfig, updatedConfig.context);\n } else {\n // Set correct editables to make sure that proper roots are created and linked with DOM elements.\n // No need to set initial data, as it would be discarded anyway.\n //\n // If one element was initially set in `elementOrData`, then use that original element to restart the editor.\n // This is for compatibility purposes with single-root editor types.\n if (isElement(this._elementOrData)) {\n return this.create(this._elementOrData, updatedConfig, updatedConfig.context);\n } else {\n return this.create(this._editables, updatedConfig, updatedConfig.context);\n }\n }\n }).then(()=>{\n this._fire('restart');\n });\n }\n /**\n\t * Creates the editor instance and keeps it running, using the defined creator and destructor.\n\t *\n\t * @param elementOrData The editor source element or the editor data.\n\t * @param config The editor configuration.\n\t * @param context A context for the editor.\n\t */ create(elementOrData = this._elementOrData, config = this._config, context) {\n this._lifecyclePromise = Promise.resolve(this._lifecyclePromise).then(()=>{\n super._startErrorHandling();\n this._elementOrData = elementOrData;\n // Use document data in the first parameter of the editor `.create()` call only if it was used like this originally.\n // Use document data if a string or object with strings was passed.\n this._initUsingData = typeof elementOrData == 'string' || Object.keys(elementOrData).length > 0 && typeof Object.values(elementOrData)[0] == 'string';\n // Clone configuration because it might be shared within multiple watchdog instances. Otherwise,\n // when an error occurs in one of these editors, the watchdog will restart all of them.\n this._config = this._cloneEditorConfiguration(config) || {};\n this._config.context = context;\n return this._creator(elementOrData, this._config);\n }).then((editor)=>{\n this._editor = editor;\n editor.model.document.on('change:data', this._throttledSave);\n this._lastDocumentVersion = editor.model.document.version;\n this._data = this._getData();\n if (!this._initUsingData) {\n this._editables = this._getEditables();\n }\n this.state = 'ready';\n this._fire('stateChange');\n }).finally(()=>{\n this._lifecyclePromise = null;\n });\n return this._lifecyclePromise;\n }\n /**\n\t * Destroys the watchdog and the current editor instance. It fires the callback\n\t * registered in {@link #setDestructor `setDestructor()`} and uses it to destroy the editor instance.\n\t * It also sets the state to `destroyed`.\n\t */ destroy() {\n this._lifecyclePromise = Promise.resolve(this._lifecyclePromise).then(()=>{\n this.state = 'destroyed';\n this._fire('stateChange');\n super.destroy();\n return this._destroy();\n }).finally(()=>{\n this._lifecyclePromise = null;\n });\n return this._lifecyclePromise;\n }\n _destroy() {\n return Promise.resolve().then(()=>{\n this._stopErrorHandling();\n this._throttledSave.cancel();\n const editor = this._editor;\n this._editor = null;\n // Remove the `change:data` listener before destroying the editor.\n // Incorrectly written plugins may trigger firing `change:data` events during the editor destruction phase\n // causing the watchdog to call `editor.getData()` when some parts of editor are already destroyed.\n editor.model.document.off('change:data', this._throttledSave);\n return this._destructor(editor);\n });\n }\n /**\n\t * Saves the editor data, so it can be restored after the crash even if the data cannot be fetched at\n\t * the moment of the crash.\n\t */ _save() {\n const version = this._editor.model.document.version;\n try {\n this._data = this._getData();\n if (!this._initUsingData) {\n this._editables = this._getEditables();\n }\n this._lastDocumentVersion = version;\n } catch (err) {\n console.error(err, 'An error happened during restoring editor data. ' + 'Editor will be restored from the previously saved data.');\n }\n }\n /**\n\t * @internal\n\t */ _setExcludedProperties(props) {\n this._excludedProps = props;\n }\n /**\n\t * Gets all data that is required to reinitialize editor instance.\n\t */ _getData() {\n const editor = this._editor;\n const roots = editor.model.document.roots.filter((root)=>root.isAttached() && root.rootName != '$graveyard');\n const { plugins } = editor;\n // `as any` to avoid linking from external private repo.\n const commentsRepository = plugins.has('CommentsRepository') && plugins.get('CommentsRepository');\n const trackChanges = plugins.has('TrackChanges') && plugins.get('TrackChanges');\n const data = {\n roots: {},\n markers: {},\n commentThreads: JSON.stringify([]),\n suggestions: JSON.stringify([])\n };\n roots.forEach((root)=>{\n data.roots[root.rootName] = {\n content: JSON.stringify(Array.from(root.getChildren())),\n attributes: JSON.stringify(Array.from(root.getAttributes())),\n isLoaded: root._isLoaded\n };\n });\n for (const marker of editor.model.markers){\n if (!marker._affectsData) {\n continue;\n }\n data.markers[marker.name] = {\n rangeJSON: marker.getRange().toJSON(),\n usingOperation: marker._managedUsingOperations,\n affectsData: marker._affectsData\n };\n }\n if (commentsRepository) {\n data.commentThreads = JSON.stringify(commentsRepository.getCommentThreads({\n toJSON: true,\n skipNotAttached: true\n }));\n }\n if (trackChanges) {\n data.suggestions = JSON.stringify(trackChanges.getSuggestions({\n toJSON: true,\n skipNotAttached: true\n }));\n }\n return data;\n }\n /**\n\t * For each attached model root, returns its HTML editable element (if available).\n\t */ _getEditables() {\n const editables = {};\n for (const rootName of this.editor.model.document.getRootNames()){\n const editable = this.editor.ui.getEditableElement(rootName);\n if (editable) {\n editables[rootName] = editable;\n }\n }\n return editables;\n }\n /**\n\t * Traverses the error context and the current editor to find out whether these structures are connected\n\t * to each other via properties.\n\t *\n\t * @internal\n\t */ _isErrorComingFromThisItem(error) {\n return areConnectedThroughProperties(this._editor, error.context, this._excludedProps);\n }\n /**\n\t * Clones the editor configuration.\n\t */ _cloneEditorConfiguration(config) {\n return cloneDeepWith(config, (value, key)=>{\n // Leave DOM references.\n if (isElement(value)) {\n return value;\n }\n if (key === 'context') {\n return value;\n }\n });\n }\n}\n/**\n * Internal plugin that is used to stop the default editor initialization and restoring the editor state\n * based on the `editor.config._watchdogInitialData` data.\n */ class EditorWatchdogInitPlugin {\n editor;\n _data;\n constructor(editor){\n this.editor = editor;\n this._data = editor.config.get('_watchdogInitialData');\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n // Stops the default editor initialization and use the saved data to restore the editor state.\n // Some of data could not be initialize as a config properties. It is important to keep the data\n // in the same form as it was before the restarting.\n this.editor.data.on('init', (evt)=>{\n evt.stop();\n this.editor.model.enqueueChange({\n isUndoable: false\n }, (writer)=>{\n this._restoreCollaborationData();\n this._restoreEditorData(writer);\n });\n this.editor.data.fire('ready');\n // Keep priority `'high' - 1` to be sure that RTC initialization will be first.\n }, {\n priority: 1000 - 1\n });\n }\n /**\n\t * Creates a model node (element or text) based on provided JSON.\n\t */ _createNode(writer, jsonNode) {\n if ('name' in jsonNode) {\n // If child has name property, it is an Element.\n const element = writer.createElement(jsonNode.name, jsonNode.attributes);\n if (jsonNode.children) {\n for (const child of jsonNode.children){\n element._appendChild(this._createNode(writer, child));\n }\n }\n return element;\n } else {\n // Otherwise, it is a Text node.\n return writer.createText(jsonNode.data, jsonNode.attributes);\n }\n }\n /**\n\t * Restores the editor by setting the document data, roots attributes and markers.\n\t */ _restoreEditorData(writer) {\n const editor = this.editor;\n Object.entries(this._data.roots).forEach(([rootName, { content, attributes }])=>{\n const parsedNodes = JSON.parse(content);\n const parsedAttributes = JSON.parse(attributes);\n const rootElement = editor.model.document.getRoot(rootName);\n for (const [key, value] of parsedAttributes){\n writer.setAttribute(key, value, rootElement);\n }\n for (const child of parsedNodes){\n const node = this._createNode(writer, child);\n writer.insert(node, rootElement, 'end');\n }\n });\n Object.entries(this._data.markers).forEach(([markerName, markerOptions])=>{\n const { document } = editor.model;\n const { rangeJSON: { start, end }, ...options } = markerOptions;\n const root = document.getRoot(start.root);\n const startPosition = writer.createPositionFromPath(root, start.path, start.stickiness);\n const endPosition = writer.createPositionFromPath(root, end.path, end.stickiness);\n const range = writer.createRange(startPosition, endPosition);\n writer.addMarker(markerName, {\n range,\n ...options\n });\n });\n }\n /**\n\t * Restores the editor collaboration data - comment threads and suggestions.\n\t */ _restoreCollaborationData() {\n // `as any` to avoid linking from external private repo.\n const parsedCommentThreads = JSON.parse(this._data.commentThreads);\n const parsedSuggestions = JSON.parse(this._data.suggestions);\n parsedCommentThreads.forEach((commentThreadData)=>{\n const channelId = this.editor.config.get('collaboration.channelId');\n const commentsRepository = this.editor.plugins.get('CommentsRepository');\n if (commentsRepository.hasCommentThread(commentThreadData.threadId)) {\n const commentThread = commentsRepository.getCommentThread(commentThreadData.threadId);\n commentThread.remove();\n }\n commentsRepository.addCommentThread({\n channelId,\n ...commentThreadData\n });\n });\n parsedSuggestions.forEach((suggestionData)=>{\n const trackChangesEditing = this.editor.plugins.get('TrackChangesEditing');\n if (trackChangesEditing.hasSuggestion(suggestionData.id)) {\n const suggestion = trackChangesEditing.getSuggestion(suggestionData.id);\n suggestion.attributes = suggestionData.attributes;\n } else {\n trackChangesEditing.addSuggestionData(suggestionData);\n }\n });\n }\n}\n\nconst mainQueueId = Symbol('MainQueueId');\n/**\n * A watchdog for the {@link module:core/context~Context} class.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */ class ContextWatchdog extends Watchdog {\n /**\n\t * A map of internal watchdogs for added items.\n\t */ _watchdogs = new Map();\n /**\n\t * The watchdog configuration.\n\t */ _watchdogConfig;\n /**\n\t * The current context instance.\n\t */ _context = null;\n /**\n\t * Context properties (nodes/references) that are gathered during the initial context creation\n\t * and are used to distinguish the origin of an error.\n\t */ _contextProps = new Set();\n /**\n\t * An action queue, which is used to handle async functions queuing.\n\t */ _actionQueues = new ActionQueues();\n /**\n\t * The configuration for the {@link module:core/context~Context}.\n\t */ _contextConfig;\n /**\n\t * The watched item.\n\t */ _item;\n /**\n\t * The context watchdog class constructor.\n\t *\n\t * ```ts\n\t * const watchdog = new ContextWatchdog( Context );\n\t *\n\t * await watchdog.create( contextConfiguration );\n\t *\n\t * await watchdog.add( item );\n\t * ```\n\t *\n\t * See the {@glink features/watchdog Watchdog feature guide} to learn more how to use this feature.\n\t *\n\t * @param Context The {@link module:core/context~Context} class.\n\t * @param watchdogConfig The watchdog configuration.\n\t */ constructor(Context, watchdogConfig = {}){\n super(watchdogConfig);\n this._watchdogConfig = watchdogConfig;\n // Default creator and destructor.\n this._creator = (contextConfig)=>Context.create(contextConfig);\n this._destructor = (context)=>context.destroy();\n this._actionQueues.onEmpty(()=>{\n if (this.state === 'initializing') {\n this.state = 'ready';\n this._fire('stateChange');\n }\n });\n }\n /**\n\t * Sets the function that is responsible for the context creation.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setCreator( config => Context.create( config ) );\n\t * ```\n\t */ setCreator(creator) {\n this._creator = creator;\n }\n /**\n\t * Sets the function that is responsible for the context destruction.\n\t * Overrides the default destruction function, which destroys only the context instance.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( context => {\n\t * \t// Do something before the context is destroyed.\n\t *\n\t * \treturn context\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the context is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */ setDestructor(destructor) {\n this._destructor = destructor;\n }\n /**\n\t * The context instance. Keep in mind that this property might be changed when the context watchdog restarts,\n\t * so do not keep this instance internally. Always operate on the `ContextWatchdog#context` property.\n\t */ get context() {\n return this._context;\n }\n /**\n\t * Initializes the context watchdog. Once it is created, the watchdog takes care about\n\t * recreating the context and the provided items, and starts the error handling mechanism.\n\t *\n\t * ```ts\n\t * await watchdog.create( {\n\t * \tplugins: []\n\t * } );\n\t * ```\n\t *\n\t * @param contextConfig The context configuration. See {@link module:core/context~Context}.\n\t */ create(contextConfig = {}) {\n return this._actionQueues.enqueue(mainQueueId, ()=>{\n this._contextConfig = contextConfig;\n return this._create();\n });\n }\n /**\n\t * Returns an item instance with the given `itemId`.\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId The item ID.\n\t * @returns The item instance or `undefined` if an item with a given ID has not been found.\n\t */ getItem(itemId) {\n const watchdog = this._getWatchdog(itemId);\n return watchdog._item;\n }\n /**\n\t * Gets the state of the given item. See {@link #state} for a list of available states.\n\t *\n\t * ```ts\n\t * const editor1State = watchdog.getItemState( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId Item ID.\n\t * @returns The state of the item.\n\t */ getItemState(itemId) {\n const watchdog = this._getWatchdog(itemId);\n return watchdog.state;\n }\n /**\n\t * Adds items to the watchdog. Once created, instances of these items will be available using the {@link #getItem} method.\n\t *\n\t * Items can be passed together as an array of objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( [ {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * } ] );\n\t * ```\n\t *\n\t * Or one by one as objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * ] );\n\t * ```\n\t *\n\t * Then an instance can be retrieved using the {@link #getItem} method:\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * Note that this method can be called multiple times, but for performance reasons it is better\n\t * to pass all items together.\n\t *\n\t * @param itemConfigurationOrItemConfigurations An item configuration object or an array of item configurations.\n\t */ add(itemConfigurationOrItemConfigurations) {\n const itemConfigurations = toArray(itemConfigurationOrItemConfigurations);\n return Promise.all(itemConfigurations.map((item)=>{\n return this._actionQueues.enqueue(item.id, ()=>{\n if (this.state === 'destroyed') {\n throw new Error('Cannot add items to destroyed watchdog.');\n }\n if (!this._context) {\n throw new Error('Context was not created yet. You should call the `ContextWatchdog#create()` method first.');\n }\n let watchdog;\n if (this._watchdogs.has(item.id)) {\n throw new Error(`Item with the given id is already added: '${item.id}'.`);\n }\n if (item.type === 'editor') {\n watchdog = new EditorWatchdog(null, this._watchdogConfig);\n watchdog.setCreator(item.creator);\n watchdog._setExcludedProperties(this._contextProps);\n if (item.destructor) {\n watchdog.setDestructor(item.destructor);\n }\n this._watchdogs.set(item.id, watchdog);\n // Enqueue the internal watchdog errors within the main queue.\n // And propagate the internal `error` events as `itemError` event.\n watchdog.on('error', (evt, { error, causesRestart })=>{\n this._fire('itemError', {\n itemId: item.id,\n error\n });\n // Do not enqueue the item restart action if the item will not restart.\n if (!causesRestart) {\n return;\n }\n this._actionQueues.enqueue(item.id, ()=>new Promise((res)=>{\n const rethrowRestartEventOnce = ()=>{\n watchdog.off('restart', rethrowRestartEventOnce);\n this._fire('itemRestart', {\n itemId: item.id\n });\n res();\n };\n watchdog.on('restart', rethrowRestartEventOnce);\n }));\n });\n return watchdog.create(item.sourceElementOrData, item.config, this._context);\n } else {\n throw new Error(`Not supported item type: '${item.type}'.`);\n }\n });\n }));\n }\n /**\n\t * Removes and destroys item(s) with given ID(s).\n\t *\n\t * ```ts\n\t * await watchdog.remove( 'editor1' );\n\t * ```\n\t *\n\t * Or\n\t *\n\t * ```ts\n\t * await watchdog.remove( [ 'editor1', 'editor2' ] );\n\t * ```\n\t *\n\t * @param itemIdOrItemIds Item ID or an array of item IDs.\n\t */ remove(itemIdOrItemIds) {\n const itemIds = toArray(itemIdOrItemIds);\n return Promise.all(itemIds.map((itemId)=>{\n return this._actionQueues.enqueue(itemId, ()=>{\n const watchdog = this._getWatchdog(itemId);\n this._watchdogs.delete(itemId);\n return watchdog.destroy();\n });\n }));\n }\n /**\n\t * Destroys the context watchdog and all added items.\n\t * Once the context watchdog is destroyed, new items cannot be added.\n\t *\n\t * ```ts\n\t * await watchdog.destroy();\n\t * ```\n\t */ destroy() {\n return this._actionQueues.enqueue(mainQueueId, ()=>{\n this.state = 'destroyed';\n this._fire('stateChange');\n super.destroy();\n return this._destroy();\n });\n }\n /**\n\t * Restarts the context watchdog.\n\t */ _restart() {\n return this._actionQueues.enqueue(mainQueueId, ()=>{\n this.state = 'initializing';\n this._fire('stateChange');\n return this._destroy().catch((err)=>{\n console.error('An error happened during destroying the context or items.', err);\n }).then(()=>this._create()).then(()=>this._fire('restart'));\n });\n }\n /**\n\t * Initializes the context watchdog.\n\t */ _create() {\n return Promise.resolve().then(()=>{\n this._startErrorHandling();\n return this._creator(this._contextConfig);\n }).then((context)=>{\n this._context = context;\n this._contextProps = getSubNodes(this._context);\n return Promise.all(Array.from(this._watchdogs.values()).map((watchdog)=>{\n watchdog._setExcludedProperties(this._contextProps);\n return watchdog.create(undefined, undefined, this._context);\n }));\n });\n }\n /**\n\t * Destroys the context instance and all added items.\n\t */ _destroy() {\n return Promise.resolve().then(()=>{\n this._stopErrorHandling();\n const context = this._context;\n this._context = null;\n this._contextProps = new Set();\n return Promise.all(Array.from(this._watchdogs.values()).map((watchdog)=>watchdog.destroy()))// Context destructor destroys each editor.\n .then(()=>this._destructor(context));\n });\n }\n /**\n\t * Returns the watchdog for a given item ID.\n\t *\n\t * @param itemId Item ID.\n\t */ _getWatchdog(itemId) {\n const watchdog = this._watchdogs.get(itemId);\n if (!watchdog) {\n throw new Error(`Item with the given id was not registered: ${itemId}.`);\n }\n return watchdog;\n }\n /**\n\t * Checks whether an error comes from the context instance and not from the item instances.\n\t *\n\t * @internal\n\t */ _isErrorComingFromThisItem(error) {\n for (const watchdog of this._watchdogs.values()){\n if (watchdog._isErrorComingFromThisItem(error)) {\n return false;\n }\n }\n return areConnectedThroughProperties(this._context, error.context);\n }\n}\n/**\n * Manager of action queues that allows queuing async functions.\n */ class ActionQueues {\n _onEmptyCallbacks = [];\n _queues = new Map();\n _activeActions = 0;\n /**\n\t * Used to register callbacks that will be run when the queue becomes empty.\n\t *\n\t * @param onEmptyCallback A callback that will be run whenever the queue becomes empty.\n\t */ onEmpty(onEmptyCallback) {\n this._onEmptyCallbacks.push(onEmptyCallback);\n }\n /**\n\t * It adds asynchronous actions (functions) to the proper queue and runs them one by one.\n\t *\n\t * @param queueId The action queue ID.\n\t * @param action A function that should be enqueued.\n\t */ enqueue(queueId, action) {\n const isMainAction = queueId === mainQueueId;\n this._activeActions++;\n if (!this._queues.get(queueId)) {\n this._queues.set(queueId, Promise.resolve());\n }\n // List all sources of actions that the current action needs to await for.\n // For the main action wait for all other actions.\n // For the item action wait only for the item queue and the main queue.\n const awaitedActions = isMainAction ? Promise.all(this._queues.values()) : Promise.all([\n this._queues.get(mainQueueId),\n this._queues.get(queueId)\n ]);\n const queueWithAction = awaitedActions.then(action);\n // Catch all errors in the main queue to stack promises even if an error occurred in the past.\n const nonErrorQueue = queueWithAction.catch(()=>{});\n this._queues.set(queueId, nonErrorQueue);\n return queueWithAction.finally(()=>{\n this._activeActions--;\n if (this._queues.get(queueId) === nonErrorQueue && this._activeActions === 0) {\n this._onEmptyCallbacks.forEach((cb)=>cb());\n }\n });\n }\n}\n/**\n * Transforms any value to an array. If the provided value is already an array, it is returned unchanged.\n *\n * @param elementOrArray The value to transform to an array.\n * @returns An array created from data.\n */ function toArray(elementOrArray) {\n return Array.isArray(elementOrArray) ? elementOrArray : [\n elementOrArray\n ];\n}\n\nexport { ContextWatchdog, EditorWatchdog, Watchdog };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/watchdog\n */\n\nimport type { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport type { EditorWatchdogRestartEvent } from './editorwatchdog.js';\nimport type { ContextWatchdogItemErrorEvent, ContextWatchdogItemRestartEvent } from './contextwatchdog.js';\n\n/**\n * An abstract watchdog class that handles most of the error handling process and the state of the underlying component.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and how to use it.\n *\n * @internal\n */\nexport default abstract class Watchdog {\n\t/**\n\t * An array of crashes saved as an object with the following properties:\n\t *\n\t * * `message`: `String`,\n\t * * `stack`: `String`,\n\t * * `date`: `Number`,\n\t * * `filename`: `String | undefined`,\n\t * * `lineno`: `Number | undefined`,\n\t * * `colno`: `Number | undefined`,\n\t */\n\tpublic readonly crashes: Array<{\n\t\tmessage: string;\n\t\tstack?: string;\n\t\tdate: number;\n\n\t\t// `evt.filename`, `evt.lineno` and `evt.colno` are available only in ErrorEvent events\n\t\tfilename?: string;\n\t\tlineno?: number;\n\t\tcolno?: number;\n\t}> = [];\n\n\t/**\n\t * Specifies the state of the item watched by the watchdog. The state can be one of the following values:\n\t *\n\t * * `initializing` – Before the first initialization, and after crashes, before the item is ready.\n\t * * `ready` – A state when the user can interact with the item.\n\t * * `crashed` – A state when an error occurs. It quickly changes to `initializing` or `crashedPermanently`\n\t * depending on how many and how frequent errors have been caught recently.\n\t * * `crashedPermanently` – A state when the watchdog stops reacting to errors and keeps the item it is watching crashed,\n\t * * `destroyed` – A state when the item is manually destroyed by the user after calling `watchdog.destroy()`.\n\t */\n\tpublic state: WatchdogState = 'initializing';\n\n\t/**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */\n\tprivate _crashNumberLimit: number;\n\n\t/**\n\t * Returns the result of the `Date.now()` call. It can be overridden in tests to mock time as some popular\n\t * approaches like `sinon.useFakeTimers()` do not work well with error handling.\n\t */\n\tprivate _now = Date.now;\n\n\t/**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */\n\tprivate _minimumNonErrorTimePeriod: number;\n\n\t/**\n\t * Checks if the event error comes from the underlying item and restarts the item.\n\t */\n\tprivate _boundErrorHandler: ( evt: ErrorEvent | PromiseRejectionEvent ) => void;\n\n\t/**\n\t * The method responsible for restarting the watched item.\n\t */\n\tprotected abstract _restart(): Promise<unknown>;\n\n\t/**\n\t * Traverses the error context and the watched item to find out whether the error should\n\t * be handled by the given item.\n\t *\n\t * @internal\n\t */\n\tpublic abstract _isErrorComingFromThisItem( error: CKEditorError ): boolean;\n\n\t/**\n\t * The watched item.\n\t *\n\t * @internal\n\t */\n\tpublic abstract get _item(): unknown;\n\n\t/**\n\t * A dictionary of event emitter listeners.\n\t */\n\tprivate _listeners: Record<string, Array<( ...args: any ) => void>>;\n\n\t/**\n\t * @param {module:watchdog/watchdog~WatchdogConfig} config The watchdog plugin configuration.\n\t */\n\tconstructor( config: WatchdogConfig ) {\n\t\tthis.crashes = [];\n\t\tthis._crashNumberLimit = typeof config.crashNumberLimit === 'number' ? config.crashNumberLimit : 3;\n\t\tthis._minimumNonErrorTimePeriod = typeof config.minimumNonErrorTimePeriod === 'number' ? config.minimumNonErrorTimePeriod : 5000;\n\n\t\tthis._boundErrorHandler = evt => {\n\t\t\t// `evt.error` is exposed by EventError while `evt.reason` is available in PromiseRejectionEvent.\n\t\t\tconst error = 'error' in evt ? evt.error : evt.reason;\n\n\t\t\t// Note that `evt.reason` might be everything that is in the promise rejection.\n\t\t\t// Similarly everything that is thrown lands in `evt.error`.\n\t\t\tif ( error instanceof Error ) {\n\t\t\t\tthis._handleError( error, evt );\n\t\t\t}\n\t\t};\n\n\t\tthis._listeners = {};\n\n\t\tif ( !( this as any )._restart ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. ' +\n\t\t\t\t'Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.'\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Destroys the watchdog and releases the resources.\n\t */\n\tpublic destroy(): void {\n\t\tthis._stopErrorHandling();\n\n\t\tthis._listeners = {};\n\t}\n\n\t/**\n\t * Starts listening to a specific event name by registering a callback that will be executed\n\t * whenever an event with a given name fires.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be added to event listeners.\n\t */\n\tpublic on<K extends keyof EventMap>( eventName: K, callback: EventCallback<K> ): void {\n\t\tif ( !this._listeners[ eventName ] ) {\n\t\t\tthis._listeners[ eventName ] = [];\n\t\t}\n\n\t\tthis._listeners[ eventName ].push( callback );\n\t}\n\n\t/**\n\t * Stops listening to the specified event name by removing the callback from event listeners.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be removed from event listeners.\n\t */\n\tpublic off( eventName: keyof EventMap, callback: unknown ): void {\n\t\tthis._listeners[ eventName ] = this._listeners[ eventName ]\n\t\t\t.filter( cb => cb !== callback );\n\t}\n\n\t/**\n\t * Fires an event with a given event name and arguments.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t */\n\tprotected _fire<K extends keyof EventMap>( eventName: K, ...args: EventArgs<K> ): void {\n\t\tconst callbacks = this._listeners[ eventName ] || [];\n\n\t\tfor ( const callback of callbacks ) {\n\t\t\tcallback.apply( this, [ null, ...args ] );\n\t\t}\n\t}\n\n\t/**\n\t * Starts error handling by attaching global error handlers.\n\t */\n\tprotected _startErrorHandling(): void {\n\t\twindow.addEventListener( 'error', this._boundErrorHandler );\n\t\twindow.addEventListener( 'unhandledrejection', this._boundErrorHandler );\n\t}\n\n\t/**\n\t * Stops error handling by detaching global error handlers.\n\t */\n\tprotected _stopErrorHandling(): void {\n\t\twindow.removeEventListener( 'error', this._boundErrorHandler );\n\t\twindow.removeEventListener( 'unhandledrejection', this._boundErrorHandler );\n\t}\n\n\t/**\n\t * Checks if an error comes from the watched item and restarts it.\n\t * It reacts to {@link module:utils/ckeditorerror~CKEditorError `CKEditorError` errors} only.\n\t *\n\t * @fires error\n\t * @param error Error.\n\t * @param evt An error event.\n\t */\n\tprivate _handleError( error: Error, evt: ErrorEvent | PromiseRejectionEvent ): void {\n\t\t// @if CK_DEBUG // const err = error as CKEditorError;\n\t\t// @if CK_DEBUG // if ( err.is && err.is( 'CKEditorError' ) && err.context === undefined ) {\n\t\t// @if CK_DEBUG // console.warn( 'The error is missing its context and Watchdog cannot restart the proper item.' );\n\t\t// @if CK_DEBUG // }\n\n\t\tif ( this._shouldReactToError( error ) ) {\n\t\t\tthis.crashes.push( {\n\t\t\t\tmessage: error.message,\n\t\t\t\tstack: error.stack,\n\n\t\t\t\t// `evt.filename`, `evt.lineno` and `evt.colno` are available only in ErrorEvent events\n\t\t\t\tfilename: evt instanceof ErrorEvent ? evt.filename : undefined,\n\t\t\t\tlineno: evt instanceof ErrorEvent ? evt.lineno : undefined,\n\t\t\t\tcolno: evt instanceof ErrorEvent ? evt.colno : undefined,\n\t\t\t\tdate: this._now()\n\t\t\t} );\n\n\t\t\tconst causesRestart = this._shouldRestart();\n\n\t\t\tthis.state = 'crashed';\n\t\t\tthis._fire( 'stateChange' );\n\t\t\tthis._fire( 'error', { error, causesRestart } );\n\n\t\t\tif ( causesRestart ) {\n\t\t\t\tthis._restart();\n\t\t\t} else {\n\t\t\t\tthis.state = 'crashedPermanently';\n\t\t\t\tthis._fire( 'stateChange' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks whether an error should be handled by the watchdog.\n\t *\n\t * @param error An error that was caught by the error handling process.\n\t */\n\tprivate _shouldReactToError( error: Error ): boolean {\n\t\treturn (\n\t\t\t( error as any ).is &&\n\t\t\t( error as any ).is( 'CKEditorError' ) &&\n\t\t\t( error as CKEditorError ).context !== undefined &&\n\n\t\t\t// In some cases the watched item should not be restarted - e.g. during the item initialization.\n\t\t\t// That's why the `null` was introduced as a correct error context which does cause restarting.\n\t\t\t( error as CKEditorError ).context !== null &&\n\n\t\t\t// Do not react to errors if the watchdog is in states other than `ready`.\n\t\t\tthis.state === 'ready' &&\n\n\t\t\tthis._isErrorComingFromThisItem( error as CKEditorError )\n\t\t);\n\t}\n\n\t/**\n\t * Checks if the watchdog should restart the underlying item.\n\t */\n\tprivate _shouldRestart(): boolean {\n\t\tif ( this.crashes.length <= this._crashNumberLimit ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst lastErrorTime = this.crashes[ this.crashes.length - 1 ].date;\n\t\tconst firstMeaningfulErrorTime = this.crashes[ this.crashes.length - 1 - this._crashNumberLimit ].date;\n\n\t\tconst averageNonErrorTimePeriod = ( lastErrorTime - firstMeaningfulErrorTime ) / this._crashNumberLimit;\n\n\t\treturn averageNonErrorTimePeriod > this._minimumNonErrorTimePeriod;\n\t}\n}\n\n/**\n * Fired when a new {@link module:utils/ckeditorerror~CKEditorError `CKEditorError`} error connected to the watchdog instance occurs\n * and the watchdog will react to it.\n *\n * ```ts\n * watchdog.on( 'error', ( evt, { error, causesRestart } ) => {\n * \tconsole.log( 'An error occurred.' );\n * } );\n * ```\n *\n * @eventName ~Watchdog#error\n */\nexport type WatchdogErrorEvent = {\n\tname: 'error';\n\targs: [ WatchdogErrorEventData ];\n};\n\n/**\n * The `error` event data.\n */\nexport type WatchdogErrorEventData = {\n\terror: Error;\n\tcausesRestart: boolean;\n};\n\n/**\n * Fired when the watchdog state changed.\n *\n * @eventName ~Watchdog#stateChange\n */\nexport type WatchdogStateChangeEvent = {\n\tname: 'stateChange';\n\targs: [];\n};\n\n/**\n * The map of watchdog events.\n */\nexport interface EventMap {\n\tstateChange: WatchdogStateChangeEvent;\n\terror: WatchdogErrorEvent;\n\trestart: EditorWatchdogRestartEvent;\n\titemError: ContextWatchdogItemErrorEvent;\n\titemRestart: ContextWatchdogItemRestartEvent;\n}\n\n/**\n * Utility type that gets the arguments type for the given event.\n */\nexport type EventArgs<K extends keyof EventMap> = EventMap[ K ][ 'args' ];\n\n/**\n * Utility type that gets the callback type for the given event.\n */\nexport type EventCallback<K extends keyof EventMap> = ( evt: null, ...args: EventArgs<K> ) => void;\n\n/**\n * The watchdog plugin configuration.\n */\nexport interface WatchdogConfig {\n\n\t/**\n\t * A threshold specifying the number of watched item crashes\n\t * when the watchdog stops restarting the item in case of errors.\n\t * After this limit is reached and the time between the last errors is shorter than `minimumNonErrorTimePeriod`,\n\t * the watchdog changes its state to `crashedPermanently` and it stops restarting the item. This prevents an infinite restart loop.\n\t *\n\t * @default 3\n\t */\n\tcrashNumberLimit?: number;\n\n\t/**\n\t * An average number of milliseconds between the last watched item errors\n\t * (defaults to 5000). When the period of time between errors is lower than that and the `crashNumberLimit` is also reached,\n\t * the watchdog changes its state to `crashedPermanently` and it stops restarting the item. This prevents an infinite restart loop.\n\t *\n\t * @default 5000\n\t */\n\tminimumNonErrorTimePeriod?: number;\n\n\t/**\n\t * A minimum number of milliseconds between saving the editor data internally (defaults to 5000).\n\t * Note that for large documents this might impact the editor performance.\n\t *\n\t * @default 5000\n\t */\n\tsaveInterval?: number;\n}\n\n/**\n * Specifies the state of the item watched by the watchdog.\n */\nexport type WatchdogState = 'initializing' | 'ready' | 'crashed' | 'crashedPermanently' | 'destroyed';\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/utils/getsubnodes\n */\n\nexport default function getSubNodes( head: unknown, excludedProperties = new Set() ): Set<unknown> {\n\tconst nodes = [ head ];\n\n\t// @if CK_DEBUG_WATCHDOG // const prevNodeMap = new Map();\n\n\t// Nodes are stored to prevent infinite looping.\n\tconst subNodes = new Set();\n\tlet nodeIndex = 0;\n\n\twhile ( nodes.length > nodeIndex ) {\n\t\t// Incrementing the iterator is much faster than changing size of the array with Array.prototype.shift().\n\t\tconst node = nodes[ nodeIndex++ ];\n\n\t\tif ( subNodes.has( node ) || !shouldNodeBeIncluded( node ) || excludedProperties.has( node ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tsubNodes.add( node );\n\n\t\t// Handle arrays, maps, sets, custom collections that implements `[ Symbol.iterator ]()`, etc.\n\t\tif ( Symbol.iterator in node ) {\n\t\t\t// The custom editor iterators might cause some problems if the editor is crashed.\n\t\t\ttry {\n\t\t\t\tfor ( const n of node as Iterable<unknown> ) {\n\t\t\t\t\tnodes.push( n );\n\n\t\t\t\t\t// @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( n ) ) {\n\t\t\t\t\t// @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( n, node );\n\t\t\t\t\t// @if CK_DEBUG_WATCHDOG // }\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// Do not log errors for broken structures\n\t\t\t\t// since we are in the error handling process already.\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( const key in node ) {\n\t\t\t\t// We share a reference via the protobuf library within the editors,\n\t\t\t\t// hence the shared value should be skipped. Although, it's not a perfect\n\t\t\t\t// solution since new places like that might occur in the future.\n\t\t\t\tif ( key === 'defaultValue' ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tnodes.push( node[ key ] );\n\n\t\t\t\t// @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( node[ key ] ) ) {\n\t\t\t\t// @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( node[ key ], node );\n\t\t\t\t// @if CK_DEBUG_WATCHDOG // }\n\t\t\t}\n\t\t}\n\t}\n\n\t// @if CK_DEBUG_WATCHDOG // return { subNodes, prevNodeMap } as any;\n\n\treturn subNodes;\n}\n\nfunction shouldNodeBeIncluded( node: unknown ): node is Record<string, unknown> | Iterable<unknown> {\n\tconst type = Object.prototype.toString.call( node );\n\tconst typeOfNode = typeof node;\n\n\treturn !(\n\t\ttypeOfNode === 'number' ||\n\t\ttypeOfNode === 'boolean' ||\n\t\ttypeOfNode === 'string' ||\n\t\ttypeOfNode === 'symbol' ||\n\t\ttypeOfNode === 'function' ||\n\t\ttype === '[object Date]' ||\n\t\ttype === '[object RegExp]' ||\n\t\ttype === '[object Module]' ||\n\n\t\tnode === undefined ||\n\t\tnode === null ||\n\n\t\t// This flag is meant to exclude singletons shared across editor instances. So when an error is thrown in one editor,\n\t\t// the other editors connected through the reference to the same singleton are not restarted. This is a temporary workaround\n\t\t// until a better solution is found.\n\t\t// More in https://github.com/ckeditor/ckeditor5/issues/12292.\n\t\t( node as any )._watchdogExcluded ||\n\n\t\t// Skip native DOM objects, e.g. Window, nodes, events, etc.\n\t\tnode instanceof EventTarget ||\n\t\tnode instanceof Event\n\t);\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/utils/areconnectedthroughproperties\n */\n\nimport getSubNodes from './getsubnodes.js';\n\n/**\n * Traverses both structures to find out whether there is a reference that is shared between both structures.\n */\nexport default function areConnectedThroughProperties( target1: unknown, target2: unknown, excludedNodes = new Set() ): boolean {\n\tif ( target1 === target2 && isObject( target1 ) ) {\n\t\treturn true;\n\t}\n\n\t// @if CK_DEBUG_WATCHDOG // return checkConnectionBetweenProps( target1, target2, excludedNodes );\n\n\tconst subNodes1 = getSubNodes( target1, excludedNodes );\n\tconst subNodes2 = getSubNodes( target2, excludedNodes );\n\n\tfor ( const node of subNodes1 ) {\n\t\tif ( subNodes2.has( node ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/* istanbul ignore next -- @preserve */\n// eslint-disable-next-line\nfunction checkConnectionBetweenProps( target1: unknown, target2: unknown, excludedNodes: any ) {\n\tconst { subNodes: subNodes1, prevNodeMap: prevNodeMap1 } = getSubNodes( target1, excludedNodes.subNodes ) as any;\n\tconst { subNodes: subNodes2, prevNodeMap: prevNodeMap2 } = getSubNodes( target2, excludedNodes.subNodes ) as any;\n\n\tfor ( const sharedNode of subNodes1 ) {\n\t\tif ( subNodes2.has( sharedNode ) ) {\n\t\t\tconst connection = [];\n\n\t\t\tconnection.push( sharedNode );\n\n\t\t\tlet node = prevNodeMap1.get( sharedNode );\n\n\t\t\twhile ( node && node !== target1 ) {\n\t\t\t\tconnection.push( node );\n\t\t\t\tnode = prevNodeMap1.get( node );\n\t\t\t}\n\n\t\t\tnode = prevNodeMap2.get( sharedNode );\n\n\t\t\twhile ( node && node !== target2 ) {\n\t\t\t\tconnection.unshift( node );\n\t\t\t\tnode = prevNodeMap2.get( node );\n\t\t\t}\n\n\t\t\tconsole.log( '--------' );\n\t\t\tconsole.log( { target1 } );\n\t\t\tconsole.log( { sharedNode } );\n\t\t\tconsole.log( { target2 } );\n\t\t\tconsole.log( { connection } );\n\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction isObject( structure: unknown ): boolean {\n\treturn typeof structure === 'object' && structure !== null;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/editorwatchdog\n */\n\nimport { throttle, cloneDeepWith, isElement, type DebouncedFunction } from 'es-toolkit/compat';\nimport areConnectedThroughProperties from './utils/areconnectedthroughproperties.js';\nimport Watchdog, { type WatchdogConfig } from './watchdog.js';\nimport type { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport type { Node, Text, Element, Writer } from '@ckeditor/ckeditor5-engine';\nimport type { Editor, EditorConfig, Context, EditorReadyEvent } from '@ckeditor/ckeditor5-core';\nimport type { RootAttributes } from '@ckeditor/ckeditor5-editor-multi-root';\n\n/**\n * A watchdog for CKEditor 5 editors.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */\nexport default class EditorWatchdog<TEditor extends Editor = Editor> extends Watchdog {\n\t/**\n\t * The current editor instance.\n\t */\n\tprivate _editor: TEditor | null = null;\n\n\t/**\n\t * A promise associated with the life cycle of the editor (creation or destruction processes).\n\t *\n\t * It is used to prevent the initialization of the editor if the previous instance has not been destroyed yet,\n\t * and conversely, to prevent the destruction of the editor if it has not been initialized.\n\t */\n\tprivate _lifecyclePromise: Promise<unknown> | null = null;\n\n\t/**\n\t * Throttled save method. The `save()` method is called the specified `saveInterval` after `throttledSave()` is called,\n\t * unless a new action happens in the meantime.\n\t */\n\tprivate _throttledSave: DebouncedFunction<() => void>;\n\n\t/**\n\t * The latest saved editor data represented as a root name -> root data object.\n\t */\n\tprivate _data?: EditorData;\n\n\t/**\n\t * The last document version.\n\t */\n\tprivate _lastDocumentVersion?: number;\n\n\t/**\n\t * The editor source element or data.\n\t */\n\tprivate _elementOrData?: HTMLElement | string | Record<string, string> | Record<string, HTMLElement>;\n\n\t/**\n\t * Specifies whether the editor was initialized using document data (`true`) or HTML elements (`false`).\n\t */\n\tprivate _initUsingData = true;\n\n\t/**\n\t * The latest record of the editor editable elements. Used to restart the editor.\n\t */\n\tprivate _editables: Record<string, HTMLElement> = {};\n\n\t/**\n\t * The editor configuration.\n\t */\n\tprivate _config?: EditorConfig;\n\n\t/**\n\t * The creation method.\n\t *\n\t * @see #setCreator\n\t */\n\tdeclare protected _creator: EditorCreatorFunction<TEditor>;\n\n\t/**\n\t * The destruction method.\n\t *\n\t * @see #setDestructor\n\t */\n\tdeclare protected _destructor: ( editor: Editor ) => Promise<unknown>;\n\n\tprivate _excludedProps?: Set<unknown>;\n\n\t/**\n\t * @param Editor The editor class.\n\t * @param watchdogConfig The watchdog plugin configuration.\n\t */\n\tconstructor( Editor: { create( ...args: any ): Promise<TEditor> } | null, watchdogConfig: WatchdogConfig = {} ) {\n\t\tsuper( watchdogConfig );\n\n\t\t// this._editorClass = Editor;\n\n\t\tthis._throttledSave = throttle(\n\t\t\tthis._save.bind( this ),\n\t\t\ttypeof watchdogConfig.saveInterval === 'number' ? watchdogConfig.saveInterval : 5000\n\t\t);\n\n\t\t// Set default creator and destructor functions:\n\t\tif ( Editor ) {\n\t\t\tthis._creator = ( ( elementOrData, config ) => Editor.create( elementOrData, config ) );\n\t\t}\n\n\t\tthis._destructor = editor => editor.destroy();\n\t}\n\n\t/**\n\t * The current editor instance.\n\t */\n\tpublic get editor(): TEditor | null {\n\t\treturn this._editor;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic get _item(): TEditor | null {\n\t\treturn this._editor;\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the editor creation.\n\t * It expects a function that should return a promise.\n\t *\n\t * ```ts\n\t * watchdog.setCreator( ( element, config ) => ClassicEditor.create( element, config ) );\n\t * ```\n\t */\n\tpublic setCreator( creator: EditorCreatorFunction<TEditor> ): void {\n\t\tthis._creator = creator;\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the editor destruction.\n\t * Overrides the default destruction function, which destroys only the editor instance.\n\t * It expects a function that should return a promise or `undefined`.\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( editor => {\n\t * \t// Do something before the editor is destroyed.\n\t *\n\t * \treturn editor\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the editor is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */\n\tpublic setDestructor( destructor: ( editor: Editor ) => Promise<unknown> ): void {\n\t\tthis._destructor = destructor;\n\t}\n\n\t/**\n\t * Restarts the editor instance. This method is called whenever an editor error occurs. It fires the `restart` event and changes\n\t * the state to `initializing`.\n\t *\n\t * @fires restart\n\t */\n\tprotected override _restart(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis.state = 'initializing';\n\t\t\t\tthis._fire( 'stateChange' );\n\n\t\t\t\treturn this._destroy();\n\t\t\t} )\n\t\t\t.catch( err => {\n\t\t\t\tconsole.error( 'An error happened during the editor destroying.', err );\n\t\t\t} )\n\t\t\t.then( () => {\n\t\t\t\t// Pre-process some data from the original editor config.\n\t\t\t\t// Our goal here is to make sure that the restarted editor will be reinitialized with correct set of roots.\n\t\t\t\t// We are not interested in any data set in config or in `.create()` first parameter. It will be replaced anyway.\n\t\t\t\t// But we need to set them correctly to make sure that proper roots are created.\n\t\t\t\t//\n\t\t\t\t// Since a different set of roots will be created, `lazyRoots` and `rootsAttributes` properties must be managed too.\n\n\t\t\t\t// Keys are root names, values are ''. Used when the editor was initialized by setting the first parameter to document data.\n\t\t\t\tconst existingRoots: Record<string, string> = {};\n\t\t\t\t// Keeps lazy roots. They may be different when compared to initial config if some of the roots were loaded.\n\t\t\t\tconst lazyRoots: Array<string> = [];\n\t\t\t\t// Roots attributes from the old config. Will be referred when setting new attributes.\n\t\t\t\tconst oldRootsAttributes: Record<string, RootAttributes> = this._config!.rootsAttributes || {};\n\t\t\t\t// New attributes to be set. Is filled only for roots that still exist in the document.\n\t\t\t\tconst rootsAttributes: Record<string, RootAttributes> = {};\n\n\t\t\t\t// Traverse through the roots saved when the editor crashed and set up the discussed values.\n\t\t\t\tfor ( const [ rootName, rootData ] of Object.entries( this._data!.roots ) ) {\n\t\t\t\t\tif ( rootData.isLoaded ) {\n\t\t\t\t\t\texistingRoots[ rootName ] = '';\n\t\t\t\t\t\trootsAttributes[ rootName ] = oldRootsAttributes[ rootName ] || {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlazyRoots.push( rootName );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst updatedConfig: EditorConfig = {\n\t\t\t\t\t...this._config,\n\t\t\t\t\textraPlugins: this._config!.extraPlugins || [],\n\t\t\t\t\tlazyRoots,\n\t\t\t\t\trootsAttributes,\n\t\t\t\t\t_watchdogInitialData: this._data\n\t\t\t\t};\n\n\t\t\t\t// Delete `initialData` as it is not needed. Data will be set by the watchdog based on `_watchdogInitialData`.\n\t\t\t\t// First parameter of the editor `.create()` will be used to set up initial roots.\n\t\t\t\tdelete updatedConfig.initialData;\n\n\t\t\t\tupdatedConfig.extraPlugins!.push( EditorWatchdogInitPlugin as any );\n\n\t\t\t\tif ( this._initUsingData ) {\n\t\t\t\t\treturn this.create( existingRoots, updatedConfig, updatedConfig.context );\n\t\t\t\t} else {\n\t\t\t\t\t// Set correct editables to make sure that proper roots are created and linked with DOM elements.\n\t\t\t\t\t// No need to set initial data, as it would be discarded anyway.\n\t\t\t\t\t//\n\t\t\t\t\t// If one element was initially set in `elementOrData`, then use that original element to restart the editor.\n\t\t\t\t\t// This is for compatibility purposes with single-root editor types.\n\t\t\t\t\tif ( isElement( this._elementOrData ) ) {\n\t\t\t\t\t\treturn this.create( this._elementOrData, updatedConfig, updatedConfig.context );\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.create( this._editables, updatedConfig, updatedConfig.context );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.then( () => {\n\t\t\t\tthis._fire( 'restart' );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Creates the editor instance and keeps it running, using the defined creator and destructor.\n\t *\n\t * @param elementOrData The editor source element or the editor data.\n\t * @param config The editor configuration.\n\t * @param context A context for the editor.\n\t */\n\tpublic create(\n\t\telementOrData: HTMLElement | string | Record<string, string> | Record<string, HTMLElement> = this._elementOrData!,\n\t\tconfig: EditorConfig = this._config!,\n\t\tcontext?: Context\n\t): Promise<unknown> {\n\t\tthis._lifecyclePromise = Promise.resolve( this._lifecyclePromise )\n\t\t\t.then( () => {\n\t\t\t\tsuper._startErrorHandling();\n\n\t\t\t\tthis._elementOrData = elementOrData;\n\n\t\t\t\t// Use document data in the first parameter of the editor `.create()` call only if it was used like this originally.\n\t\t\t\t// Use document data if a string or object with strings was passed.\n\t\t\t\tthis._initUsingData = typeof elementOrData == 'string' ||\n\t\t\t\t\t( Object.keys( elementOrData ).length > 0 && typeof Object.values( elementOrData )[ 0 ] == 'string' );\n\n\t\t\t\t// Clone configuration because it might be shared within multiple watchdog instances. Otherwise,\n\t\t\t\t// when an error occurs in one of these editors, the watchdog will restart all of them.\n\t\t\t\tthis._config = this._cloneEditorConfiguration( config ) || {};\n\n\t\t\t\tthis._config!.context = context;\n\n\t\t\t\treturn this._creator( elementOrData, this._config! );\n\t\t\t} )\n\t\t\t.then( editor => {\n\t\t\t\tthis._editor = editor;\n\n\t\t\t\teditor.model.document.on( 'change:data', this._throttledSave );\n\n\t\t\t\tthis._lastDocumentVersion = editor.model.document.version;\n\t\t\t\tthis._data = this._getData();\n\n\t\t\t\tif ( !this._initUsingData ) {\n\t\t\t\t\tthis._editables = this._getEditables();\n\t\t\t\t}\n\n\t\t\t\tthis.state = 'ready';\n\t\t\t\tthis._fire( 'stateChange' );\n\t\t\t} ).finally( () => {\n\t\t\t\tthis._lifecyclePromise = null;\n\t\t\t} );\n\n\t\treturn this._lifecyclePromise;\n\t}\n\n\t/**\n\t * Destroys the watchdog and the current editor instance. It fires the callback\n\t * registered in {@link #setDestructor `setDestructor()`} and uses it to destroy the editor instance.\n\t * It also sets the state to `destroyed`.\n\t */\n\tpublic override destroy(): Promise<unknown> {\n\t\tthis._lifecyclePromise = Promise.resolve( this._lifecyclePromise )\n\t\t\t.then( () => {\n\t\t\t\tthis.state = 'destroyed';\n\t\t\t\tthis._fire( 'stateChange' );\n\n\t\t\t\tsuper.destroy();\n\n\t\t\t\treturn this._destroy();\n\t\t\t} ).finally( () => {\n\t\t\t\tthis._lifecyclePromise = null;\n\t\t\t} );\n\n\t\treturn this._lifecyclePromise;\n\t}\n\n\tprivate _destroy(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis._stopErrorHandling();\n\n\t\t\t\tthis._throttledSave.cancel();\n\n\t\t\t\tconst editor = this._editor;\n\n\t\t\t\tthis._editor = null;\n\n\t\t\t\t// Remove the `change:data` listener before destroying the editor.\n\t\t\t\t// Incorrectly written plugins may trigger firing `change:data` events during the editor destruction phase\n\t\t\t\t// causing the watchdog to call `editor.getData()` when some parts of editor are already destroyed.\n\t\t\t\teditor!.model.document.off( 'change:data', this._throttledSave );\n\n\t\t\t\treturn this._destructor( editor! );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Saves the editor data, so it can be restored after the crash even if the data cannot be fetched at\n\t * the moment of the crash.\n\t */\n\tprivate _save(): void {\n\t\tconst version = this._editor!.model.document.version;\n\n\t\ttry {\n\t\t\tthis._data = this._getData();\n\n\t\t\tif ( !this._initUsingData ) {\n\t\t\t\tthis._editables = this._getEditables();\n\t\t\t}\n\n\t\t\tthis._lastDocumentVersion = version;\n\t\t} catch ( err ) {\n\t\t\tconsole.error(\n\t\t\t\terr,\n\t\t\t\t'An error happened during restoring editor data. ' +\n\t\t\t\t'Editor will be restored from the previously saved data.'\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _setExcludedProperties( props: Set<unknown> ): void {\n\t\tthis._excludedProps = props;\n\t}\n\n\t/**\n\t * Gets all data that is required to reinitialize editor instance.\n\t */\n\tprivate _getData(): EditorData {\n\t\tconst editor = this._editor!;\n\t\tconst roots = editor.model.document.roots.filter( root => root.isAttached() && root.rootName != '$graveyard' );\n\n\t\tconst { plugins } = editor;\n\t\t// `as any` to avoid linking from external private repo.\n\t\tconst commentsRepository = plugins.has( 'CommentsRepository' ) && plugins.get( 'CommentsRepository' ) as any;\n\t\tconst trackChanges = plugins.has( 'TrackChanges' ) && plugins.get( 'TrackChanges' ) as any;\n\n\t\tconst data: EditorData = {\n\t\t\troots: {},\n\t\t\tmarkers: {},\n\t\t\tcommentThreads: JSON.stringify( [] ),\n\t\t\tsuggestions: JSON.stringify( [] )\n\t\t};\n\n\t\troots.forEach( root => {\n\t\t\tdata.roots[ root.rootName ] = {\n\t\t\t\tcontent: JSON.stringify( Array.from( root.getChildren() ) ),\n\t\t\t\tattributes: JSON.stringify( Array.from( root.getAttributes() ) ),\n\t\t\t\tisLoaded: root._isLoaded\n\t\t\t};\n\t\t} );\n\n\t\tfor ( const marker of editor.model.markers ) {\n\t\t\tif ( !marker._affectsData ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tdata.markers[ marker.name ] = {\n\t\t\t\trangeJSON: marker.getRange().toJSON() as any,\n\t\t\t\tusingOperation: marker._managedUsingOperations,\n\t\t\t\taffectsData: marker._affectsData\n\t\t\t};\n\t\t}\n\n\t\tif ( commentsRepository ) {\n\t\t\tdata.commentThreads = JSON.stringify( commentsRepository.getCommentThreads( { toJSON: true, skipNotAttached: true } ) );\n\t\t}\n\n\t\tif ( trackChanges ) {\n\t\t\tdata.suggestions = JSON.stringify( trackChanges.getSuggestions( { toJSON: true, skipNotAttached: true } ) );\n\t\t}\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * For each attached model root, returns its HTML editable element (if available).\n\t */\n\tprivate _getEditables(): Record<string, HTMLElement> {\n\t\tconst editables: Record<string, HTMLElement> = {};\n\n\t\tfor ( const rootName of this.editor!.model.document.getRootNames() ) {\n\t\t\tconst editable = this.editor!.ui.getEditableElement( rootName );\n\n\t\t\tif ( editable ) {\n\t\t\t\teditables[ rootName ] = editable;\n\t\t\t}\n\t\t}\n\n\t\treturn editables;\n\t}\n\n\t/**\n\t * Traverses the error context and the current editor to find out whether these structures are connected\n\t * to each other via properties.\n\t *\n\t * @internal\n\t */\n\tpublic _isErrorComingFromThisItem( error: CKEditorError ): boolean {\n\t\treturn areConnectedThroughProperties( this._editor, error.context, this._excludedProps );\n\t}\n\n\t/**\n\t * Clones the editor configuration.\n\t */\n\tprivate _cloneEditorConfiguration( config: EditorConfig ): EditorConfig {\n\t\treturn cloneDeepWith( config, ( value, key ) => {\n\t\t\t// Leave DOM references.\n\t\t\tif ( isElement( value ) ) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tif ( key === 'context' ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * Internal plugin that is used to stop the default editor initialization and restoring the editor state\n * based on the `editor.config._watchdogInitialData` data.\n */\nclass EditorWatchdogInitPlugin {\n\tpublic editor: Editor;\n\n\tprivate _data: EditorData;\n\n\tconstructor( editor: Editor ) {\n\t\tthis.editor = editor;\n\n\t\tthis._data = editor.config.get( '_watchdogInitialData' )!;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\t// Stops the default editor initialization and use the saved data to restore the editor state.\n\t\t// Some of data could not be initialize as a config properties. It is important to keep the data\n\t\t// in the same form as it was before the restarting.\n\t\tthis.editor.data.on( 'init', evt => {\n\t\t\tevt.stop();\n\n\t\t\tthis.editor.model.enqueueChange( { isUndoable: false }, writer => {\n\t\t\t\tthis._restoreCollaborationData();\n\t\t\t\tthis._restoreEditorData( writer );\n\t\t\t} );\n\n\t\t\tthis.editor.data.fire<EditorReadyEvent>( 'ready' );\n\n\t\t\t// Keep priority `'high' - 1` to be sure that RTC initialization will be first.\n\t\t}, { priority: 1000 - 1 } );\n\t}\n\n\t/**\n\t * Creates a model node (element or text) based on provided JSON.\n\t */\n\tprivate _createNode( writer: Writer, jsonNode: any ): Text | Element {\n\t\tif ( 'name' in jsonNode ) {\n\t\t\t// If child has name property, it is an Element.\n\t\t\tconst element = writer.createElement( jsonNode.name, jsonNode.attributes );\n\n\t\t\tif ( jsonNode.children ) {\n\t\t\t\tfor ( const child of jsonNode.children ) {\n\t\t\t\t\telement._appendChild( this._createNode( writer, child ) );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn element;\n\t\t} else {\n\t\t\t// Otherwise, it is a Text node.\n\t\t\treturn writer.createText( jsonNode.data, jsonNode.attributes );\n\t\t}\n\t}\n\n\t/**\n\t * Restores the editor by setting the document data, roots attributes and markers.\n\t */\n\tprivate _restoreEditorData( writer: Writer ): void {\n\t\tconst editor = this.editor!;\n\n\t\tObject.entries( this._data!.roots ).forEach( ( [ rootName, { content, attributes } ] ) => {\n\t\t\tconst parsedNodes: Array<Node | Element> = JSON.parse( content );\n\t\t\tconst parsedAttributes: Array<[ string, unknown ]> = JSON.parse( attributes );\n\n\t\t\tconst rootElement = editor.model.document.getRoot( rootName )!;\n\n\t\t\tfor ( const [ key, value ] of parsedAttributes ) {\n\t\t\t\twriter.setAttribute( key, value, rootElement );\n\t\t\t}\n\n\t\t\tfor ( const child of parsedNodes ) {\n\t\t\t\tconst node = this._createNode( writer, child );\n\n\t\t\t\twriter.insert( node, rootElement, 'end' );\n\t\t\t}\n\t\t} );\n\n\t\tObject.entries( this._data!.markers ).forEach( ( [ markerName, markerOptions ] ) => {\n\t\t\tconst { document } = editor.model;\n\t\t\tconst {\n\t\t\t\trangeJSON: { start, end },\n\t\t\t\t...options\n\t\t\t} = markerOptions;\n\n\t\t\tconst root = document.getRoot( start.root )!;\n\t\t\tconst startPosition = writer.createPositionFromPath( root, start.path, start.stickiness );\n\t\t\tconst endPosition = writer.createPositionFromPath( root, end.path, end.stickiness );\n\n\t\t\tconst range = writer.createRange( startPosition, endPosition );\n\n\t\t\twriter.addMarker( markerName, {\n\t\t\t\trange,\n\t\t\t\t...options\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Restores the editor collaboration data - comment threads and suggestions.\n\t */\n\tprivate _restoreCollaborationData() {\n\t\t// `as any` to avoid linking from external private repo.\n\t\tconst parsedCommentThreads: Array<any> = JSON.parse( this._data.commentThreads );\n\t\tconst parsedSuggestions: Array<any> = JSON.parse( this._data.suggestions );\n\n\t\tparsedCommentThreads.forEach( commentThreadData => {\n\t\t\tconst channelId = this.editor.config.get( 'collaboration.channelId' )!;\n\t\t\tconst commentsRepository = this.editor!.plugins.get( 'CommentsRepository' ) as any;\n\n\t\t\tif ( commentsRepository.hasCommentThread( commentThreadData.threadId ) ) {\n\t\t\t\tconst commentThread = commentsRepository.getCommentThread( commentThreadData.threadId )!;\n\n\t\t\t\tcommentThread.remove();\n\t\t\t}\n\n\t\t\tcommentsRepository.addCommentThread( { channelId, ...commentThreadData } );\n\t\t} );\n\n\t\tparsedSuggestions.forEach( suggestionData => {\n\t\t\tconst trackChangesEditing = this.editor!.plugins.get( 'TrackChangesEditing' ) as any;\n\n\t\t\tif ( trackChangesEditing.hasSuggestion( suggestionData.id ) ) {\n\t\t\t\tconst suggestion = trackChangesEditing.getSuggestion( suggestionData.id );\n\n\t\t\t\tsuggestion.attributes = suggestionData.attributes;\n\t\t\t} else {\n\t\t\t\ttrackChangesEditing.addSuggestionData( suggestionData );\n\t\t\t}\n\t\t} );\n\t}\n}\n\nexport type EditorData = {\n\troots: Record<string, {\n\t\tcontent: string;\n\t\tattributes: string;\n\t\tisLoaded: boolean;\n\t}>;\n\tmarkers: Record<string, {\n\t\trangeJSON: { start: any; end: any };\n\t\tusingOperation: boolean;\n\t\taffectsData: boolean;\n\t}>;\n\tcommentThreads: string;\n\tsuggestions: string;\n};\n\n/**\n * Fired after the watchdog restarts the error in case of a crash.\n *\n * @eventName ~EditorWatchdog#restart\n */\nexport type EditorWatchdogRestartEvent = {\n\tname: 'restart';\n\targs: [];\n\treturn: undefined;\n};\n\nexport type EditorCreatorFunction<TEditor = Editor> = (\n\telementOrData: HTMLElement | string | Record<string, string> | Record<string, HTMLElement>,\n\tconfig: EditorConfig\n) => Promise<TEditor>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/contextwatchdog\n */\n\nimport Watchdog, { type WatchdogConfig, type WatchdogState } from './watchdog.js';\nimport EditorWatchdog, { type EditorCreatorFunction } from './editorwatchdog.js';\nimport areConnectedThroughProperties from './utils/areconnectedthroughproperties.js';\nimport getSubNodes from './utils/getsubnodes.js';\nimport type { ArrayOrItem, CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport type { Context, Editor, EditorConfig, ContextConfig } from '@ckeditor/ckeditor5-core';\n\nconst mainQueueId = Symbol( 'MainQueueId' );\n\n/**\n * A watchdog for the {@link module:core/context~Context} class.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */\nexport default class ContextWatchdog<TContext extends Context = Context> extends Watchdog {\n\t/**\n\t * A map of internal watchdogs for added items.\n\t */\n\tprotected _watchdogs = new Map<string, EditorWatchdog>();\n\n\t/**\n\t * The watchdog configuration.\n\t */\n\tprivate readonly _watchdogConfig: WatchdogConfig;\n\n\t/**\n\t * The current context instance.\n\t */\n\tprivate _context: TContext | null = null;\n\n\t/**\n\t * Context properties (nodes/references) that are gathered during the initial context creation\n\t * and are used to distinguish the origin of an error.\n\t */\n\tprivate _contextProps = new Set<unknown>();\n\n\t/**\n\t * An action queue, which is used to handle async functions queuing.\n\t */\n\tprivate _actionQueues = new ActionQueues();\n\n\t/**\n\t * The configuration for the {@link module:core/context~Context}.\n\t */\n\tprivate _contextConfig?: ContextConfig;\n\n\t/**\n\t * The creation method.\n\t *\n\t * @see #setCreator\n\t */\n\tdeclare protected _creator: ( config: ContextConfig ) => Promise<TContext>;\n\n\t/**\n\t * The destruction method.\n\t *\n\t * @see #setDestructor\n\t */\n\tdeclare protected _destructor: ( context: Context ) => Promise<unknown>;\n\n\t/**\n\t * The watched item.\n\t */\n\tpublic _item: unknown;\n\n\t/**\n\t * The context watchdog class constructor.\n\t *\n\t * ```ts\n\t * const watchdog = new ContextWatchdog( Context );\n\t *\n\t * await watchdog.create( contextConfiguration );\n\t *\n\t * await watchdog.add( item );\n\t * ```\n\t *\n\t * See the {@glink features/watchdog Watchdog feature guide} to learn more how to use this feature.\n\t *\n\t * @param Context The {@link module:core/context~Context} class.\n\t * @param watchdogConfig The watchdog configuration.\n\t */\n\tconstructor(\n\t\tContext: { create( ...args: any ): Promise<TContext> },\n\t\twatchdogConfig: WatchdogConfig = {}\n\t) {\n\t\tsuper( watchdogConfig );\n\n\t\tthis._watchdogConfig = watchdogConfig;\n\n\t\t// Default creator and destructor.\n\t\tthis._creator = contextConfig => Context.create( contextConfig );\n\t\tthis._destructor = context => context.destroy();\n\n\t\tthis._actionQueues.onEmpty( () => {\n\t\t\tif ( this.state === 'initializing' ) {\n\t\t\t\tthis.state = 'ready';\n\t\t\t\tthis._fire( 'stateChange' );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the context creation.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setCreator( config => Context.create( config ) );\n\t * ```\n\t */\n\tpublic setCreator( creator: ( config: ContextConfig ) => Promise<TContext> ): void {\n\t\tthis._creator = creator;\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the context destruction.\n\t * Overrides the default destruction function, which destroys only the context instance.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( context => {\n\t * \t// Do something before the context is destroyed.\n\t *\n\t * \treturn context\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the context is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */\n\tpublic setDestructor( destructor: ( context: Context ) => Promise<unknown> ): void {\n\t\tthis._destructor = destructor;\n\t}\n\n\t/**\n\t * The context instance. Keep in mind that this property might be changed when the context watchdog restarts,\n\t * so do not keep this instance internally. Always operate on the `ContextWatchdog#context` property.\n\t */\n\tpublic get context(): Context | null {\n\t\treturn this._context;\n\t}\n\n\t/**\n\t * Initializes the context watchdog. Once it is created, the watchdog takes care about\n\t * recreating the context and the provided items, and starts the error handling mechanism.\n\t *\n\t * ```ts\n\t * await watchdog.create( {\n\t * \tplugins: []\n\t * } );\n\t * ```\n\t *\n\t * @param contextConfig The context configuration. See {@link module:core/context~Context}.\n\t */\n\tpublic create( contextConfig: ContextConfig = {} ): Promise<unknown> {\n\t\treturn this._actionQueues.enqueue( mainQueueId, () => {\n\t\t\tthis._contextConfig = contextConfig;\n\n\t\t\treturn this._create();\n\t\t} );\n\t}\n\n\t/**\n\t * Returns an item instance with the given `itemId`.\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId The item ID.\n\t * @returns The item instance or `undefined` if an item with a given ID has not been found.\n\t */\n\tpublic getItem( itemId: string ): unknown {\n\t\tconst watchdog = this._getWatchdog( itemId );\n\n\t\treturn watchdog._item;\n\t}\n\n\t/**\n\t * Gets the state of the given item. See {@link #state} for a list of available states.\n\t *\n\t * ```ts\n\t * const editor1State = watchdog.getItemState( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId Item ID.\n\t * @returns The state of the item.\n\t */\n\tpublic getItemState( itemId: string ): WatchdogState {\n\t\tconst watchdog = this._getWatchdog( itemId );\n\n\t\treturn watchdog.state;\n\t}\n\n\t/**\n\t * Adds items to the watchdog. Once created, instances of these items will be available using the {@link #getItem} method.\n\t *\n\t * Items can be passed together as an array of objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( [ {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * } ] );\n\t * ```\n\t *\n\t * Or one by one as objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * ] );\n\t * ```\n\t *\n\t * Then an instance can be retrieved using the {@link #getItem} method:\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * Note that this method can be called multiple times, but for performance reasons it is better\n\t * to pass all items together.\n\t *\n\t * @param itemConfigurationOrItemConfigurations An item configuration object or an array of item configurations.\n\t */\n\tpublic add( itemConfigurationOrItemConfigurations: ArrayOrItem<WatchdogItemConfiguration> ): Promise<unknown> {\n\t\tconst itemConfigurations = toArray( itemConfigurationOrItemConfigurations );\n\n\t\treturn Promise.all( itemConfigurations.map( item => {\n\t\t\treturn this._actionQueues.enqueue( item.id, () => {\n\t\t\t\tif ( this.state === 'destroyed' ) {\n\t\t\t\t\tthrow new Error( 'Cannot add items to destroyed watchdog.' );\n\t\t\t\t}\n\n\t\t\t\tif ( !this._context ) {\n\t\t\t\t\tthrow new Error( 'Context was not created yet. You should call the `ContextWatchdog#create()` method first.' );\n\t\t\t\t}\n\n\t\t\t\tlet watchdog: EditorWatchdog;\n\n\t\t\t\tif ( this._watchdogs.has( item.id ) ) {\n\t\t\t\t\tthrow new Error( `Item with the given id is already added: '${ item.id }'.` );\n\t\t\t\t}\n\n\t\t\t\tif ( item.type === 'editor' ) {\n\t\t\t\t\twatchdog = new EditorWatchdog( null, this._watchdogConfig );\n\t\t\t\t\twatchdog.setCreator( item.creator );\n\t\t\t\t\twatchdog._setExcludedProperties( this._contextProps );\n\n\t\t\t\t\tif ( item.destructor ) {\n\t\t\t\t\t\twatchdog.setDestructor( item.destructor );\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._watchdogs.set( item.id, watchdog );\n\n\t\t\t\t\t// Enqueue the internal watchdog errors within the main queue.\n\t\t\t\t\t// And propagate the internal `error` events as `itemError` event.\n\t\t\t\t\twatchdog.on( 'error', ( evt, { error, causesRestart } ) => {\n\t\t\t\t\t\tthis._fire( 'itemError', { itemId: item.id, error } );\n\n\t\t\t\t\t\t// Do not enqueue the item restart action if the item will not restart.\n\t\t\t\t\t\tif ( !causesRestart ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._actionQueues.enqueue( item.id, () => new Promise<void>( res => {\n\t\t\t\t\t\t\tconst rethrowRestartEventOnce = () => {\n\t\t\t\t\t\t\t\twatchdog.off( 'restart', rethrowRestartEventOnce );\n\n\t\t\t\t\t\t\t\tthis._fire( 'itemRestart', { itemId: item.id } );\n\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\twatchdog.on( 'restart', rethrowRestartEventOnce );\n\t\t\t\t\t\t} ) );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn watchdog.create( item.sourceElementOrData, item.config, this._context );\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error( `Not supported item type: '${ item.type }'.` );\n\t\t\t\t}\n\t\t\t} );\n\t\t} ) );\n\t}\n\n\t/**\n\t * Removes and destroys item(s) with given ID(s).\n\t *\n\t * ```ts\n\t * await watchdog.remove( 'editor1' );\n\t * ```\n\t *\n\t * Or\n\t *\n\t * ```ts\n\t * await watchdog.remove( [ 'editor1', 'editor2' ] );\n\t * ```\n\t *\n\t * @param itemIdOrItemIds Item ID or an array of item IDs.\n\t */\n\tpublic remove( itemIdOrItemIds: ArrayOrItem<string> ): Promise<unknown> {\n\t\tconst itemIds = toArray( itemIdOrItemIds );\n\n\t\treturn Promise.all( itemIds.map( itemId => {\n\t\t\treturn this._actionQueues.enqueue( itemId, () => {\n\t\t\t\tconst watchdog = this._getWatchdog( itemId );\n\n\t\t\t\tthis._watchdogs.delete( itemId );\n\n\t\t\t\treturn watchdog.destroy();\n\t\t\t} );\n\t\t} ) );\n\t}\n\n\t/**\n\t * Destroys the context watchdog and all added items.\n\t * Once the context watchdog is destroyed, new items cannot be added.\n\t *\n\t * ```ts\n\t * await watchdog.destroy();\n\t * ```\n\t */\n\tpublic override destroy(): Promise<unknown> {\n\t\treturn this._actionQueues.enqueue( mainQueueId, () => {\n\t\t\tthis.state = 'destroyed';\n\t\t\tthis._fire( 'stateChange' );\n\n\t\t\tsuper.destroy();\n\n\t\t\treturn this._destroy();\n\t\t} );\n\t}\n\n\t/**\n\t * Restarts the context watchdog.\n\t */\n\tprotected _restart(): Promise<unknown> {\n\t\treturn this._actionQueues.enqueue( mainQueueId, () => {\n\t\t\tthis.state = 'initializing';\n\t\t\tthis._fire( 'stateChange' );\n\n\t\t\treturn this._destroy()\n\t\t\t\t.catch( err => {\n\t\t\t\t\tconsole.error( 'An error happened during destroying the context or items.', err );\n\t\t\t\t} )\n\t\t\t\t.then( () => this._create() )\n\t\t\t\t.then( () => this._fire( 'restart' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the context watchdog.\n\t */\n\tprivate _create(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis._startErrorHandling();\n\n\t\t\t\treturn this._creator( this._contextConfig! );\n\t\t\t} )\n\t\t\t.then( context => {\n\t\t\t\tthis._context = context;\n\t\t\t\tthis._contextProps = getSubNodes( this._context );\n\n\t\t\t\treturn Promise.all(\n\t\t\t\t\tArray.from( this._watchdogs.values() )\n\t\t\t\t\t\t.map( watchdog => {\n\t\t\t\t\t\t\twatchdog._setExcludedProperties( this._contextProps );\n\n\t\t\t\t\t\t\treturn watchdog.create( undefined, undefined, this._context! );\n\t\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\t/**\n\t * Destroys the context instance and all added items.\n\t */\n\tprivate _destroy(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis._stopErrorHandling();\n\n\t\t\t\tconst context = this._context!;\n\n\t\t\t\tthis._context = null;\n\t\t\t\tthis._contextProps = new Set();\n\n\t\t\t\treturn Promise.all(\n\t\t\t\t\tArray.from( this._watchdogs.values() )\n\t\t\t\t\t\t.map( watchdog => watchdog.destroy() )\n\t\t\t\t)\n\t\t\t\t\t// Context destructor destroys each editor.\n\t\t\t\t\t.then( () => this._destructor( context ) );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Returns the watchdog for a given item ID.\n\t *\n\t * @param itemId Item ID.\n\t */\n\tprotected _getWatchdog( itemId: string ): Watchdog {\n\t\tconst watchdog = this._watchdogs.get( itemId );\n\n\t\tif ( !watchdog ) {\n\t\t\tthrow new Error( `Item with the given id was not registered: ${ itemId }.` );\n\t\t}\n\n\t\treturn watchdog;\n\t}\n\n\t/**\n\t * Checks whether an error comes from the context instance and not from the item instances.\n\t *\n\t * @internal\n\t */\n\tpublic _isErrorComingFromThisItem( error: CKEditorError ): boolean {\n\t\tfor ( const watchdog of this._watchdogs.values() ) {\n\t\t\tif ( watchdog._isErrorComingFromThisItem( error ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn areConnectedThroughProperties( this._context, error.context );\n\t}\n}\n\n/**\n * Fired after the watchdog restarts the context and the added items because of a crash.\n *\n * ```ts\n * watchdog.on( 'restart', () => {\n * \tconsole.log( 'The context has been restarted.' );\n * } );\n * ```\n *\n * @eventName ~ContextWatchdog#restart\n */\nexport type ContextWatchdogRestartEvent = {\n\tname: 'restart';\n\targs: [];\n\treturn: undefined;\n};\n\n/**\n * Fired when a new error occurred in one of the added items.\n *\n * ```ts\n * watchdog.on( 'itemError', ( evt, { error, itemId } ) => {\n * \tconsole.log( `An error occurred in an item with the '${ itemId }' ID.` );\n * } );\n * ```\n *\n * @eventName ~ContextWatchdog#itemError\n */\nexport type ContextWatchdogItemErrorEvent = {\n\tname: 'itemError';\n\targs: [ ContextWatchdogItemErrorEventData ];\n\treturn: undefined;\n};\n\n/**\n * The `itemError` event data.\n */\nexport type ContextWatchdogItemErrorEventData = {\n\titemId: string;\n\terror: Error;\n};\n\n/**\n * Fired after an item has been restarted.\n *\n * ```ts\n * \twatchdog.on( 'itemRestart', ( evt, { itemId } ) => {\n *\t\tconsole.log( 'An item with with the '${ itemId }' ID has been restarted.' );\n * \t} );\n * ```\n *\n * @eventName ~ContextWatchdog#itemRestart\n */\nexport type ContextWatchdogItemRestartEvent = {\n\tname: 'itemRestart';\n\targs: [ ContextWatchdogItemRestartEventData ];\n\treturn: undefined;\n};\n\n/**\n * The `itemRestart` event data.\n */\nexport type ContextWatchdogItemRestartEventData = {\n\titemId: string;\n};\n\n/**\n * Manager of action queues that allows queuing async functions.\n */\nclass ActionQueues {\n\tpublic _onEmptyCallbacks: Array<() => void> = [];\n\tpublic _queues = new Map<symbol | string | number, Promise<unknown>>();\n\tpublic _activeActions = 0;\n\n\t/**\n\t * Used to register callbacks that will be run when the queue becomes empty.\n\t *\n\t * @param onEmptyCallback A callback that will be run whenever the queue becomes empty.\n\t */\n\tpublic onEmpty( onEmptyCallback: () => void ): void {\n\t\tthis._onEmptyCallbacks.push( onEmptyCallback );\n\t}\n\n\t/**\n\t * It adds asynchronous actions (functions) to the proper queue and runs them one by one.\n\t *\n\t * @param queueId The action queue ID.\n\t * @param action A function that should be enqueued.\n\t */\n\tpublic enqueue( queueId: symbol | string | number, action: () => unknown ): Promise<unknown> {\n\t\tconst isMainAction = queueId === mainQueueId;\n\n\t\tthis._activeActions++;\n\n\t\tif ( !this._queues.get( queueId ) ) {\n\t\t\tthis._queues.set( queueId, Promise.resolve() );\n\t\t}\n\n\t\t// List all sources of actions that the current action needs to await for.\n\t\t// For the main action wait for all other actions.\n\t\t// For the item action wait only for the item queue and the main queue.\n\t\tconst awaitedActions = isMainAction ?\n\t\t\tPromise.all( this._queues.values() ) :\n\t\t\tPromise.all( [ this._queues.get( mainQueueId ), this._queues.get( queueId ) ] );\n\n\t\tconst queueWithAction = awaitedActions.then( action );\n\n\t\t// Catch all errors in the main queue to stack promises even if an error occurred in the past.\n\t\tconst nonErrorQueue = queueWithAction.catch( () => {} );\n\n\t\tthis._queues.set( queueId, nonErrorQueue );\n\n\t\treturn queueWithAction.finally( () => {\n\t\t\tthis._activeActions--;\n\n\t\t\tif ( this._queues.get( queueId ) === nonErrorQueue && this._activeActions === 0 ) {\n\t\t\t\tthis._onEmptyCallbacks.forEach( cb => cb() );\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * Transforms any value to an array. If the provided value is already an array, it is returned unchanged.\n *\n * @param elementOrArray The value to transform to an array.\n * @returns An array created from data.\n */\nfunction toArray<T>( elementOrArray: ArrayOrItem<T> ): Array<T> {\n\treturn Array.isArray( elementOrArray ) ? elementOrArray : [ elementOrArray ];\n}\n\n/**\n * The watchdog item configuration interface.\n */\nexport interface WatchdogItemConfiguration {\n\n\t/**\n\t * id A unique item identificator.\n\t */\n\tid: string;\n\n\t/**\n\t * The type of the item to create. At the moment, only `'editor'` is supported.\n\t */\n\ttype: 'editor';\n\n\t/**\n\t * A function that initializes the item (the editor). The function takes editor initialization arguments\n\t * and should return a promise. For example: `( el, config ) => ClassicEditor.create( el, config )`.\n\t */\n\tcreator: EditorCreatorFunction;\n\n\t/**\n\t * A function that destroys the item instance (the editor). The function\n\t * takes an item and should return a promise. For example: `editor => editor.destroy()`\n\t */\n\tdestructor?: ( editor: Editor ) => Promise<unknown>;\n\n\t/**\n\t * The source element or data that will be passed\n\t * as the first argument to the `Editor.create()` method.\n\t */\n\tsourceElementOrData: string | HTMLElement;\n\n\t/**\n\t * An editor configuration.\n \t */\n\tconfig: EditorConfig;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["index.js","../src/watchdog.ts","../src/utils/getsubnodes.ts","../src/utils/areconnectedthroughproperties.ts","../src/editorwatchdog.ts","../src/contextwatchdog.ts"],"names":["Watchdog","crashes","state","_crashNumberLimit","_now","Date","now","_minimumNonErrorTimePeriod","_boundErrorHandler","_listeners","config","crashNumberLimit","minimumNonErrorTimePeriod","evt","error","reason","Error","_handleError","_restart","destroy","_stopErrorHandling","on","eventName","callback","push","off","filter","cb","_fire","args","callbacks","apply","_startErrorHandling","window","addEventListener","removeEventListener","_shouldReactToError","message","stack","filename","ErrorEvent","undefined","lineno","colno","date","causesRestart","_shouldRestart","is","context","_isErrorComingFromThisItem","length","lastErrorTime","firstMeaningfulErrorTime","averageNonErrorTimePeriod","getSubNodes","head","excludedProperties","Set","nodes","subNodes","nodeIndex","node","has","shouldNodeBeIncluded","add","Symbol","iterator","n","key","type","Object","prototype","toString","call","typeOfNode","_watchdogExcluded","EventTarget","Event","areConnectedThroughProperties","target1","target2","excludedNodes","isObject","subNodes1","subNodes2","structure","EditorWatchdog","_editor","_lifecyclePromise","_throttledSave","_data","_lastDocumentVersion","_elementOrData","_initUsingData","_editables","_config","_excludedProps","Editor","watchdogConfig","throttle","_save","bind","saveInterval","_creator","elementOrData","create","_destructor","editor","_item","setCreator","creator","setDestructor","destructor","Promise","resolve","then","_destroy","catch","err","console","existingRoots","lazyRoots","oldRootsAttributes","rootsAttributes","rootName","rootData","entries","roots","isLoaded","updatedConfig","extraPlugins","_watchdogInitialData","initialData","EditorWatchdogInitPlugin","isElement","keys","values","_cloneEditorConfiguration","model","document","version","_getData","_getEditables","finally","cancel","_setExcludedProperties","props","root","isAttached","plugins","commentsRepository","get","trackChanges","data","markers","commentThreads","JSON","stringify","suggestions","forEach","content","Array","from","getChildren","attributes","getAttributes","_isLoaded","marker","_affectsData","name","rangeJSON","getRange","toJSON","usingOperation","_managedUsingOperations","affectsData","getCommentThreads","skipNotAttached","getSuggestions","editables","getRootNames","editable","ui","getEditableElement","cloneDeepWith","value","init","stop","enqueueChange","isUndoable","writer","_restoreCollaborationData","_restoreEditorData","fire","priority","_createNode","jsonNode","element","createElement","children","child","_appendChild","createText","parsedNodes","parse","parsedAttributes","rootElement","getRoot","setAttribute","insert","markerName","markerOptions","start","end","options","startPosition","createPositionFromPath","path","stickiness","endPosition","range","createRange","addMarker","parsedCommentThreads","parsedSuggestions","commentThreadData","channelId","hasCommentThread","threadId","commentThread","getCommentThread","remove","addCommentThread","suggestionData","trackChangesEditing","hasSuggestion","id","suggestion","getSuggestion","addSuggestionData","mainQueueId","ContextWatchdog","_watchdogs","Map","_watchdogConfig","_context","_contextProps","_actionQueues","ActionQueues","_contextConfig","Context","contextConfig","onEmpty","enqueue","_create","getItem","itemId","watchdog","_getWatchdog","getItemState","itemConfigurationOrItemConfigurations","itemConfigurations","toArray","all","map","item","set","res","rethrowRestartEventOnce","sourceElementOrData","itemIdOrItemIds","itemIds","delete","_onEmptyCallbacks","_queues","_activeActions","onEmptyCallback","queueId","action","isMainAction","awaitedActions","queueWithAction","nonErrorQueue","elementOrArray","isArray"],"mappings":";;;;AAAA,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;;ACAtE,CAAA,CAAA;ADGA,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;AACpF,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AAClF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS;AACvH,CAAC;AACD,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;AAC/G,CAAC;AACD,CAAC,CAAC,CAAC,CAAC;ACOH,CAAA,CAAA,CAAA,CACM,KAAA,CAAeA,QAAAA,CAAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADND,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU;AACxE,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CCQaC,OAAAA,CAAAA,CAAAA,CASX,CAAA,CAAE;AAEP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADjBD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM;AACzG,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK;AACzG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB;AACjH,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO;AAC/H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACpH,CAAC,CAAC,CAAC,CAAC,CCmBIC,KAAAA,CAAAA,CAAAA,CAAuB,CAAA,YAAA,CAAA;AAE9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADnBD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;ACqBhC,CAAA,CAAA,CAAA,CAAA,CACD,iBAAQC;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADrBD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;AACpG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;ACuB9E,CAAA,CAAA,CAAA,CAAA,CACD,IAAQC,CAAAA,CAAAA,CAAOC,IAAAA,CAAKC,GAAG;AAEvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADvBD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;ACyBhC,CAAA,CAAA,CAAA,CAAA,CACD,0BAAQC;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADzBD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI;AC2BhF,CAAA,CAAA,CAAA,CAAA,CACD,kBAAQC;AAsBR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD/CD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;ACiDzC,CAAA,CAAA,CAAA,CAAA,CACD,UAAQC;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADjDD,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa;AAC7F,CAAC,CAAC,CAAC,CAAC,CCmDH,WAAA,CAAaC,MAAsB,CAAG;ADlDvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCmDL,IAAI,CAACT,OAAO,CAAA,CAAA,CAAG,CAAA,CAAE;ADlDnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCmDL,IAAI,CAACE,iBAAiB,CAAA,CAAA,CAAG,MAAA,CAAOO,MAAAA,CAAOC,gBAAgB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAA,CAAA,CAAA,CAAWD,MAAAA,CAAOC,gBAAgB,CAAA,CAAA,CAAG,CAAA;ADlDnG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCmDL,IAAI,CAACJ,0BAA0B,CAAA,CAAA,CAAG,MAAA,CAAOG,MAAAA,CAAOE,yBAAyB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAA,CAAA,CAAA,CAAWF,MAAAA,CAAOE,yBAAyB,CAAA,CAAA,CAAG,IAAA;ADlD9H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCoDL,IAAI,CAACJ,kBAAkB,CAAA,CAAA,CAAGK,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA;ADnD5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAqB;ACqDzG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,KAAAA,CAAAA,CAAAA,CAAQ,CAAA,KAAA,CAAA,CAAA,EAAA,CAAWD,GAAAA,CAAAA,CAAAA,CAAMA,GAAAA,CAAIC,KAAK,CAAA,CAAA,CAAGD,GAAAA,CAAIE,MAAM;ADnDxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;ACsDpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKD,KAAAA,CAAAA,UAAAA,CAAiBE,KAAAA,CAAAA,CAAQ;ADpDjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCqDX,IAAI,CAACC,YAAY,CAAEH,KAAAA,CAAAA,CAAOD,GAAAA,CAAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADpDF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCsDL,IAAI,CAACJ,UAAU,CAAA,CAAA,CAAG,CAAA,CAAC;AAEnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAG,IAAI,CAAUS,QAAQ,CAAA,CAAG;ADtDnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCuDR,KAAA,CAAM,GAAA,CAAIF,KAAAA,CACT,CAAA,GAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,IAAA,CAAA,GAAA,CAAA,QAAA,CAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,cAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,MAAA,CAAA,CAAA,GAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,CAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD1DD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS;AC4DlD,CAAA,CAAA,CAAA,CAAA,CACD,OAAOG,CAAAA,CAAAA,CAAgB;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACC,kBAAkB,CAAA,CAAA;AD3DzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6DL,IAAI,CAACX,UAAU,CAAA,CAAA,CAAG,CAAA,CAAC;AACpB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD7DD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrF,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;AAC7C,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,cAAc;AAClG,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS;AC+DnE,CAAA,CAAA,CAAA,CAAA,CACD,EAAOY,CAA8BC,SAAY,CAAA,CAAEC,QAA0B,CAAA,CAAS;AACrF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAC,IAAI,CAACd,UAAU,CAAEa,SAAAA,CAAW,CAAA,CAAG;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACb,UAAU,CAAEa,SAAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAE;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACb,UAAU,CAAEa,SAAAA,CAAW,CAACE,IAAI,CAAED,QAAAA,CAAAA;AACpC,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADhED,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;AAC7F,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,cAAc;AAClG,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;ACkEvE,CAAA,CAAA,CAAA,CAAA,CACD,GAAOE,CAAKH,SAAyB,CAAA,CAAEC,QAAiB,CAAA,CAAS;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACd,UAAU,CAAEa,SAAAA,CAAW,CAAA,CAAA,CAAG,IAAI,CAACb,UAAU,CAAEa,SAAAA,CAAW,CACzDI,MAAM,CAAEC,CAAAA,EAAAA,CAAAA,CAAAA,CAAMA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOJ,QAAAA,CAAAA;AACxB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADnED,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS;AACxD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,cAAc;ACqEhG,CAAA,CAAA,CAAA,CAAA,CACD,KAAUK,CAAiCN,SAAY,CAAA,CAAE,CAAA,CAAA,CAAGO,IAAkB,CAAA,CAAS;AACtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,SAAAA,CAAAA,CAAAA,CAAY,IAAI,CAACrB,UAAU,CAAEa,SAAAA,CAAW,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;ADpEtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCsEL,GAAA,CAAA,CAAM,KAAA,CAAMC,QAAAA,CAAAA,EAAAA,CAAYO,SAAAA,CAAY;ADrEtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCsERP,QAAAA,CAASQ,KAAK,CAAE,IAAI,CAAA,CAAE;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA;AAASF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADnED,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;ACqE1D,CAAA,CAAA,CAAA,CAAA,CACD,mBAAUG,CAAAA,CAAAA,CAA4B;AACrCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOC,gBAAgB,CAAE,CAAA,KAAA,CAAA,CAAA,CAAS,IAAI,CAAC1B,kBAAkB,CAAA;AACzDyB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOC,gBAAgB,CAAE,CAAA,kBAAA,CAAA,CAAA,CAAsB,IAAI,CAAC1B,kBAAkB,CAAA;AACvE,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADrED,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;ACuEzD,CAAA,CAAA,CAAA,CAAA,CACD,kBAAUY,CAAAA,CAAAA,CAA2B;AACpCa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOE,mBAAmB,CAAE,CAAA,KAAA,CAAA,CAAA,CAAS,IAAI,CAAC3B,kBAAkB,CAAA;AAC5DyB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOE,mBAAmB,CAAE,CAAA,kBAAA,CAAA,CAAA,CAAsB,IAAI,CAAC3B,kBAAkB,CAAA;AAC1E,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADvED,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAClE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI;AAC7F,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK;ACyE3B,CAAA,CAAA,CAAA,CAAA,CACD,YAAQS,CAAcH,KAAY,CAAA,CAAED,GAAuC,CAAA,CAAS;ADxErF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AC2EzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,IAAI,CAACuB,mBAAmB,CAAEtB,KAAAA,CAAAA,CAAAA,CAAU;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACb,OAAO,CAACuB,IAAI,CAAE;AAClBa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAASvB,KAAAA,CAAMuB,OAAO;AACtBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOxB,KAAAA,CAAMwB,KAAK;ADzEtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;AC4E7FC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAU1B,GAAAA,CAAAA,UAAAA,CAAe2B,UAAAA,CAAAA,CAAAA,CAAa3B,GAAAA,CAAI0B,QAAQ,CAAA,CAAA,CAAGE,SAAAA;AACrDC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAQ7B,GAAAA,CAAAA,UAAAA,CAAe2B,UAAAA,CAAAA,CAAAA,CAAa3B,GAAAA,CAAI6B,MAAM,CAAA,CAAA,CAAGD,SAAAA;AACjDE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAO9B,GAAAA,CAAAA,UAAAA,CAAe2B,UAAAA,CAAAA,CAAAA,CAAa3B,GAAAA,CAAI8B,KAAK,CAAA,CAAA,CAAGF,SAAAA;AD1EnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC2EXG,IAAAA,CAAAA,CAAM,IAAI,CAACxC,IAAI,CAAA;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD1EH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC4ER,KAAA,CAAMyC,aAAAA,CAAAA,CAAAA,CAAgB,IAAI,CAACC,cAAc,CAAA,CAAA;AD3E5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6ER,IAAI,CAAC5C,KAAK,CAAA,CAAA,CAAG,CAAA,OAAA,CAAA;AD5EhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6ER,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AD5Ef,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6ER,IAAI,CAACA,KAAK,CAAE,CAAA,KAAA,CAAA,CAAA,CAAS;AAAEd,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA;AAAO+B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKA,aAAAA,CAAAA,CAAgB;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC3B,QAAQ,CAAA,CAAA;AD1EjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC2ET,CAAA,IAAA,CAAO;AD1EV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC2EX,IAAI,CAAChB,KAAK,CAAA,CAAA,CAAG,CAAA,kBAAA,CAAA;AD1EjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC2EX,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD3ED,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ;AAC7D,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO;AACvE,CAAC,CAAC,CAAC,CAAC,CC6EKQ,mBAAAA,CAAqBtB,KAAY,CAAA,CAAY;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CACC,KAAEA,CAAeiC,EAAE,CAAA,CAAA,CAAA,CACnB,KAAEjC,CAAeiC,EAAE,CAAE,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,KAAEjC,CAAyBkC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAKP,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA,GAAAA,CAAAA,OAAAA,CAAAA,IAAAA,CAAAA,MAAAA,CAAAA,GAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,GAAAA,CAAAA,IAAAA,CAAAA,cAAAA;AD/E1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;AACtG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCkFF3B,KAAAA,CAAyBkC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,GAAA,CAAA,KAAA,CAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,GAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,CAAA;AAGvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC9C,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAEf,IAAI,CAAC+C,0BAA0B,CAAEnC,KAAAA,CAAAA;AAEnC,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADvFD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI;ACyF3D,CAAA,CAAA,CAAA,CAAA,CACD,cAAQgC,CAAAA,CAAAA,CAA0B;ADxFnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCyFL,EAAA,CAAA,CAAK,IAAI,CAAC7C,OAAO,CAACiD,MAAM,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC/C,iBAAiB,CAAA,CAAG;ADxFvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCyFR,MAAA,CAAO,IAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMgD,aAAAA,CAAAA,CAAAA,CAAgB,IAAI,CAAClD,OAAO,CAAE,IAAI,CAACA,OAAO,CAACiD,MAAM,CAAA,CAAA,CAAG,CAAA,CAAG,CAACN,IAAI;AAClE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMQ,wBAAAA,CAAAA,CAAAA,CAA2B,IAAI,CAACnD,OAAO,CAAE,IAAI,CAACA,OAAO,CAACiD,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC/C,iBAAiB,CAAE,CAACyC,IAAI;ADzFxG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC2FL,KAAA,CAAMS,yBAAAA,CAAAA,CAAAA,CAA4B,CAAEF,aAAAA,CAAAA,CAAAA,CAAgBC,wBAAuB,CAAA,CAAA,CAAA,CAAM,IAAI,CAACjD,iBAAiB;AD1FzG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC4FL,MAAA,CAAOkD,yBAAAA,CAAAA,CAAAA,CAA4B,IAAI,CAAC9C,0BAA0B;AACnE,CAAA,CAAA,CAAA,CAAA;AACD;;ACnRA,CAAA,CAAA;AF0LA,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;AACpF,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AAClF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AEpLH,CAAA,CAAA,CAAA,CACM,QAAA,CAAS+C,WAAAA,CAAaC,IAAa,CAAA,CAAEC,kBAAAA,CAAAA,CAAAA,CAAqB,GAAA,CAAIC,GAAAA,CAAAA,CAAK,CAAA,CAAA;AACzE,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,KAAAA,CAAAA,CAAAA,CAAQ;AAAEH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AFuLvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;AEnLlD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMI,QAAAA,CAAAA,CAAAA,CAAW,GAAA,CAAIF,GAAAA,CAAAA,CAAAA;AACrB,CAAA,CAAA,CAAA,CAAA,GAAA,CAAIG,SAAAA,CAAAA,CAAAA,CAAY,CAAA;AFqLjB,CAAC,CAAC,CAAC,CEnLF,KAAA,CAAQF,KAAAA,CAAMR,MAAM,CAAA,CAAA,CAAGU,SAAAA,CAAY;AFoLpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CEnLL,KAAA,CAAMC,IAAAA,CAAAA,CAAAA,CAAOH,KAAK,CAAEE,SAAAA,CAAAA,CAAAA,CAAa;AFoLnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CElLL,EAAA,CAAA,CAAKD,QAAAA,CAASG,GAAG,CAAED,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAACE,oBAAAA,CAAsBF,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUL,kBAAAA,CAAmBM,GAAG,CAAED,IAAAA,CAAAA,CAAAA,CAAS;AAC9F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASK,GAAG,CAAEH,IAAAA,CAAAA;AFkLhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;AACrG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CEhLL,EAAA,CAAA,CAAKI,MAAAA,CAAOC,QAAQ,CAAA,EAAA,CAAIL,IAAAA,CAAAA,CAAO;AFiLjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO;AAC7F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CEhLR,GAAA,CAAI;AFiLP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CEhLX,GAAA,CAAA,CAAM,KAAA,CAAMM,CAAAA,CAAAA,EAAAA,CAAKN,IAAAA,CAA4B;AAC5CH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAMlC,IAAI,CAAE2C,CAAAA,CAAAA;AFiLjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AE9KxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,KAAA,CAAA,CAAM;AFgLX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO;AE9K9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AFgLH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CE/KN,CAAA,IAAA,CAAO;AFgLT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CE/KR,GAAA,CAAM,KAAA,CAAMC,GAAAA,CAAAA,EAAAA,CAAOP,IAAAA,CAAO;AFgL7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM;AE9K5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKO,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,YAAA,CAAA,CAAA,CAAiB;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAMlC,IAAI,CAAEqC,IAAI,CAAEO,GAAAA,CAAK,CAAA;AF+K3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AE5KrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AF8KD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;AACvE,CAAC,CAAC,CAAC,CE3KF,MAAA,CAAOT,QAAAA;AACR;AAEA,QAAA,CAASI,oBAAAA,CAAsBF,IAAa,CAAA,CAAA;AAC3C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMQ,IAAAA,CAAAA,CAAAA,CAAOC,MAAAA,CAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAAEZ,IAAAA,CAAAA;AAC7C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMa,UAAAA,CAAAA,CAAAA,CAAa,MAAA,CAAOb,IAAAA;AF2K3B,CAAC,CAAC,CAAC,CEzKF,MAAA,CAAO,CAAA,CACNa,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CACfA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CACfA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CACfA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CACfA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CACfL,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAETR,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASpB,SAAAA,CAAAA,CAAAA,CAAAA,CACToB,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,OAAA,CAAA,UAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,GAAA,CAAA,MAAA;AF+JX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACtH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;AACjE,CAAC,CAAC,CAAC,CE5JCA,IAAAA,CAAcc,iBAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,MAAA,CAAA,GAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,CAAA,GAAA;AF6JnC,CAAC,CAAC,CAAC,CE1JDd,IAAAA,CAAAA,UAAAA,CAAgBe,WAAAA,CAAAA,CAAAA,CAAAA,CAChBf,IAAAA,CAAAA,UAAAA,CAAgBgB,KAAI,CAAA;AAEtB;;ACrFA,CAAA,CAAA;AHgPA,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU;AAC5G,CAAC;AACD,CAAC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC,CG9OI,QAAA,CAASC,6BAAAA,CAA+BC,OAAgB,CAAA,CAAEC,OAAgB,CAAA,CAAEC,aAAAA,CAAAA,CAAAA,CAAgB,GAAA,CAAIxB,GAAAA,CAAAA,CAAK,CAAA,CAAA;AH+O5G,CAAC,CAAC,CAAC,CG9OF,EAAA,CAAA,CAAKsB,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,OAAAA,CAAAA,CAAAA,CAAAA,CAAWE,QAAAA,CAAUH,OAAAA,CAAAA,CAAAA,CAAY;AH+OnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CG9OL,MAAA,CAAO,IAAA;AACR,CAAA,CAAA,CAAA,CAAA;AH+OD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,CG5OF,KAAA,CAAMI,SAAAA,CAAAA,CAAAA,CAAY7B,WAAAA,CAAayB,OAAAA,CAAAA,CAASE,aAAAA,CAAAA;AH6OzC,CAAC,CAAC,CAAC,CG5OF,KAAA,CAAMG,SAAAA,CAAAA,CAAAA,CAAY9B,WAAAA,CAAa0B,OAAAA,CAAAA,CAASC,aAAAA,CAAAA;AH6OzC,CAAC,CAAC,CAAC,CG3OF,GAAA,CAAA,CAAM,KAAA,CAAMpB,IAAAA,CAAAA,EAAAA,CAAQsB,SAAAA,CAAY;AH4OjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CG3OL,EAAA,CAAA,CAAKC,SAAAA,CAAUtB,GAAG,CAAED,IAAAA,CAAAA,CAAAA,CAAS;AH4O/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CG3OR,MAAA,CAAO,IAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AH4OD,CAAC,CAAC,CAAC,CG1OF,MAAA,CAAO,KAAA;AACR;AAyCA,QAAA,CAASqB,QAAAA,CAAUG,SAAkB,CAAA,CAAA;AHmMrC,CAAC,CAAC,CAAC,CGlMF,MAAA,CAAO,MAAA,CAAOA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAYA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,IAAA;AACvD;;AC3DA,CAAA,CAAA;AJgQA,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;AACpC,CAAC;AACD,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9F,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;AAChB,CAAC,CAAC,CAAC,CI9PI,KAAA,CAAMC,cAAAA,CAAAA,OAAAA,CAAwDtF,QAAAA,CAAAA;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ+PD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;AAC/B,CAAC,CAAC,CAAC,CAAC,CI7PKuF,OAAAA,CAAAA,CAAAA,CAA0B,IAAA;AAElC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ6PD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;AAC9F,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;AAC9G,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW;AAC3F,CAAC,CAAC,CAAC,CAAC,CI3PKC,iBAAAA,CAAAA,CAAAA,CAA6C,IAAA;AAErD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ2PD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;AACvH,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ;AIzP7C,CAAA,CAAA,CAAA,CAAA,CACD,cAAQC;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJyPD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;AIvP7E,CAAA,CAAA,CAAA,CAAA,CACD,KAAQC;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJuPD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;AIrP3B,CAAA,CAAA,CAAA,CAAA,CACD,oBAAQC;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJqPD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI;AInPnC,CAAA,CAAA,CAAA,CAAA,CACD,cAAQC;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJmPD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC,CAAC,CIjPKC,cAAAA,CAAAA,CAAAA,CAAiB,IAAA;AAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJiPD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;AACjF,CAAC,CAAC,CAAC,CAAC,CI/OKC,UAAAA,CAAAA,CAAAA,CAA0C,CAAA,CAAC;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ+OD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa;AI7O1B,CAAA,CAAA,CAAA,CAAA,CACD,OAAQC;AJ8OT,CAAC,CAAC,CAAC,CI9NMC,cAAAA;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ8ND,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa;AI5NzD,CAAA,CAAA,CAAA,CAAA,CACD,WAAA,CAAaC,MAA2D,CAAA,CAAEC,cAAAA,CAAAA,CAAAA,CAAiC,CAAA,CAAE,CAAG;AAC/G,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAEA,cAAAA,CAAAA;AJ6NT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;AIzNnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACT,cAAc,CAAA,CAAA,CAAGU,QAAAA,CACrB,IAAI,CAACC,KAAK,CAACC,IAAI,CAAE,IAAI,CAAA,CAAA,CACrB,MAAA,CAAOH,cAAAA,CAAeI,YAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAA,CAAA,CAAA,CAAWJ,cAAAA,CAAeI,YAAY,CAAA,CAAA,CAAG,IAAA,CAAA;AJyNnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS;AIrNrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKL,MAAAA,CAAAA,CAAS;AJuNhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CItNR,IAAI,CAACM,QAAQ,CAAA,CAAA,CAAK,CAAEC,aAAAA,CAAAA,CAAe9F,MAAAA,CAAAA,CAAAA,CAAYuF,MAAAA,CAAOQ,MAAM,CAAED,aAAAA,CAAAA,CAAe9F,MAAAA,CAAAA;AAC9E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACgG,WAAW,CAAA,CAAA,CAAGC,CAAAA,MAAAA,CAAAA,CAAAA,CAAUA,MAAAA,CAAOxF,OAAO,CAAA,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJqND,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;AInN7B,CAAA,CAAA,CAAA,CAAA,CACD,GAAA,CAAWwF,MAAAA,CAAAA,CAAAA,CAAyB;AJoNrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CInNL,MAAA,CAAO,IAAI,CAACpB,OAAO;AACpB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJmND,CAAC,CAAC,CAAC,CAAC,CAAC;AIjNH,CAAA,CAAA,CAAA,CAAA,CACD,GAAA,CAAWqB,KAAAA,CAAAA,CAAAA,CAAwB;AJkNpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjNL,MAAA,CAAO,IAAI,CAACrB,OAAO;AACpB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJiND,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;AACjE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;AACtD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CI/MIsB,UAAAA,CAAYC,OAA+C,CAAA,CAAS;AJgN5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI/ML,IAAI,CAACP,QAAQ,CAAA,CAAA,CAAGO,OAAAA;AACjB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ+MD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW;AACpE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;AACvF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS;AACnD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CI7MIC,aAAAA,CAAeC,UAAkD,CAAA,CAAS;AJ8MlF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7ML,IAAI,CAACN,WAAW,CAAA,CAAA,CAAGM,UAAAA;AACpB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ6MD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1H,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC;AAC/B,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AI3MT,CAAA,CAAA,CAAA,CAAA,CACD,QAAmB9F,CAAAA,CAAAA,CAA6B;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO+F,OAAAA,CAAQC,OAAO,CAAA,CAAA,CACpBC,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AJ2MV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1MP,IAAI,CAACjH,KAAK,CAAA,CAAA,CAAG,CAAA,YAAA,CAAA;AJ2MjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1MP,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AJ2MhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIzMP,MAAA,CAAO,IAAI,CAACwF,QAAQ,CAAA,CAAA;AJ0MxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIzML,CAAA,CACCC,KAAK,CAAEC,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA;AJyMX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIxMPC,OAAAA,CAAQzG,KAAK,CAAE,CAAA,EAAA,CAAA,KAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAmDwG,GAAAA,CAAAA;AACnE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACCH,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AJwMV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK;AACtH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM;AAC5H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO;AAC3F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG;AAC/H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI;AIrMnI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMK,aAAAA,CAAAA,CAAAA,CAAwC,CAAA,CAAC;AJuMnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;AIrMnH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,SAAAA,CAAAA,CAAAA,CAA2B,CAAA,CAAE;AJuMvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;AIrM7F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,kBAAAA,CAAAA,CAAAA,CAAqD,IAAI,CAAC3B,OAAO,CAAE4B,eAAe,CAAA,CAAA,CAAA,CAAI,CAAA,CAAC;AJuMjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ;AIrM9F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMA,eAAAA,CAAAA,CAAAA,CAAkD,CAAA,CAAC;AJuM7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM;AIpMnG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAM,KAAA,CAAM,CAAEC,QAAAA,CAAAA,CAAUC,QAAAA,CAAU,CAAA,EAAA,CAAIvD,MAAAA,CAAOwD,OAAO,CAAE,IAAI,CAACpC,KAAK,CAAEqC,KAAK,CAAA,CAAK;AJsMhF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIrMV,EAAA,CAAA,CAAKF,QAAAA,CAASG,QAAQ,CAAA,CAAG;AJsM9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIrMbR,aAAa,CAAEI,QAAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA;AAC5BD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,eAAe,CAAEC,QAAAA,CAAU,CAAA,CAAA,CAAGF,kBAAkB,CAAEE,QAAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAC;AJsMvE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIrMX,CAAA,IAAA,CAAO;AACNH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUjG,IAAI,CAAEoG,QAAAA,CAAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMK,aAAAA,CAAAA,CAAAA,CAA8B;AJqMxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIpMV,CAAA,CAAA,CAAG,IAAI,CAAClC,OAAO;AACfmC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CAAc,IAAI,CAACnC,OAAO,CAAEmC,YAAY,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC9CT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA;AACAE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,eAAAA;AJqML,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIpMVQ,oBAAAA,CAAAA,CAAsB,IAAI,CAACzC;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJqMJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC;AACzH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;AIlMzF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOuC,aAAAA,CAAcG,WAAW;AJoMpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIlMPH,aAAAA,CAAcC,YAAY,CAAE1G,IAAI,CAAE6G,wBAAAA,CAAAA;AJmMtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjMP,EAAA,CAAA,CAAK,IAAI,CAACxC,cAAc,CAAA,CAAG;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACY,MAAM,CAAEe,aAAAA,CAAAA,CAAeS,aAAAA,CAAAA,CAAeA,aAAAA,CAAcjF,OAAO,CAAA;AJkM5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjMR,CAAA,IAAA,CAAO;AJkMX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ;AAChH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;AAC5H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;AIhM9E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKsF,SAAAA,CAAW,IAAI,CAAC1C,cAAc,CAAA,CAAA,CAAK;AJkM7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjMb,MAAA,CAAO,IAAI,CAACa,MAAM,CAAE,IAAI,CAACb,cAAc,CAAA,CAAEqC,aAAAA,CAAAA,CAAeA,aAAAA,CAAcjF,OAAO,CAAA;AJkMnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjMX,CAAA,IAAA,CAAO;AJkMZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjMb,MAAA,CAAO,IAAI,CAACyD,MAAM,CAAE,IAAI,CAACX,UAAU,CAAA,CAAEmC,aAAAA,CAAAA,CAAeA,aAAAA,CAAcjF,OAAO,CAAA;AAC1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACCmE,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AJiMV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIhMP,IAAI,CAACvF,KAAK,CAAE,CAAA,OAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJgMD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;AAC9F,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;AI9LzC,CAAA,CAAA,CAAA,CAAA,CACD,MAAO6E,CACND,aAAAA,CAAAA,CAAAA,CAA6F,IAAI,CAACZ,cAAe,CAAA,CACjHlF,MAAAA,CAAAA,CAAAA,CAAuB,IAAI,CAACqF,OAAO,CAAA,CACnC/C,OAAiB,CAAA,CACE;AJ2LrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1LL,IAAI,CAACwC,iBAAiB,CAAA,CAAA,CAAGyB,OAAAA,CAAQC,OAAO,CAAE,IAAI,CAAC1B,iBAAiB,CAAA,CAC9D2B,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAACnF,mBAAAA,CAAAA,CAAAA;AJ0LV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIxLP,IAAI,CAAC4D,cAAc,CAAA,CAAA,CAAGY,aAAAA;AJyL1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;AAC/H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;AAC9E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIvLP,IAAI,CAACX,cAAc,CAAA,CAAA,CAAG,MAAA,CAAOW,aAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAC3ClC,MAAAA,CAAOiE,IAAI,CAAE/B,aAAAA,CAAAA,CAAgBtD,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,MAAA,CAAOoB,MAAAA,CAAOkE,MAAM,CAAEhC,aAAAA,CAAe,CAAE,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,MAAA,CAAA;AJuLhG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS;AAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI;AAClG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIrLP,IAAI,CAACT,OAAO,CAAA,CAAA,CAAG,IAAI,CAAC0C,yBAAyB,CAAE/H,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAA,CAAC;AAE5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACqF,OAAO,CAAE/C,OAAO,CAAA,CAAA,CAAGA,OAAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACuD,QAAQ,CAAEC,aAAAA,CAAAA,CAAe,IAAI,CAACT,OAAO,CAAA;AJoLrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CInLL,CAAA,CACCoB,IAAI,CAAER,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA;AJmLV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIlLP,IAAI,CAACpB,OAAO,CAAA,CAAA,CAAGoB,MAAAA;AJmLnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjLPA,MAAAA,CAAO+B,KAAK,CAACC,QAAQ,CAACtH,EAAE,CAAE,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAe,IAAI,CAACoE,cAAc,CAAA;AJkLhE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIhLP,IAAI,CAACE,oBAAoB,CAAA,CAAA,CAAGgB,MAAAA,CAAO+B,KAAK,CAACC,QAAQ,CAACC,OAAO;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAClD,KAAK,CAAA,CAAA,CAAG,IAAI,CAACmD,QAAQ,CAAA,CAAA;AAE1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAC,IAAI,CAAChD,cAAc,CAAA,CAAG;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACC,UAAU,CAAA,CAAA,CAAG,IAAI,CAACgD,aAAa,CAAA,CAAA;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJgLJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9KP,IAAI,CAAC5I,KAAK,CAAA,CAAA,CAAG,CAAA,KAAA,CAAA;AJ+KjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9KP,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAImH,OAAO,CAAE,CAAA,CAAA,CAAA,CAAA;AJ+KhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9KP,IAAI,CAACvD,iBAAiB,CAAA,CAAA,CAAG,IAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ+KH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7KL,MAAA,CAAO,IAAI,CAACA,iBAAiB;AAC9B,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ6KD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AACxE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;AACrG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AI3KvC,CAAA,CAAA,CAAA,CAAA,CACD,OAAgBrE,CAAAA,CAAAA,CAA4B;AJ4K7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI3KL,IAAI,CAACqE,iBAAiB,CAAA,CAAA,CAAGyB,OAAAA,CAAQC,OAAO,CAAE,IAAI,CAAC1B,iBAAiB,CAAA,CAC9D2B,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AJ2KV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1KP,IAAI,CAACjH,KAAK,CAAA,CAAA,CAAG,CAAA,SAAA,CAAA;AJ2KjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1KP,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AAEZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAACT,OAAAA,CAAAA,CAAAA;AJ0KV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIxKP,MAAA,CAAO,IAAI,CAACiG,QAAQ,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI2B,OAAO,CAAE,CAAA,CAAA,CAAA,CAAA;AJyKhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIxKP,IAAI,CAACvD,iBAAiB,CAAA,CAAA,CAAG,IAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJyKH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIvKL,MAAA,CAAO,IAAI,CAACA,iBAAiB;AAC9B,CAAA,CAAA,CAAA,CAAA;AJwKD,CAAC,CAAC,CAAC,CItKM4B,QAAAA,CAAAA,CAAAA,CAA6B;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOH,OAAAA,CAAQC,OAAO,CAAA,CAAA,CACpBC,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC/F,kBAAkB,CAAA,CAAA;AJsK3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIpKP,IAAI,CAACqE,cAAc,CAACuD,MAAM,CAAA,CAAA;AJqK9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CInKP,KAAA,CAAMrC,MAAAA,CAAAA,CAAAA,CAAS,IAAI,CAACpB,OAAO;AJoK/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIlKP,IAAI,CAACA,OAAO,CAAA,CAAA,CAAG,IAAA;AJmKnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM;AAC7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS;AAC9G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjKPoB,MAAAA,CAAQ+B,KAAK,CAACC,QAAQ,CAAClH,GAAG,CAAE,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAe,IAAI,CAACgE,cAAc,CAAA;AJkKlE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIhKP,MAAA,CAAO,IAAI,CAACiB,WAAW,CAAEC,MAAAA,CAAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJgKD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;AACpG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK;AI9JzB,CAAA,CAAA,CAAA,CAAA,CACD,KAAQP,CAAAA,CAAAA,CAAc;AJ+JvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9JL,KAAA,CAAMwC,OAAAA,CAAAA,CAAAA,CAAU,IAAI,CAACrD,OAAO,CAAEmD,KAAK,CAACC,QAAQ,CAACC,OAAO;AJ+JtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7JL,GAAA,CAAI;AACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAClD,KAAK,CAAA,CAAA,CAAG,IAAI,CAACmD,QAAQ,CAAA,CAAA;AAE1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAC,IAAI,CAAChD,cAAc,CAAA,CAAG;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACC,UAAU,CAAA,CAAA,CAAG,IAAI,CAACgD,aAAa,CAAA,CAAA;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ6JH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI3JR,IAAI,CAACnD,oBAAoB,CAAA,CAAA,CAAGiD,OAAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,KAAA,CAAA,CAAQtB,GAAAA,CAAAA,CAAM;AJ4JlB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI3JRC,OAAAA,CAAQzG,KAAK,CACZwG,GAAAA,CAAAA,CACA,CAAA,EAAA,CAAA,KAAA,CAAA,QAAA,CAAA,MAAA,CAAA,SAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,MAAA,CAAA,IAAA,CAAA,EAAA,CAAA,QAAA,CAAA,IAAA,CAAA,GAAA,CAAA,UAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJuJD,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CIrJI2B,sBAAAA,CAAwBC,KAAmB,CAAA,CAAS;AJsJ5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIrJL,IAAI,CAAClD,cAAc,CAAA,CAAA,CAAGkD,KAAAA;AACvB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJqJD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ;AInJhE,CAAA,CAAA,CAAA,CAAA,CACD,QAAQL,CAAAA,CAAAA,CAAuB;AJoJhC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CInJL,KAAA,CAAMlC,MAAAA,CAAAA,CAAAA,CAAS,IAAI,CAACpB,OAAO;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMwC,KAAAA,CAAAA,CAAAA,CAAQpB,MAAAA,CAAO+B,KAAK,CAACC,QAAQ,CAACZ,KAAK,CAACrG,MAAM,CAAEyH,CAAAA,IAAAA,CAAAA,CAAAA,CAAQA,IAAAA,CAAKC,UAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMD,IAAAA,CAAKvB,QAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,SAAA,CAAA,CAAA;AJoJlG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIlJL,KAAA,CAAM,CAAA,CAAEyB,OAAO,CAAA,CAAE,CAAA,CAAA,CAAG1C,MAAAA;AJmJtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;AIjJ7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM2C,kBAAAA,CAAAA,CAAAA,CAAqBD,OAAAA,CAAQvF,GAAG,CAAE,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0BuF,OAAAA,CAAQE,GAAG,CAAE,CAAA,kBAAA,CAAA,CAAA;AAC/E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,YAAAA,CAAAA,CAAAA,CAAeH,OAAAA,CAAQvF,GAAG,CAAE,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoBuF,OAAAA,CAAQE,GAAG,CAAE,CAAA,YAAA,CAAA,CAAA;AAEnE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAME,IAAAA,CAAAA,CAAAA,CAAmB;AACxB1B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAO,CAAA,CAAC;AACR2B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAS,CAAA,CAAC;AJkJb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjJRC,cAAAA,CAAAA,CAAgBC,IAAAA,CAAKC,SAAS,CAAE,CAAA,CAAE,CAAA;AJkJrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjJRC,WAAAA,CAAAA,CAAaF,IAAAA,CAAKC,SAAS,CAAE,CAAA,CAAE;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJkJF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIhJL9B,KAAAA,CAAMgC,OAAO,CAAEZ,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACdM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAK1B,KAAK,CAAEoB,IAAAA,CAAKvB,QAAQ,CAAE,CAAA,CAAA,CAAG;AAC7BoC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAASJ,IAAAA,CAAKC,SAAS,CAAEI,KAAAA,CAAMC,IAAI,CAAEf,IAAAA,CAAKgB,WAAW,CAAA,CAAA,CAAA,CAAA;AACrDC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAYR,IAAAA,CAAKC,SAAS,CAAEI,KAAAA,CAAMC,IAAI,CAAEf,IAAAA,CAAKkB,aAAa,CAAA,CAAA,CAAA,CAAA;AAC1DrC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAUmB,IAAAA,CAAKmB;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAM,KAAA,CAAMC,MAAAA,CAAAA,EAAAA,CAAU5D,MAAAA,CAAO+B,KAAK,CAACgB,OAAO,CAAG;AJgJ/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI/IR,EAAA,CAAA,CAAK,CAACa,MAAAA,CAAOC,YAAY,CAAA,CAAG;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAKC,OAAO,CAAEa,MAAAA,CAAOE,IAAI,CAAE,CAAA,CAAA,CAAG;AJ+IjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9IXC,SAAAA,CAAAA,CAAWH,MAAAA,CAAOI,QAAQ,CAAA,CAAA,CAAGC,MAAM,CAAA,CAAA;AACnCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,cAAAA,CAAAA,CAAgBN,MAAAA,CAAOO,uBAAuB;AAC9CC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAaR,MAAAA,CAAOC;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKlB,kBAAAA,CAAAA,CAAqB;AACzBG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAKE,cAAc,CAAA,CAAA,CAAGC,IAAAA,CAAKC,SAAS,CAAEP,kBAAAA,CAAmB0B,iBAAiB,CAAE;AJ8I/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9IkEJ,MAAAA,CAAAA,CAAQ,IAAA;AJ+IzF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI/IgFK,eAAAA,CAAAA,CAAiB;AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKzB,YAAAA,CAAAA,CAAe;AACnBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAKK,WAAW,CAAA,CAAA,CAAGF,IAAAA,CAAKC,SAAS,CAAEL,YAAAA,CAAa0B,cAAc,CAAE;AJgJnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIhJsDN,MAAAA,CAAAA,CAAQ,IAAA;AJiJ7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjJoEK,eAAAA,CAAAA,CAAiB;AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACvG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJmJF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjJL,MAAA,CAAOxB,IAAAA;AACR,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJiJD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;AI/IhF,CAAA,CAAA,CAAA,CAAA,CACD,aAAQX,CAAAA,CAAAA,CAA6C;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMqC,SAAAA,CAAAA,CAAAA,CAAyC,CAAA,CAAC;AJgJlD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9IL,GAAA,CAAA,CAAM,KAAA,CAAMvD,QAAAA,CAAAA,EAAAA,CAAY,IAAI,CAACjB,MAAM,CAAE+B,KAAK,CAACC,QAAQ,CAACyC,YAAY,CAAA,CAAA,CAAK;AJ+IvE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9IR,KAAA,CAAMC,QAAAA,CAAAA,CAAAA,CAAW,IAAI,CAAC1E,MAAM,CAAE2E,EAAE,CAACC,kBAAkB,CAAE3D,QAAAA,CAAAA;AAErD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKyD,QAAAA,CAAAA,CAAW;AJ8InB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7IXF,SAAS,CAAEvD,QAAAA,CAAU,CAAA,CAAA,CAAGyD,QAAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ8IF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI5IL,MAAA,CAAOF,SAAAA;AACR,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ4ID,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;AAChG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU;AAChC,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CI1IIlI,0BAAAA,CAA4BnC,KAAoB,CAAA,CAAY;AJ2IpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1IL,MAAA,CAAOgE,6BAAAA,CAA+B,IAAI,CAACS,OAAO,CAAA,CAAEzE,KAAAA,CAAMkC,OAAO,CAAA,CAAE,IAAI,CAACgD,cAAc,CAAA;AACvF,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ0ID,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa;AACnC,CAAC,CAAC,CAAC,CAAC,CIxIKyC,yBAAAA,CAA2B/H,MAAoB,CAAA,CAAiB;AJyIzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIxIL,MAAA,CAAO8K,aAAAA,CAAe9K,MAAAA,CAAAA,CAAQ,CAAE+K,KAAAA,CAAAA,CAAOrH,GAAAA,CAAAA,CAAAA,CAAAA;AJyIzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU;AIvIhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKkE,SAAAA,CAAWmD,KAAAA,CAAAA,CAAAA,CAAU;AJyI7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIxIX,MAAA,CAAOA,KAAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKrH,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,OAAA,CAAA,CAAA,CAAY;AJwI5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIvIX,MAAA,CAAOqH,KAAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AACD;AAEA,CAAA,CAAA;AJuIA,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;AACnG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI;AIrIxD,CAAA,CAAA,CAAA,CACD,KAAA,CAAMpD,wBAAAA,CAAAA;AJsIN,CAAC,CAAC,CAAC,CIrIK1B,MAAAA;AJsIR,CAAC,CAAC,CAAC,CIpIMjB,KAAAA;AAER,CAAA,CAAA,CAAA,CAAA,WAAA,CAAaiB,MAAc,CAAG;AJoI/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CInIL,IAAI,CAACA,MAAM,CAAA,CAAA,CAAGA,MAAAA;AAEd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACjB,KAAK,CAAA,CAAA,CAAGiB,MAAAA,CAAOjG,MAAM,CAAC6I,GAAG,CAAE,CAAA,oBAAA,CAAA,CAAA;AACjC,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJkID,CAAC,CAAC,CAAC,CAAC,CAAC;AIhIH,CAAA,CAAA,CAAA,CAAA,CACD,IAAOmC,CAAAA,CAAAA,CAAa;AJiIrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK;AACrG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;AACpG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIhIL,IAAI,CAAC/E,MAAM,CAAC8C,IAAI,CAACpI,EAAE,CAAE,CAAA,IAAA,CAAA,CAAA,CAAQR,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA;AAC5BA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAI8K,IAAI,CAAA,CAAA;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAChF,MAAM,CAAC+B,KAAK,CAACkD,aAAa,CAAE;AJgIpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIhIuBC,UAAAA,CAAAA,CAAY;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGC,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA;AACvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACC,yBAAyB,CAAA,CAAA;AJkIlC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjIX,IAAI,CAACC,kBAAkB,CAAEF,MAAAA,CAAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACnF,MAAM,CAAC8C,IAAI,CAACwC,IAAI,CAAoB,CAAA,KAAA,CAAA,CAAA;AJiI5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK;AACtF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI/HN,CAAA,CAAG;AAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAU,IAAA,CAAA,CAAA,CAAO;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJiID,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI;AI/H/D,CAAA,CAAA,CAAA,CAAA,CACD,WAAQC,CAAaL,MAAmB,CAAA,CAAEM,QAAa,CAAA,CAA6B;AACnF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAA,IAAA,CAAA,CAAA,EAAA,CAAUA,QAAAA,CAAAA,CAAW;AJgI5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI/HR,KAAA,CAAMC,OAAAA,CAAAA,CAAAA,CAAUP,MAAAA,CAAOQ,aAAa,CAAEF,QAAAA,CAAS3B,IAAI,CAAA,CAAE2B,QAAAA,CAAShC,UAAU,CAAA;AJgI3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI9HR,EAAA,CAAA,CAAKgC,QAAAA,CAASG,QAAQ,CAAA,CAAG;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAM,KAAA,CAAMC,KAAAA,CAAAA,EAAAA,CAASJ,QAAAA,CAASG,QAAQ,CAAG;AACxCF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQI,YAAY,CAAE,IAAI,CAACN,WAAW,CAAEL,MAAAA,CAAAA,CAAQU,KAAAA,CAAAA,CAAAA;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ+HH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7HR,MAAA,CAAOH,OAAAA;AJ8HV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7HN,CAAA,IAAA,CAAO;AJ8HT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;AI5HxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOP,MAAAA,CAAOY,UAAU,CAAEN,QAAAA,CAAS3C,IAAI,CAAA,CAAE2C,QAAAA,CAAShC,UAAU,CAAA;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ6HD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO;AAClF,CAAC,CAAC,CAAC,CAAC,CI3HK4B,kBAAAA,CAAoBF,MAAmB,CAAA,CAAS;AJ4HzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI3HL,KAAA,CAAMnF,MAAAA,CAAAA,CAAAA,CAAS,IAAI,CAACA,MAAM;AAE1BrC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOwD,OAAO,CAAE,IAAI,CAACpC,KAAK,CAAEqC,KAAK,CAAA,CAAGgC,OAAO,CAAE,CAAE,CAAEnC,QAAAA,CAAAA,CAAU,CAAA,CAAEoC,OAAO,CAAA,CAAEI,UAAU,CAAA,CAAE,CAAE,CAAA,CAAA,CAAA;AJ2HtF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1HR,KAAA,CAAMuC,WAAAA,CAAAA,CAAAA,CAA+C/C,IAAAA,CAAKgD,KAAK,CAAE5C,OAAAA,CAAAA;AJ2HpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI1HR,KAAA,CAAM6C,gBAAAA,CAAAA,CAAAA,CAA+CjD,IAAAA,CAAKgD,KAAK,CAAExC,UAAAA,CAAAA;AAEjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM0C,WAAAA,CAAAA,CAAAA,CAAcnG,MAAAA,CAAO+B,KAAK,CAACC,QAAQ,CAACoE,OAAO,CAAEnF,QAAAA,CAAAA;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAM,KAAA,CAAM,CAAExD,GAAAA,CAAAA,CAAKqH,KAAAA,CAAO,CAAA,EAAA,CAAIoB,gBAAAA,CAAmB;AJyHpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIxHXf,MAAAA,CAAOkB,YAAY,CAAE5I,GAAAA,CAAAA,CAAKqH,KAAAA,CAAAA,CAAOqB,WAAAA,CAAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJyHH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIvHR,GAAA,CAAA,CAAM,KAAA,CAAMN,KAAAA,CAAAA,EAAAA,CAASG,WAAAA,CAAc;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM9I,IAAAA,CAAAA,CAAAA,CAAO,IAAI,CAACsI,WAAW,CAAEL,MAAAA,CAAAA,CAAQU,KAAAA,CAAAA;AJwH3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CItHXV,MAAAA,CAAOmB,MAAM,CAAEpJ,IAAAA,CAAAA,CAAMiJ,WAAAA,CAAAA,CAAa,CAAA,GAAA,CAAA,CAAA;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAxI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOwD,OAAO,CAAE,IAAI,CAACpC,KAAK,CAAEgE,OAAO,CAAA,CAAGK,OAAO,CAAE,CAAE,CAAEmD,UAAAA,CAAAA,CAAYC,aAAAA,CAAe,CAAA,CAAA,CAAA;AAC7E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAAA,CAAExE,QAAQ,CAAA,CAAE,CAAA,CAAA,CAAGhC,MAAAA,CAAO+B,KAAK;AJsHpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIrHR,KAAA,CAAM,CAAA,CACLgC,SAAAA,CAAAA,CAAW,CAAA,CAAE0C,KAAK,CAAA,CAAEC,GAAG,CAAA,CAAE,CAAA,CACzB,CAAA,CAAA,CAAGC,OAAAA,CAAAA,CACH,CAAA,CAAA,CAAGH,aAAAA;AAEJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMhE,IAAAA,CAAAA,CAAAA,CAAOR,QAAAA,CAASoE,OAAO,CAAEK,KAAAA,CAAMjE,IAAI,CAAA;AJkH5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjHR,KAAA,CAAMoE,aAAAA,CAAAA,CAAAA,CAAgBzB,MAAAA,CAAO0B,sBAAsB,CAAErE,IAAAA,CAAAA,CAAMiE,KAAAA,CAAMK,IAAI,CAAA,CAAEL,KAAAA,CAAMM,UAAU,CAAA;AJkH1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIjHR,KAAA,CAAMC,WAAAA,CAAAA,CAAAA,CAAc7B,MAAAA,CAAO0B,sBAAsB,CAAErE,IAAAA,CAAAA,CAAMkE,GAAAA,CAAII,IAAI,CAAA,CAAEJ,GAAAA,CAAIK,UAAU,CAAA;AAEjF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAME,KAAAA,CAAAA,CAAAA,CAAQ9B,MAAAA,CAAO+B,WAAW,CAAEN,aAAAA,CAAAA,CAAeI,WAAAA,CAAAA;AJiHpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI/GR7B,MAAAA,CAAOgC,SAAS,CAAEZ,UAAAA,CAAAA,CAAY;AAC7BU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGN;AACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ+GD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW;AI7G1E,CAAA,CAAA,CAAA,CAAA,CACD,yBAAQvB,CAAAA,CAAAA,CAA4B;AJ8GrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7GL,KAAA,CAAMgC,oBAAAA,CAAAA,CAAAA,CAAmCnE,IAAAA,CAAKgD,KAAK,CAAE,IAAI,CAAClH,KAAK,CAACiE,cAAc,CAAA;AJ8GhF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI7GL,KAAA,CAAMqE,iBAAAA,CAAAA,CAAAA,CAAgCpE,IAAAA,CAAKgD,KAAK,CAAE,IAAI,CAAClH,KAAK,CAACoE,WAAW,CAAA;AJ8G1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI5GLiE,oBAAAA,CAAqBhE,OAAO,CAAEkE,CAAAA,iBAAAA,CAAAA,CAAAA,CAAAA;AJ6GhC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI5GR,KAAA,CAAMC,SAAAA,CAAAA,CAAAA,CAAY,IAAI,CAACvH,MAAM,CAACjG,MAAM,CAAC6I,GAAG,CAAE,CAAA,aAAA,CAAA,SAAA,CAAA,CAAA;AJ6G7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI5GR,KAAA,CAAMD,kBAAAA,CAAAA,CAAAA,CAAqB,IAAI,CAAC3C,MAAM,CAAE0C,OAAO,CAACE,GAAG,CAAE,CAAA,kBAAA,CAAA,CAAA;AAErD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKD,kBAAAA,CAAmB6E,gBAAgB,CAAEF,iBAAAA,CAAkBG,QAAQ,CAAA,CAAA,CAAK;AACxE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,aAAAA,CAAAA,CAAAA,CAAgB/E,kBAAAA,CAAmBgF,gBAAgB,CAAEL,iBAAAA,CAAkBG,QAAQ,CAAA;AAErFC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,aAAAA,CAAcE,MAAM,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAjF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,kBAAAA,CAAmBkF,gBAAgB,CAAE;AAAEN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA;AAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGD;AAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACxE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AJ6GF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI3GLD,iBAAAA,CAAkBjE,OAAO,CAAE0E,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA;AJ4G7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CI3GR,KAAA,CAAMC,mBAAAA,CAAAA,CAAAA,CAAsB,IAAI,CAAC/H,MAAM,CAAE0C,OAAO,CAACE,GAAG,CAAE,CAAA,mBAAA,CAAA,CAAA;AAEtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKmF,mBAAAA,CAAoBC,aAAa,CAAEF,cAAAA,CAAeG,EAAE,CAAA,CAAA,CAAK;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,UAAAA,CAAAA,CAAAA,CAAaH,mBAAAA,CAAoBI,aAAa,CAAEL,cAAAA,CAAeG,EAAE,CAAA;AJ2G3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIzGXC,UAAAA,CAAWzE,UAAU,CAAA,CAAA,CAAGqE,cAAAA,CAAerE,UAAU;AJ0GrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CIzGT,CAAA,IAAA,CAAO;AACNsE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,mBAAAA,CAAoBK,iBAAiB,CAAEN,cAAAA,CAAAA;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AACD;;AC3jBA,KAAA,CAAMO,WAAAA,CAAAA,CAAAA,CAAc/K,MAAAA,CAAQ,CAAA,WAAA,CAAA,CAAA;AAE5B,CAAA,CAAA;ALsqBA,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;AAC/D,CAAC;AACD,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9F,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;AAChB,CAAC,CAAC,CAAC,CKpqBI,KAAA,CAAMgL,eAAAA,CAAAA,OAAAA,CAA4DjP,QAAAA,CAAAA;AACxE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALqqBD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;AAC/C,CAAC,CAAC,CAAC,CAAC,CKnqBOkP,UAAAA,CAAAA,CAAAA,CAAa,GAAA,CAAIC,GAAAA,CAAAA,CAAAA;AAE3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALmqBD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;AKjqB5B,CAAA,CAAA,CAAA,CAAA,CACD,eAAiBC;AAEjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALiqBD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ;AAChC,CAAC,CAAC,CAAC,CAAC,CK/pBKC,QAAAA,CAAAA,CAAAA,CAA4B,IAAA;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL+pBD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACvF,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AACtD,CAAC,CAAC,CAAC,CAAC,CK7pBKC,aAAAA,CAAAA,CAAAA,CAAgB,GAAA,CAAI7L,GAAAA,CAAAA,CAAAA;AAE5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL6pBD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO;AACpE,CAAC,CAAC,CAAC,CAAC,CK3pBK8L,aAAAA,CAAAA,CAAAA,CAAgB,GAAA,CAAIC,YAAAA,CAAAA,CAAAA;AAE5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL2pBD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AKzpB/D,CAAA,CAAA,CAAA,CAAA,CACD,cAAQC;AAgBR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL2oBD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;AKzoBlB,CAAA,CAAA,CAAA,CAAA,CACD,KAAO7I;AAEP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALyoBD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW;AAC1C,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;AACjD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO;AACnG,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;AKvoBlD,CAAA,CAAA,CAAA,CAAA,CACD,WAAA,CACC8I,OAAsD,CAAA,CACtDxJ,cAAAA,CAAAA,CAAAA,CAAiC,CAAA,CAAE,CAClC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAEA,cAAAA,CAAAA;ALqoBT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKnoBL,IAAI,CAACkJ,eAAe,CAAA,CAAA,CAAGlJ,cAAAA;ALooBzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;AKjoBvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACK,QAAQ,CAAA,CAAA,CAAGoJ,CAAAA,aAAAA,CAAAA,CAAAA,CAAiBD,OAAAA,CAAQjJ,MAAM,CAAEkJ,aAAAA,CAAAA;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACjJ,WAAW,CAAA,CAAA,CAAG1D,CAAAA,OAAAA,CAAAA,CAAAA,CAAWA,OAAAA,CAAQ7B,OAAO,CAAA,CAAA;AAE7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACoO,aAAa,CAACK,OAAO,CAAE,CAAA,CAAA,CAAA,CAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,IAAI,CAAC1P,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,YAAA,CAAA,CAAA,CAAiB;ALkoBxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKjoBX,IAAI,CAACA,KAAK,CAAA,CAAA,CAAG,CAAA,KAAA,CAAA;ALkoBjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKjoBX,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALioBD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ;AAClE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AACvE,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CK/nBIiF,UAAAA,CAAYC,OAAuD,CAAA,CAAS;ALgoBpF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK/nBL,IAAI,CAACP,QAAQ,CAAA,CAAA,CAAGO,OAAAA;AACjB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL+nBD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW;AACrE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ;AACxF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AACvE,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;AACpD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CK7nBIC,aAAAA,CAAeC,UAAoD,CAAA,CAAS;AL8nBpF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK7nBL,IAAI,CAACN,WAAW,CAAA,CAAA,CAAGM,UAAAA;AACpB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL6nBD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ;AAC7G,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ;AK3nBnG,CAAA,CAAA,CAAA,CAAA,CACD,GAAA,CAAWhE,OAAAA,CAAAA,CAAAA,CAA0B;AL4nBtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK3nBL,MAAA,CAAO,IAAI,CAACqM,QAAQ;AACrB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL2nBD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;AAClF,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS;AAC1F,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AKznBzF,CAAA,CAAA,CAAA,CAAA,CACD,MAAO5I,CAAQkJ,aAAAA,CAAAA,CAAAA,CAA+B,CAAA,CAAE,CAAA,CAAqB;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACJ,aAAa,CAACM,OAAO,CAAEb,WAAAA,CAAAA,CAAa,CAAA,CAAA,CAAA,CAAA;AL0nBlD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKznBR,IAAI,CAACS,cAAc,CAAA,CAAA,CAAGE,aAAAA;AL0nBzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKxnBR,MAAA,CAAO,IAAI,CAACG,OAAO,CAAA,CAAA;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALwnBD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;AAC3F,CAAC,CAAC,CAAC,CAAC,CKtnBIC,OAAAA,CAASC,MAAc,CAAA,CAAY;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,QAAAA,CAAAA,CAAAA,CAAW,IAAI,CAACC,YAAY,CAAEF,MAAAA,CAAAA;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOC,QAAAA,CAASrJ,KAAK;AACtB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALqnBD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM;AACvF,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;AAClC,CAAC,CAAC,CAAC,CAAC,CKnnBIuJ,YAAAA,CAAcH,MAAc,CAAA,CAAkB;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,QAAAA,CAAAA,CAAAA,CAAW,IAAI,CAACC,YAAY,CAAEF,MAAAA,CAAAA;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOC,QAAAA,CAAS/P,KAAK;AACtB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALknBD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;AAC1H,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO;AACvD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO;AAC5B,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;AACvE,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ;AAC9B,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc;AAChH,CAAC,CAAC,CAAC,CAAC,CKhnBI8D,GAAAA,CAAKoM,qCAAoF,CAAA,CAAqB;AACpH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,kBAAAA,CAAAA,CAAAA,CAAqBC,OAAAA,CAASF,qCAAAA,CAAAA;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOnJ,OAAAA,CAAQsJ,GAAG,CAAEF,kBAAAA,CAAmBG,GAAG,CAAEC,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;ALgnB9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK/mBR,MAAA,CAAO,IAAI,CAAClB,aAAa,CAACM,OAAO,CAAEY,IAAAA,CAAK7B,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,IAAI,CAAC1O,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,SAAA,CAAA,CAAA,CAAc;AACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,GAAA,CAAIc,KAAAA,CAAO,CAAA,MAAA,CAAA,GAAA,CAAA,KAAA,CAAA,EAAA,CAAA,SAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAC,IAAI,CAACqO,QAAQ,CAAA,CAAG;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,GAAA,CAAIrO,KAAAA,CAAO,CAAA,OAAA,CAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,eAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL+mBJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK7mBX,GAAA,CAAIiP,QAAAA;AL8mBR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK5mBX,EAAA,CAAA,CAAK,IAAI,CAACf,UAAU,CAACpL,GAAG,CAAE2M,IAAAA,CAAK7B,EAAE,CAAA,CAAA,CAAK;AL6mB1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK5mBd,KAAA,CAAM,GAAA,CAAI5N,KAAAA,CAAO,CAAC,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAA0C,CAAA,CAAGyP,IAAAA,CAAK7B,EAAE,CAAE,CAAA,CAAE,CAAC,CAAA;AAC5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL6mBJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK3mBX,EAAA,CAAA,CAAK6B,IAAAA,CAAKpM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAA,CAAA,CAAW;AAC7B4L,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAW,GAAA,CAAI3K,cAAAA,CAAgB,IAAA,CAAA,CAAM,IAAI,CAAC8J,eAAe,CAAA;AL4mB9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK3mBda,QAAAA,CAASpJ,UAAU,CAAE4J,IAAAA,CAAK3J,OAAO,CAAA;AACjCmJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAShH,sBAAsB,CAAE,IAAI,CAACqG,aAAa,CAAA;AL4mBxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK1mBd,EAAA,CAAA,CAAKmB,IAAAA,CAAKzJ,UAAU,CAAA,CAAG;AL2mB5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK1mBjBiJ,QAAAA,CAASlJ,aAAa,CAAE0J,IAAAA,CAAKzJ,UAAU,CAAA;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACkI,UAAU,CAACwB,GAAG,CAAED,IAAAA,CAAK7B,EAAE,CAAA,CAAEqB,QAAAA,CAAAA;AL0mBnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;AACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK;AACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKxmBdA,QAAAA,CAAS5O,EAAE,CAAE,CAAA,KAAA,CAAA,CAAA,CAAS,CAAER,GAAAA,CAAAA,CAAK,CAAA,CAAEC,KAAK,CAAA,CAAE+B,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA;ALymB1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKxmBjB,IAAI,CAACjB,KAAK,CAAE,CAAA,SAAA,CAAA,CAAA,CAAa;AAAEoO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAQS,IAAAA,CAAK7B,EAAE;AAAE9N,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL4mBxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO;AKzmBxF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAC+B,aAAAA,CAAAA,CAAgB;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL2mBN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKzmBjB,IAAI,CAAC0M,aAAa,CAACM,OAAO,CAAEY,IAAAA,CAAK7B,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAM,GAAA,CAAI3H,OAAAA,CAAe0J,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,uBAAAA,CAAAA,CAAAA,CAA0B,CAAA,CAAA,CAAA,CAAA;AL0mBvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKzmB3BX,QAAAA,CAASxO,GAAG,CAAE,CAAA,OAAA,CAAA,CAAA,CAAWmP,uBAAAA,CAAAA;AL0mBjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKxmB3B,IAAI,CAAChP,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA,CAAe;AAAEoO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAQS,IAAAA,CAAK7B;AAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7C+B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL0mBP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKxmBxBV,QAAAA,CAAS5O,EAAE,CAAE,CAAA,OAAA,CAAA,CAAA,CAAWuP,uBAAAA,CAAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALymBL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKvmBd,MAAA,CAAOX,QAAAA,CAASxJ,MAAM,CAAEgK,IAAAA,CAAKI,mBAAmB,CAAA,CAAEJ,IAAAA,CAAK/P,MAAM,CAAA,CAAE,IAAI,CAAC2O,QAAQ,CAAA;ALwmBjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKvmBZ,CAAA,IAAA,CAAO;ALwmBX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKvmBd,KAAA,CAAM,GAAA,CAAIrO,KAAAA,CAAO,CAAC,GAAA,CAAA,SAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAA0B,CAAA,CAAGyP,IAAAA,CAAKpM,IAAI,CAAE,CAAA,CAAE,CAAC,CAAA;AAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALumBD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;AAC1D,CAAC,CAAC,CAAC,CAAC,CKrmBIkK,MAAAA,CAAQuC,eAAoC,CAAA,CAAqB;AACvE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,OAAAA,CAAAA,CAAAA,CAAUT,OAAAA,CAASQ,eAAAA,CAAAA;AAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO7J,OAAAA,CAAQsJ,GAAG,CAAEQ,OAAAA,CAAQP,GAAG,CAAER,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACT,aAAa,CAACM,OAAO,CAAEG,MAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,QAAAA,CAAAA,CAAAA,CAAW,IAAI,CAACC,YAAY,CAAEF,MAAAA,CAAAA;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACd,UAAU,CAAC8B,MAAM,CAAEhB,MAAAA,CAAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOC,QAAAA,CAAS9O,OAAO,CAAA,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALkmBD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;AACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK;AACrE,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AKhmBJ,CAAA,CAAA,CAAA,CAAA,CACD,OAAgBA,CAAAA,CAAAA,CAA4B;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACoO,aAAa,CAACM,OAAO,CAAEb,WAAAA,CAAAA,CAAa,CAAA,CAAA,CAAA,CAAA;ALimBlD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKhmBR,IAAI,CAAC9O,KAAK,CAAA,CAAA,CAAG,CAAA,SAAA,CAAA;ALimBhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKhmBR,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AAEZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAACT,OAAAA,CAAAA,CAAAA;ALgmBT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK9lBR,MAAA,CAAO,IAAI,CAACiG,QAAQ,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL8lBD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ;AK5lB/B,CAAA,CAAA,CAAA,CAAA,CACD,QAAUlG,CAAAA,CAAAA,CAA6B;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACqO,aAAa,CAACM,OAAO,CAAEb,WAAAA,CAAAA,CAAa,CAAA,CAAA,CAAA,CAAA;AL6lBlD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK5lBR,IAAI,CAAC9O,KAAK,CAAA,CAAA,CAAG,CAAA,YAAA,CAAA;AL6lBhB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK5lBR,IAAI,CAAC0B,KAAK,CAAE,CAAA,WAAA,CAAA,CAAA;AAEZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACwF,QAAQ,CAAA,CAAA,CAClBC,KAAK,CAAEC,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA;AL2lBZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK1lBVC,OAAAA,CAAQzG,KAAK,CAAE,CAAA,EAAA,CAAA,KAAA,CAAA,QAAA,CAAA,MAAA,CAAA,UAAA,CAAA,GAAA,CAAA,OAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAA6DwG,GAAAA,CAAAA;AAC7E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACCH,IAAI,CAAE,CAAA,CAAA,CAAA,CAAM,IAAI,CAAC2I,OAAO,CAAA,CAAA,CAAA,CACxB3I,IAAI,CAAE,CAAA,CAAA,CAAA,CAAM,IAAI,CAACvF,KAAK,CAAE,CAAA,OAAA,CAAA,CAAA,CAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALwlBD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ;AKtlBlC,CAAA,CAAA,CAAA,CAAA,CACD,OAAQkO,CAAAA,CAAAA,CAA4B;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO7I,OAAAA,CAAQC,OAAO,CAAA,CAAA,CACpBC,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACnF,mBAAmB,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACuE,QAAQ,CAAE,IAAI,CAACkJ,cAAc,CAAA;ALqlB7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKplBL,CAAA,CACCtI,IAAI,CAAEnE,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA;ALolBV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKnlBP,IAAI,CAACqM,QAAQ,CAAA,CAAA,CAAGrM,OAAAA;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACsM,aAAa,CAAA,CAAA,CAAGhM,WAAAA,CAAa,IAAI,CAAC+L,QAAQ,CAAA;AAE/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOpI,OAAAA,CAAQsJ,GAAG,CACjBtG,KAAAA,CAAMC,IAAI,CAAE,IAAI,CAACgF,UAAU,CAAC1G,MAAM,CAAA,CAAA,CAAA,CAChCgI,GAAG,CAAEP,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA;AACLA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAShH,sBAAsB,CAAE,IAAI,CAACqG,aAAa,CAAA;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOW,QAAAA,CAASxJ,MAAM,CAAEhE,SAAAA,CAAAA,CAAWA,SAAAA,CAAAA,CAAW,IAAI,CAAC4M,QAAQ,CAAA;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AL8kBD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;AK5kBnD,CAAA,CAAA,CAAA,CAAA,CACD,QAAQjI,CAAAA,CAAAA,CAA6B;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOH,OAAAA,CAAQC,OAAO,CAAA,CAAA,CACpBC,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC/F,kBAAkB,CAAA,CAAA;AL4kB3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK1kBP,KAAA,CAAM4B,OAAAA,CAAAA,CAAAA,CAAU,IAAI,CAACqM,QAAQ;AL2kBjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKzkBP,IAAI,CAACA,QAAQ,CAAA,CAAA,CAAG,IAAA;AL0kBpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKzkBP,IAAI,CAACC,aAAa,CAAA,CAAA,CAAG,GAAA,CAAI7L,GAAAA,CAAAA,CAAAA;AAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOwD,OAAAA,CAAQsJ,GAAG,CACjBtG,KAAAA,CAAMC,IAAI,CAAE,IAAI,CAACgF,UAAU,CAAC1G,MAAM,CAAA,CAAA,CAAA,CAChCgI,GAAG,CAAEP,CAAAA,QAAAA,CAAAA,CAAAA,CAAYA,QAAAA,CAAS9O,OAAO,CAAA,CAAA,CAAA,CAEnC,CAAA,CAAA,CAAA,OAAA,CAAA,UAAA,CAAA,QAAA,CAAA,IAAA,CAAA,MAAA;AACCgG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAI,CAAE,CAAA,CAAA,CAAA,CAAM,IAAI,CAACT,WAAW,CAAE1D,OAAAA,CAAAA,CAAAA;AACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALokBD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC5C,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACzB,CAAC,CAAC,CAAC,CAAC,CKlkBOkN,YAAAA,CAAcF,MAAc,CAAA,CAAa;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,QAAAA,CAAAA,CAAAA,CAAW,IAAI,CAACf,UAAU,CAAC3F,GAAG,CAAEyG,MAAAA,CAAAA;AAEtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAACC,QAAAA,CAAAA,CAAW;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,GAAA,CAAIjP,KAAAA,CAAO,CAAC,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,KAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,CAA2C,CAAA,CAAGgP,MAAAA,CAAQ,CAAC,CAAC,CAAA;AAC3E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALkkBF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKhkBL,MAAA,CAAOC,QAAAA;AACR,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALgkBD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS;AAC3F,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CK9jBIhN,0BAAAA,CAA4BnC,KAAoB,CAAA,CAAY;AAClE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAM,KAAA,CAAMmP,QAAAA,CAAAA,EAAAA,CAAY,IAAI,CAACf,UAAU,CAAC1G,MAAM,CAAA,CAAA,CAAK;AL+jBrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK9jBR,EAAA,CAAA,CAAKyH,QAAAA,CAAShN,0BAA0B,CAAEnC,KAAAA,CAAAA,CAAAA,CAAU;AL+jBvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK9jBX,MAAA,CAAO,KAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAOgE,6BAAAA,CAA+B,IAAI,CAACuK,QAAQ,CAAA,CAAEvO,KAAAA,CAAMkC,OAAO,CAAA;AACnE,CAAA,CAAA,CAAA,CAAA;AACD;AAoEA,CAAA,CAAA;AL2fA,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS;AKzf9D,CAAA,CAAA,CAAA,CACD,KAAA,CAAMwM,YAAAA,CAAAA;AACEyB,CAAAA,CAAAA,CAAAA,CAAAA,iBAAAA,CAAAA,CAAAA,CAAuC,CAAA,CAAE;AACzCC,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAU,GAAA,CAAI/B,GAAAA,CAAAA,CAAAA;AACdgC,CAAAA,CAAAA,CAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAiB,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALyfD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;AAC5E,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;AACvF,CAAC,CAAC,CAAC,CAAC,CKvfIvB,OAAAA,CAASwB,eAA2B,CAAA,CAAS;AACnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACH,iBAAiB,CAACzP,IAAI,CAAE4P,eAAAA,CAAAA;AAC9B,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALufD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG;AACzF,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ;AKrflD,CAAA,CAAA,CAAA,CAAA,CACD,OAAOvB,CAASwB,OAAiC,CAAA,CAAEC,MAAqB,CAAA,CAAqB;AAC5F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,YAAAA,CAAAA,CAAAA,CAAeF,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYrC,WAAAA;AAEjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACmC,cAAc,CAAA,CAAA;AAEnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,CAAC,IAAI,CAACD,OAAO,CAAC3H,GAAG,CAAE8H,OAAAA,CAAAA,CAAAA,CAAY;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACH,OAAO,CAACR,GAAG,CAAEW,OAAAA,CAAAA,CAASpK,OAAAA,CAAQC,OAAO,CAAA,CAAA,CAAA;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALofF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG;AACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;AKjf5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMsK,cAAAA,CAAAA,CAAAA,CAAiBD,YAAAA,CAAAA,CAAAA,CACtBtK,OAAAA,CAAQsJ,GAAG,CAAE,IAAI,CAACW,OAAO,CAAC1I,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAChCvB,OAAAA,CAAQsJ,GAAG,CAAE;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACW,OAAO,CAAC3H,GAAG,CAAEyF,WAAAA,CAAAA;AAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACkC,OAAO,CAAC3H,GAAG,CAAE8H,OAAAA;AAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ALofhF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CKlfL,KAAA,CAAMI,eAAAA,CAAAA,CAAAA,CAAkBD,cAAAA,CAAerK,IAAI,CAAEmK,MAAAA,CAAAA;ALmf/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;AKhfnG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMI,aAAAA,CAAAA,CAAAA,CAAgBD,eAAAA,CAAgBpK,KAAK,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAEpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC6J,OAAO,CAACR,GAAG,CAAEW,OAAAA,CAAAA,CAASK,aAAAA,CAAAA;ALif7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CK/eL,MAAA,CAAOD,eAAAA,CAAgB1I,OAAO,CAAE,CAAA,CAAA,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACoI,cAAc,CAAA,CAAA;AAEnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK,IAAI,CAACD,OAAO,CAAC3H,GAAG,CAAE8H,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcK,aAAAA,CAAAA,CAAAA,CAAAA,CAAiB,IAAI,CAACP,cAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAI;AACjF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACF,iBAAiB,CAAClH,OAAO,CAAEpI,CAAAA,EAAAA,CAAAA,CAAAA,CAAMA,EAAAA,CAAAA,CAAAA,CAAAA;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AACD;AAEA,CAAA,CAAA;AL8eA,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS;AACxG,CAAC;AACD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AAC3D,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AACtC,CAAC,CAAC,CAAC,CK5eH,QAAA,CAAS2O,OAAAA,CAAYqB,cAA8B,CAAA,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO1H,KAAAA,CAAM2H,OAAO,CAAED,cAAAA,CAAAA,CAAAA,CAAAA,CAAmBA,cAAAA,CAAAA,CAAAA,CAAiB;AAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAgB,CAAA,CAAA,CAAA,CAAA,CAAA;AAC7E;;ALgfA,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC","file":"index.js.map","sourcesContent":["import { throttle, isElement, cloneDeepWith } from 'es-toolkit/compat';\n\n/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */ /**\n * @module watchdog/watchdog\n */ /**\n * An abstract watchdog class that handles most of the error handling process and the state of the underlying component.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and how to use it.\n *\n * @internal\n */ class Watchdog {\n /**\n\t * An array of crashes saved as an object with the following properties:\n\t *\n\t * * `message`: `String`,\n\t * * `stack`: `String`,\n\t * * `date`: `Number`,\n\t * * `filename`: `String | undefined`,\n\t * * `lineno`: `Number | undefined`,\n\t * * `colno`: `Number | undefined`,\n\t */ crashes = [];\n /**\n\t * Specifies the state of the item watched by the watchdog. The state can be one of the following values:\n\t *\n\t * * `initializing` – Before the first initialization, and after crashes, before the item is ready.\n\t * * `ready` – A state when the user can interact with the item.\n\t * * `crashed` – A state when an error occurs. It quickly changes to `initializing` or `crashedPermanently`\n\t * depending on how many and how frequent errors have been caught recently.\n\t * * `crashedPermanently` – A state when the watchdog stops reacting to errors and keeps the item it is watching crashed,\n\t * * `destroyed` – A state when the item is manually destroyed by the user after calling `watchdog.destroy()`.\n\t */ state = 'initializing';\n /**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */ _crashNumberLimit;\n /**\n\t * Returns the result of the `Date.now()` call. It can be overridden in tests to mock time as some popular\n\t * approaches like `sinon.useFakeTimers()` do not work well with error handling.\n\t */ _now = Date.now;\n /**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */ _minimumNonErrorTimePeriod;\n /**\n\t * Checks if the event error comes from the underlying item and restarts the item.\n\t */ _boundErrorHandler;\n /**\n\t * A dictionary of event emitter listeners.\n\t */ _listeners;\n /**\n\t * @param {module:watchdog/watchdog~WatchdogConfig} config The watchdog plugin configuration.\n\t */ constructor(config){\n this.crashes = [];\n this._crashNumberLimit = typeof config.crashNumberLimit === 'number' ? config.crashNumberLimit : 3;\n this._minimumNonErrorTimePeriod = typeof config.minimumNonErrorTimePeriod === 'number' ? config.minimumNonErrorTimePeriod : 5000;\n this._boundErrorHandler = (evt)=>{\n // `evt.error` is exposed by EventError while `evt.reason` is available in PromiseRejectionEvent.\n const error = 'error' in evt ? evt.error : evt.reason;\n // Note that `evt.reason` might be everything that is in the promise rejection.\n // Similarly everything that is thrown lands in `evt.error`.\n if (error instanceof Error) {\n this._handleError(error, evt);\n }\n };\n this._listeners = {};\n if (!this._restart) {\n throw new Error('The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. ' + 'Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.');\n }\n }\n /**\n\t * Destroys the watchdog and releases the resources.\n\t */ destroy() {\n this._stopErrorHandling();\n this._listeners = {};\n }\n /**\n\t * Starts listening to a specific event name by registering a callback that will be executed\n\t * whenever an event with a given name fires.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be added to event listeners.\n\t */ on(eventName, callback) {\n if (!this._listeners[eventName]) {\n this._listeners[eventName] = [];\n }\n this._listeners[eventName].push(callback);\n }\n /**\n\t * Stops listening to the specified event name by removing the callback from event listeners.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be removed from event listeners.\n\t */ off(eventName, callback) {\n this._listeners[eventName] = this._listeners[eventName].filter((cb)=>cb !== callback);\n }\n /**\n\t * Fires an event with a given event name and arguments.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t */ _fire(eventName, ...args) {\n const callbacks = this._listeners[eventName] || [];\n for (const callback of callbacks){\n callback.apply(this, [\n null,\n ...args\n ]);\n }\n }\n /**\n\t * Starts error handling by attaching global error handlers.\n\t */ _startErrorHandling() {\n window.addEventListener('error', this._boundErrorHandler);\n window.addEventListener('unhandledrejection', this._boundErrorHandler);\n }\n /**\n\t * Stops error handling by detaching global error handlers.\n\t */ _stopErrorHandling() {\n window.removeEventListener('error', this._boundErrorHandler);\n window.removeEventListener('unhandledrejection', this._boundErrorHandler);\n }\n /**\n\t * Checks if an error comes from the watched item and restarts it.\n\t * It reacts to {@link module:utils/ckeditorerror~CKEditorError `CKEditorError` errors} only.\n\t *\n\t * @fires error\n\t * @param error Error.\n\t * @param evt An error event.\n\t */ _handleError(error, evt) {\n // @if CK_DEBUG // const err = error as CKEditorError;\n // @if CK_DEBUG // if ( err.is && err.is( 'CKEditorError' ) && err.context === undefined ) {\n // @if CK_DEBUG // console.warn( 'The error is missing its context and Watchdog cannot restart the proper item.' );\n // @if CK_DEBUG // }\n if (this._shouldReactToError(error)) {\n this.crashes.push({\n message: error.message,\n stack: error.stack,\n // `evt.filename`, `evt.lineno` and `evt.colno` are available only in ErrorEvent events\n filename: evt instanceof ErrorEvent ? evt.filename : undefined,\n lineno: evt instanceof ErrorEvent ? evt.lineno : undefined,\n colno: evt instanceof ErrorEvent ? evt.colno : undefined,\n date: this._now()\n });\n const causesRestart = this._shouldRestart();\n this.state = 'crashed';\n this._fire('stateChange');\n this._fire('error', {\n error,\n causesRestart\n });\n if (causesRestart) {\n this._restart();\n } else {\n this.state = 'crashedPermanently';\n this._fire('stateChange');\n }\n }\n }\n /**\n\t * Checks whether an error should be handled by the watchdog.\n\t *\n\t * @param error An error that was caught by the error handling process.\n\t */ _shouldReactToError(error) {\n return error.is && error.is('CKEditorError') && error.context !== undefined && // In some cases the watched item should not be restarted - e.g. during the item initialization.\n // That's why the `null` was introduced as a correct error context which does cause restarting.\n error.context !== null && // Do not react to errors if the watchdog is in states other than `ready`.\n this.state === 'ready' && this._isErrorComingFromThisItem(error);\n }\n /**\n\t * Checks if the watchdog should restart the underlying item.\n\t */ _shouldRestart() {\n if (this.crashes.length <= this._crashNumberLimit) {\n return true;\n }\n const lastErrorTime = this.crashes[this.crashes.length - 1].date;\n const firstMeaningfulErrorTime = this.crashes[this.crashes.length - 1 - this._crashNumberLimit].date;\n const averageNonErrorTimePeriod = (lastErrorTime - firstMeaningfulErrorTime) / this._crashNumberLimit;\n return averageNonErrorTimePeriod > this._minimumNonErrorTimePeriod;\n }\n}\n\n/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */ /**\n * @module watchdog/utils/getsubnodes\n */ /**\n * @internal\n */ function getSubNodes(head, excludedProperties = new Set()) {\n const nodes = [\n head\n ];\n // @if CK_DEBUG_WATCHDOG // const prevNodeMap = new Map();\n // Nodes are stored to prevent infinite looping.\n const subNodes = new Set();\n let nodeIndex = 0;\n while(nodes.length > nodeIndex){\n // Incrementing the iterator is much faster than changing size of the array with Array.prototype.shift().\n const node = nodes[nodeIndex++];\n if (subNodes.has(node) || !shouldNodeBeIncluded(node) || excludedProperties.has(node)) {\n continue;\n }\n subNodes.add(node);\n // Handle arrays, maps, sets, custom collections that implements `[ Symbol.iterator ]()`, etc.\n if (Symbol.iterator in node) {\n // The custom editor iterators might cause some problems if the editor is crashed.\n try {\n for (const n of node){\n nodes.push(n);\n // @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( n ) ) {\n // @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( n, node );\n // @if CK_DEBUG_WATCHDOG // }\n }\n } catch {\n // Do not log errors for broken structures\n // since we are in the error handling process already.\n }\n } else {\n for(const key in node){\n // We share a reference via the protobuf library within the editors,\n // hence the shared value should be skipped. Although, it's not a perfect\n // solution since new places like that might occur in the future.\n if (key === 'defaultValue') {\n continue;\n }\n nodes.push(node[key]);\n // @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( node[ key ] ) ) {\n // @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( node[ key ], node );\n // @if CK_DEBUG_WATCHDOG // }\n }\n }\n }\n // @if CK_DEBUG_WATCHDOG // return { subNodes, prevNodeMap } as any;\n return subNodes;\n}\nfunction shouldNodeBeIncluded(node) {\n const type = Object.prototype.toString.call(node);\n const typeOfNode = typeof node;\n return !(typeOfNode === 'number' || typeOfNode === 'boolean' || typeOfNode === 'string' || typeOfNode === 'symbol' || typeOfNode === 'function' || type === '[object Date]' || type === '[object RegExp]' || type === '[object Module]' || node === undefined || node === null || // This flag is meant to exclude singletons shared across editor instances. So when an error is thrown in one editor,\n // the other editors connected through the reference to the same singleton are not restarted. This is a temporary workaround\n // until a better solution is found.\n // More in https://github.com/ckeditor/ckeditor5/issues/12292.\n node._watchdogExcluded || // Skip native DOM objects, e.g. Window, nodes, events, etc.\n node instanceof EventTarget || node instanceof Event);\n}\n\n/**\n * Traverses both structures to find out whether there is a reference that is shared between both structures.\n *\n * @internal\n */ function areConnectedThroughProperties(target1, target2, excludedNodes = new Set()) {\n if (target1 === target2 && isObject(target1)) {\n return true;\n }\n // @if CK_DEBUG_WATCHDOG // return checkConnectionBetweenProps( target1, target2, excludedNodes );\n const subNodes1 = getSubNodes(target1, excludedNodes);\n const subNodes2 = getSubNodes(target2, excludedNodes);\n for (const node of subNodes1){\n if (subNodes2.has(node)) {\n return true;\n }\n }\n return false;\n}\nfunction isObject(structure) {\n return typeof structure === 'object' && structure !== null;\n}\n\n/**\n * A watchdog for CKEditor 5 editors.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */ class EditorWatchdog extends Watchdog {\n /**\n\t * The current editor instance.\n\t */ _editor = null;\n /**\n\t * A promise associated with the life cycle of the editor (creation or destruction processes).\n\t *\n\t * It is used to prevent the initialization of the editor if the previous instance has not been destroyed yet,\n\t * and conversely, to prevent the destruction of the editor if it has not been initialized.\n\t */ _lifecyclePromise = null;\n /**\n\t * Throttled save method. The `save()` method is called the specified `saveInterval` after `throttledSave()` is called,\n\t * unless a new action happens in the meantime.\n\t */ _throttledSave;\n /**\n\t * The latest saved editor data represented as a root name -> root data object.\n\t */ _data;\n /**\n\t * The last document version.\n\t */ _lastDocumentVersion;\n /**\n\t * The editor source element or data.\n\t */ _elementOrData;\n /**\n\t * Specifies whether the editor was initialized using document data (`true`) or HTML elements (`false`).\n\t */ _initUsingData = true;\n /**\n\t * The latest record of the editor editable elements. Used to restart the editor.\n\t */ _editables = {};\n /**\n\t * The editor configuration.\n\t */ _config;\n _excludedProps;\n /**\n\t * @param Editor The editor class.\n\t * @param watchdogConfig The watchdog plugin configuration.\n\t */ constructor(Editor, watchdogConfig = {}){\n super(watchdogConfig);\n // this._editorClass = Editor;\n this._throttledSave = throttle(this._save.bind(this), typeof watchdogConfig.saveInterval === 'number' ? watchdogConfig.saveInterval : 5000);\n // Set default creator and destructor functions:\n if (Editor) {\n this._creator = (elementOrData, config)=>Editor.create(elementOrData, config);\n }\n this._destructor = (editor)=>editor.destroy();\n }\n /**\n\t * The current editor instance.\n\t */ get editor() {\n return this._editor;\n }\n /**\n\t * @internal\n\t */ get _item() {\n return this._editor;\n }\n /**\n\t * Sets the function that is responsible for the editor creation.\n\t * It expects a function that should return a promise.\n\t *\n\t * ```ts\n\t * watchdog.setCreator( ( element, config ) => ClassicEditor.create( element, config ) );\n\t * ```\n\t */ setCreator(creator) {\n this._creator = creator;\n }\n /**\n\t * Sets the function that is responsible for the editor destruction.\n\t * Overrides the default destruction function, which destroys only the editor instance.\n\t * It expects a function that should return a promise or `undefined`.\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( editor => {\n\t * \t// Do something before the editor is destroyed.\n\t *\n\t * \treturn editor\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the editor is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */ setDestructor(destructor) {\n this._destructor = destructor;\n }\n /**\n\t * Restarts the editor instance. This method is called whenever an editor error occurs. It fires the `restart` event and changes\n\t * the state to `initializing`.\n\t *\n\t * @fires restart\n\t */ _restart() {\n return Promise.resolve().then(()=>{\n this.state = 'initializing';\n this._fire('stateChange');\n return this._destroy();\n }).catch((err)=>{\n console.error('An error happened during the editor destroying.', err);\n }).then(()=>{\n // Pre-process some data from the original editor config.\n // Our goal here is to make sure that the restarted editor will be reinitialized with correct set of roots.\n // We are not interested in any data set in config or in `.create()` first parameter. It will be replaced anyway.\n // But we need to set them correctly to make sure that proper roots are created.\n //\n // Since a different set of roots will be created, `lazyRoots` and `rootsAttributes` properties must be managed too.\n // Keys are root names, values are ''. Used when the editor was initialized by setting the first parameter to document data.\n const existingRoots = {};\n // Keeps lazy roots. They may be different when compared to initial config if some of the roots were loaded.\n const lazyRoots = [];\n // Roots attributes from the old config. Will be referred when setting new attributes.\n const oldRootsAttributes = this._config.rootsAttributes || {};\n // New attributes to be set. Is filled only for roots that still exist in the document.\n const rootsAttributes = {};\n // Traverse through the roots saved when the editor crashed and set up the discussed values.\n for (const [rootName, rootData] of Object.entries(this._data.roots)){\n if (rootData.isLoaded) {\n existingRoots[rootName] = '';\n rootsAttributes[rootName] = oldRootsAttributes[rootName] || {};\n } else {\n lazyRoots.push(rootName);\n }\n }\n const updatedConfig = {\n ...this._config,\n extraPlugins: this._config.extraPlugins || [],\n lazyRoots,\n rootsAttributes,\n _watchdogInitialData: this._data\n };\n // Delete `initialData` as it is not needed. Data will be set by the watchdog based on `_watchdogInitialData`.\n // First parameter of the editor `.create()` will be used to set up initial roots.\n delete updatedConfig.initialData;\n updatedConfig.extraPlugins.push(EditorWatchdogInitPlugin);\n if (this._initUsingData) {\n return this.create(existingRoots, updatedConfig, updatedConfig.context);\n } else {\n // Set correct editables to make sure that proper roots are created and linked with DOM elements.\n // No need to set initial data, as it would be discarded anyway.\n //\n // If one element was initially set in `elementOrData`, then use that original element to restart the editor.\n // This is for compatibility purposes with single-root editor types.\n if (isElement(this._elementOrData)) {\n return this.create(this._elementOrData, updatedConfig, updatedConfig.context);\n } else {\n return this.create(this._editables, updatedConfig, updatedConfig.context);\n }\n }\n }).then(()=>{\n this._fire('restart');\n });\n }\n /**\n\t * Creates the editor instance and keeps it running, using the defined creator and destructor.\n\t *\n\t * @param elementOrData The editor source element or the editor data.\n\t * @param config The editor configuration.\n\t * @param context A context for the editor.\n\t */ create(elementOrData = this._elementOrData, config = this._config, context) {\n this._lifecyclePromise = Promise.resolve(this._lifecyclePromise).then(()=>{\n super._startErrorHandling();\n this._elementOrData = elementOrData;\n // Use document data in the first parameter of the editor `.create()` call only if it was used like this originally.\n // Use document data if a string or object with strings was passed.\n this._initUsingData = typeof elementOrData == 'string' || Object.keys(elementOrData).length > 0 && typeof Object.values(elementOrData)[0] == 'string';\n // Clone configuration because it might be shared within multiple watchdog instances. Otherwise,\n // when an error occurs in one of these editors, the watchdog will restart all of them.\n this._config = this._cloneEditorConfiguration(config) || {};\n this._config.context = context;\n return this._creator(elementOrData, this._config);\n }).then((editor)=>{\n this._editor = editor;\n editor.model.document.on('change:data', this._throttledSave);\n this._lastDocumentVersion = editor.model.document.version;\n this._data = this._getData();\n if (!this._initUsingData) {\n this._editables = this._getEditables();\n }\n this.state = 'ready';\n this._fire('stateChange');\n }).finally(()=>{\n this._lifecyclePromise = null;\n });\n return this._lifecyclePromise;\n }\n /**\n\t * Destroys the watchdog and the current editor instance. It fires the callback\n\t * registered in {@link #setDestructor `setDestructor()`} and uses it to destroy the editor instance.\n\t * It also sets the state to `destroyed`.\n\t */ destroy() {\n this._lifecyclePromise = Promise.resolve(this._lifecyclePromise).then(()=>{\n this.state = 'destroyed';\n this._fire('stateChange');\n super.destroy();\n return this._destroy();\n }).finally(()=>{\n this._lifecyclePromise = null;\n });\n return this._lifecyclePromise;\n }\n _destroy() {\n return Promise.resolve().then(()=>{\n this._stopErrorHandling();\n this._throttledSave.cancel();\n const editor = this._editor;\n this._editor = null;\n // Remove the `change:data` listener before destroying the editor.\n // Incorrectly written plugins may trigger firing `change:data` events during the editor destruction phase\n // causing the watchdog to call `editor.getData()` when some parts of editor are already destroyed.\n editor.model.document.off('change:data', this._throttledSave);\n return this._destructor(editor);\n });\n }\n /**\n\t * Saves the editor data, so it can be restored after the crash even if the data cannot be fetched at\n\t * the moment of the crash.\n\t */ _save() {\n const version = this._editor.model.document.version;\n try {\n this._data = this._getData();\n if (!this._initUsingData) {\n this._editables = this._getEditables();\n }\n this._lastDocumentVersion = version;\n } catch (err) {\n console.error(err, 'An error happened during restoring editor data. ' + 'Editor will be restored from the previously saved data.');\n }\n }\n /**\n\t * @internal\n\t */ _setExcludedProperties(props) {\n this._excludedProps = props;\n }\n /**\n\t * Gets all data that is required to reinitialize editor instance.\n\t */ _getData() {\n const editor = this._editor;\n const roots = editor.model.document.roots.filter((root)=>root.isAttached() && root.rootName != '$graveyard');\n const { plugins } = editor;\n // `as any` to avoid linking from external private repo.\n const commentsRepository = plugins.has('CommentsRepository') && plugins.get('CommentsRepository');\n const trackChanges = plugins.has('TrackChanges') && plugins.get('TrackChanges');\n const data = {\n roots: {},\n markers: {},\n commentThreads: JSON.stringify([]),\n suggestions: JSON.stringify([])\n };\n roots.forEach((root)=>{\n data.roots[root.rootName] = {\n content: JSON.stringify(Array.from(root.getChildren())),\n attributes: JSON.stringify(Array.from(root.getAttributes())),\n isLoaded: root._isLoaded\n };\n });\n for (const marker of editor.model.markers){\n if (!marker._affectsData) {\n continue;\n }\n data.markers[marker.name] = {\n rangeJSON: marker.getRange().toJSON(),\n usingOperation: marker._managedUsingOperations,\n affectsData: marker._affectsData\n };\n }\n if (commentsRepository) {\n data.commentThreads = JSON.stringify(commentsRepository.getCommentThreads({\n toJSON: true,\n skipNotAttached: true\n }));\n }\n if (trackChanges) {\n data.suggestions = JSON.stringify(trackChanges.getSuggestions({\n toJSON: true,\n skipNotAttached: true\n }));\n }\n return data;\n }\n /**\n\t * For each attached model root, returns its HTML editable element (if available).\n\t */ _getEditables() {\n const editables = {};\n for (const rootName of this.editor.model.document.getRootNames()){\n const editable = this.editor.ui.getEditableElement(rootName);\n if (editable) {\n editables[rootName] = editable;\n }\n }\n return editables;\n }\n /**\n\t * Traverses the error context and the current editor to find out whether these structures are connected\n\t * to each other via properties.\n\t *\n\t * @internal\n\t */ _isErrorComingFromThisItem(error) {\n return areConnectedThroughProperties(this._editor, error.context, this._excludedProps);\n }\n /**\n\t * Clones the editor configuration.\n\t */ _cloneEditorConfiguration(config) {\n return cloneDeepWith(config, (value, key)=>{\n // Leave DOM references.\n if (isElement(value)) {\n return value;\n }\n if (key === 'context') {\n return value;\n }\n });\n }\n}\n/**\n * Internal plugin that is used to stop the default editor initialization and restoring the editor state\n * based on the `editor.config._watchdogInitialData` data.\n */ class EditorWatchdogInitPlugin {\n editor;\n _data;\n constructor(editor){\n this.editor = editor;\n this._data = editor.config.get('_watchdogInitialData');\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n // Stops the default editor initialization and use the saved data to restore the editor state.\n // Some of data could not be initialize as a config properties. It is important to keep the data\n // in the same form as it was before the restarting.\n this.editor.data.on('init', (evt)=>{\n evt.stop();\n this.editor.model.enqueueChange({\n isUndoable: false\n }, (writer)=>{\n this._restoreCollaborationData();\n this._restoreEditorData(writer);\n });\n this.editor.data.fire('ready');\n // Keep priority `'high' - 1` to be sure that RTC initialization will be first.\n }, {\n priority: 1000 - 1\n });\n }\n /**\n\t * Creates a model node (element or text) based on provided JSON.\n\t */ _createNode(writer, jsonNode) {\n if ('name' in jsonNode) {\n // If child has name property, it is an Element.\n const element = writer.createElement(jsonNode.name, jsonNode.attributes);\n if (jsonNode.children) {\n for (const child of jsonNode.children){\n element._appendChild(this._createNode(writer, child));\n }\n }\n return element;\n } else {\n // Otherwise, it is a Text node.\n return writer.createText(jsonNode.data, jsonNode.attributes);\n }\n }\n /**\n\t * Restores the editor by setting the document data, roots attributes and markers.\n\t */ _restoreEditorData(writer) {\n const editor = this.editor;\n Object.entries(this._data.roots).forEach(([rootName, { content, attributes }])=>{\n const parsedNodes = JSON.parse(content);\n const parsedAttributes = JSON.parse(attributes);\n const rootElement = editor.model.document.getRoot(rootName);\n for (const [key, value] of parsedAttributes){\n writer.setAttribute(key, value, rootElement);\n }\n for (const child of parsedNodes){\n const node = this._createNode(writer, child);\n writer.insert(node, rootElement, 'end');\n }\n });\n Object.entries(this._data.markers).forEach(([markerName, markerOptions])=>{\n const { document } = editor.model;\n const { rangeJSON: { start, end }, ...options } = markerOptions;\n const root = document.getRoot(start.root);\n const startPosition = writer.createPositionFromPath(root, start.path, start.stickiness);\n const endPosition = writer.createPositionFromPath(root, end.path, end.stickiness);\n const range = writer.createRange(startPosition, endPosition);\n writer.addMarker(markerName, {\n range,\n ...options\n });\n });\n }\n /**\n\t * Restores the editor collaboration data - comment threads and suggestions.\n\t */ _restoreCollaborationData() {\n // `as any` to avoid linking from external private repo.\n const parsedCommentThreads = JSON.parse(this._data.commentThreads);\n const parsedSuggestions = JSON.parse(this._data.suggestions);\n parsedCommentThreads.forEach((commentThreadData)=>{\n const channelId = this.editor.config.get('collaboration.channelId');\n const commentsRepository = this.editor.plugins.get('CommentsRepository');\n if (commentsRepository.hasCommentThread(commentThreadData.threadId)) {\n const commentThread = commentsRepository.getCommentThread(commentThreadData.threadId);\n commentThread.remove();\n }\n commentsRepository.addCommentThread({\n channelId,\n ...commentThreadData\n });\n });\n parsedSuggestions.forEach((suggestionData)=>{\n const trackChangesEditing = this.editor.plugins.get('TrackChangesEditing');\n if (trackChangesEditing.hasSuggestion(suggestionData.id)) {\n const suggestion = trackChangesEditing.getSuggestion(suggestionData.id);\n suggestion.attributes = suggestionData.attributes;\n } else {\n trackChangesEditing.addSuggestionData(suggestionData);\n }\n });\n }\n}\n\nconst mainQueueId = Symbol('MainQueueId');\n/**\n * A watchdog for the {@link module:core/context~Context} class.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */ class ContextWatchdog extends Watchdog {\n /**\n\t * A map of internal watchdogs for added items.\n\t */ _watchdogs = new Map();\n /**\n\t * The watchdog configuration.\n\t */ _watchdogConfig;\n /**\n\t * The current context instance.\n\t */ _context = null;\n /**\n\t * Context properties (nodes/references) that are gathered during the initial context creation\n\t * and are used to distinguish the origin of an error.\n\t */ _contextProps = new Set();\n /**\n\t * An action queue, which is used to handle async functions queuing.\n\t */ _actionQueues = new ActionQueues();\n /**\n\t * The configuration for the {@link module:core/context~Context}.\n\t */ _contextConfig;\n /**\n\t * The watched item.\n\t */ _item;\n /**\n\t * The context watchdog class constructor.\n\t *\n\t * ```ts\n\t * const watchdog = new ContextWatchdog( Context );\n\t *\n\t * await watchdog.create( contextConfiguration );\n\t *\n\t * await watchdog.add( item );\n\t * ```\n\t *\n\t * See the {@glink features/watchdog Watchdog feature guide} to learn more how to use this feature.\n\t *\n\t * @param Context The {@link module:core/context~Context} class.\n\t * @param watchdogConfig The watchdog configuration.\n\t */ constructor(Context, watchdogConfig = {}){\n super(watchdogConfig);\n this._watchdogConfig = watchdogConfig;\n // Default creator and destructor.\n this._creator = (contextConfig)=>Context.create(contextConfig);\n this._destructor = (context)=>context.destroy();\n this._actionQueues.onEmpty(()=>{\n if (this.state === 'initializing') {\n this.state = 'ready';\n this._fire('stateChange');\n }\n });\n }\n /**\n\t * Sets the function that is responsible for the context creation.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setCreator( config => Context.create( config ) );\n\t * ```\n\t */ setCreator(creator) {\n this._creator = creator;\n }\n /**\n\t * Sets the function that is responsible for the context destruction.\n\t * Overrides the default destruction function, which destroys only the context instance.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( context => {\n\t * \t// Do something before the context is destroyed.\n\t *\n\t * \treturn context\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the context is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */ setDestructor(destructor) {\n this._destructor = destructor;\n }\n /**\n\t * The context instance. Keep in mind that this property might be changed when the context watchdog restarts,\n\t * so do not keep this instance internally. Always operate on the `ContextWatchdog#context` property.\n\t */ get context() {\n return this._context;\n }\n /**\n\t * Initializes the context watchdog. Once it is created, the watchdog takes care about\n\t * recreating the context and the provided items, and starts the error handling mechanism.\n\t *\n\t * ```ts\n\t * await watchdog.create( {\n\t * \tplugins: []\n\t * } );\n\t * ```\n\t *\n\t * @param contextConfig The context configuration. See {@link module:core/context~Context}.\n\t */ create(contextConfig = {}) {\n return this._actionQueues.enqueue(mainQueueId, ()=>{\n this._contextConfig = contextConfig;\n return this._create();\n });\n }\n /**\n\t * Returns an item instance with the given `itemId`.\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId The item ID.\n\t * @returns The item instance or `undefined` if an item with a given ID has not been found.\n\t */ getItem(itemId) {\n const watchdog = this._getWatchdog(itemId);\n return watchdog._item;\n }\n /**\n\t * Gets the state of the given item. See {@link #state} for a list of available states.\n\t *\n\t * ```ts\n\t * const editor1State = watchdog.getItemState( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId Item ID.\n\t * @returns The state of the item.\n\t */ getItemState(itemId) {\n const watchdog = this._getWatchdog(itemId);\n return watchdog.state;\n }\n /**\n\t * Adds items to the watchdog. Once created, instances of these items will be available using the {@link #getItem} method.\n\t *\n\t * Items can be passed together as an array of objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( [ {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * } ] );\n\t * ```\n\t *\n\t * Or one by one as objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * ] );\n\t * ```\n\t *\n\t * Then an instance can be retrieved using the {@link #getItem} method:\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * Note that this method can be called multiple times, but for performance reasons it is better\n\t * to pass all items together.\n\t *\n\t * @param itemConfigurationOrItemConfigurations An item configuration object or an array of item configurations.\n\t */ add(itemConfigurationOrItemConfigurations) {\n const itemConfigurations = toArray(itemConfigurationOrItemConfigurations);\n return Promise.all(itemConfigurations.map((item)=>{\n return this._actionQueues.enqueue(item.id, ()=>{\n if (this.state === 'destroyed') {\n throw new Error('Cannot add items to destroyed watchdog.');\n }\n if (!this._context) {\n throw new Error('Context was not created yet. You should call the `ContextWatchdog#create()` method first.');\n }\n let watchdog;\n if (this._watchdogs.has(item.id)) {\n throw new Error(`Item with the given id is already added: '${item.id}'.`);\n }\n if (item.type === 'editor') {\n watchdog = new EditorWatchdog(null, this._watchdogConfig);\n watchdog.setCreator(item.creator);\n watchdog._setExcludedProperties(this._contextProps);\n if (item.destructor) {\n watchdog.setDestructor(item.destructor);\n }\n this._watchdogs.set(item.id, watchdog);\n // Enqueue the internal watchdog errors within the main queue.\n // And propagate the internal `error` events as `itemError` event.\n watchdog.on('error', (evt, { error, causesRestart })=>{\n this._fire('itemError', {\n itemId: item.id,\n error\n });\n // Do not enqueue the item restart action if the item will not restart.\n if (!causesRestart) {\n return;\n }\n this._actionQueues.enqueue(item.id, ()=>new Promise((res)=>{\n const rethrowRestartEventOnce = ()=>{\n watchdog.off('restart', rethrowRestartEventOnce);\n this._fire('itemRestart', {\n itemId: item.id\n });\n res();\n };\n watchdog.on('restart', rethrowRestartEventOnce);\n }));\n });\n return watchdog.create(item.sourceElementOrData, item.config, this._context);\n } else {\n throw new Error(`Not supported item type: '${item.type}'.`);\n }\n });\n }));\n }\n /**\n\t * Removes and destroys item(s) with given ID(s).\n\t *\n\t * ```ts\n\t * await watchdog.remove( 'editor1' );\n\t * ```\n\t *\n\t * Or\n\t *\n\t * ```ts\n\t * await watchdog.remove( [ 'editor1', 'editor2' ] );\n\t * ```\n\t *\n\t * @param itemIdOrItemIds Item ID or an array of item IDs.\n\t */ remove(itemIdOrItemIds) {\n const itemIds = toArray(itemIdOrItemIds);\n return Promise.all(itemIds.map((itemId)=>{\n return this._actionQueues.enqueue(itemId, ()=>{\n const watchdog = this._getWatchdog(itemId);\n this._watchdogs.delete(itemId);\n return watchdog.destroy();\n });\n }));\n }\n /**\n\t * Destroys the context watchdog and all added items.\n\t * Once the context watchdog is destroyed, new items cannot be added.\n\t *\n\t * ```ts\n\t * await watchdog.destroy();\n\t * ```\n\t */ destroy() {\n return this._actionQueues.enqueue(mainQueueId, ()=>{\n this.state = 'destroyed';\n this._fire('stateChange');\n super.destroy();\n return this._destroy();\n });\n }\n /**\n\t * Restarts the context watchdog.\n\t */ _restart() {\n return this._actionQueues.enqueue(mainQueueId, ()=>{\n this.state = 'initializing';\n this._fire('stateChange');\n return this._destroy().catch((err)=>{\n console.error('An error happened during destroying the context or items.', err);\n }).then(()=>this._create()).then(()=>this._fire('restart'));\n });\n }\n /**\n\t * Initializes the context watchdog.\n\t */ _create() {\n return Promise.resolve().then(()=>{\n this._startErrorHandling();\n return this._creator(this._contextConfig);\n }).then((context)=>{\n this._context = context;\n this._contextProps = getSubNodes(this._context);\n return Promise.all(Array.from(this._watchdogs.values()).map((watchdog)=>{\n watchdog._setExcludedProperties(this._contextProps);\n return watchdog.create(undefined, undefined, this._context);\n }));\n });\n }\n /**\n\t * Destroys the context instance and all added items.\n\t */ _destroy() {\n return Promise.resolve().then(()=>{\n this._stopErrorHandling();\n const context = this._context;\n this._context = null;\n this._contextProps = new Set();\n return Promise.all(Array.from(this._watchdogs.values()).map((watchdog)=>watchdog.destroy()))// Context destructor destroys each editor.\n .then(()=>this._destructor(context));\n });\n }\n /**\n\t * Returns the watchdog for a given item ID.\n\t *\n\t * @param itemId Item ID.\n\t */ _getWatchdog(itemId) {\n const watchdog = this._watchdogs.get(itemId);\n if (!watchdog) {\n throw new Error(`Item with the given id was not registered: ${itemId}.`);\n }\n return watchdog;\n }\n /**\n\t * Checks whether an error comes from the context instance and not from the item instances.\n\t *\n\t * @internal\n\t */ _isErrorComingFromThisItem(error) {\n for (const watchdog of this._watchdogs.values()){\n if (watchdog._isErrorComingFromThisItem(error)) {\n return false;\n }\n }\n return areConnectedThroughProperties(this._context, error.context);\n }\n}\n/**\n * Manager of action queues that allows queuing async functions.\n */ class ActionQueues {\n _onEmptyCallbacks = [];\n _queues = new Map();\n _activeActions = 0;\n /**\n\t * Used to register callbacks that will be run when the queue becomes empty.\n\t *\n\t * @param onEmptyCallback A callback that will be run whenever the queue becomes empty.\n\t */ onEmpty(onEmptyCallback) {\n this._onEmptyCallbacks.push(onEmptyCallback);\n }\n /**\n\t * It adds asynchronous actions (functions) to the proper queue and runs them one by one.\n\t *\n\t * @param queueId The action queue ID.\n\t * @param action A function that should be enqueued.\n\t */ enqueue(queueId, action) {\n const isMainAction = queueId === mainQueueId;\n this._activeActions++;\n if (!this._queues.get(queueId)) {\n this._queues.set(queueId, Promise.resolve());\n }\n // List all sources of actions that the current action needs to await for.\n // For the main action wait for all other actions.\n // For the item action wait only for the item queue and the main queue.\n const awaitedActions = isMainAction ? Promise.all(this._queues.values()) : Promise.all([\n this._queues.get(mainQueueId),\n this._queues.get(queueId)\n ]);\n const queueWithAction = awaitedActions.then(action);\n // Catch all errors in the main queue to stack promises even if an error occurred in the past.\n const nonErrorQueue = queueWithAction.catch(()=>{});\n this._queues.set(queueId, nonErrorQueue);\n return queueWithAction.finally(()=>{\n this._activeActions--;\n if (this._queues.get(queueId) === nonErrorQueue && this._activeActions === 0) {\n this._onEmptyCallbacks.forEach((cb)=>cb());\n }\n });\n }\n}\n/**\n * Transforms any value to an array. If the provided value is already an array, it is returned unchanged.\n *\n * @param elementOrArray The value to transform to an array.\n * @returns An array created from data.\n */ function toArray(elementOrArray) {\n return Array.isArray(elementOrArray) ? elementOrArray : [\n elementOrArray\n ];\n}\n\nexport { ContextWatchdog, EditorWatchdog, Watchdog };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/watchdog\n */\n\nimport type { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport type { EditorWatchdogRestartEvent } from './editorwatchdog.js';\nimport type { ContextWatchdogItemErrorEvent, ContextWatchdogItemRestartEvent } from './contextwatchdog.js';\n\n/**\n * An abstract watchdog class that handles most of the error handling process and the state of the underlying component.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and how to use it.\n *\n * @internal\n */\nexport abstract class Watchdog {\n\t/**\n\t * An array of crashes saved as an object with the following properties:\n\t *\n\t * * `message`: `String`,\n\t * * `stack`: `String`,\n\t * * `date`: `Number`,\n\t * * `filename`: `String | undefined`,\n\t * * `lineno`: `Number | undefined`,\n\t * * `colno`: `Number | undefined`,\n\t */\n\tpublic readonly crashes: Array<{\n\t\tmessage: string;\n\t\tstack?: string;\n\t\tdate: number;\n\n\t\t// `evt.filename`, `evt.lineno` and `evt.colno` are available only in ErrorEvent events\n\t\tfilename?: string;\n\t\tlineno?: number;\n\t\tcolno?: number;\n\t}> = [];\n\n\t/**\n\t * Specifies the state of the item watched by the watchdog. The state can be one of the following values:\n\t *\n\t * * `initializing` – Before the first initialization, and after crashes, before the item is ready.\n\t * * `ready` – A state when the user can interact with the item.\n\t * * `crashed` – A state when an error occurs. It quickly changes to `initializing` or `crashedPermanently`\n\t * depending on how many and how frequent errors have been caught recently.\n\t * * `crashedPermanently` – A state when the watchdog stops reacting to errors and keeps the item it is watching crashed,\n\t * * `destroyed` – A state when the item is manually destroyed by the user after calling `watchdog.destroy()`.\n\t */\n\tpublic state: WatchdogState = 'initializing';\n\n\t/**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */\n\tprivate _crashNumberLimit: number;\n\n\t/**\n\t * Returns the result of the `Date.now()` call. It can be overridden in tests to mock time as some popular\n\t * approaches like `sinon.useFakeTimers()` do not work well with error handling.\n\t */\n\tprivate _now = Date.now;\n\n\t/**\n\t * @see module:watchdog/watchdog~WatchdogConfig\n\t */\n\tprivate _minimumNonErrorTimePeriod: number;\n\n\t/**\n\t * Checks if the event error comes from the underlying item and restarts the item.\n\t */\n\tprivate _boundErrorHandler: ( evt: ErrorEvent | PromiseRejectionEvent ) => void;\n\n\t/**\n\t * The method responsible for restarting the watched item.\n\t */\n\tprotected abstract _restart(): Promise<unknown>;\n\n\t/**\n\t * Traverses the error context and the watched item to find out whether the error should\n\t * be handled by the given item.\n\t *\n\t * @internal\n\t */\n\tpublic abstract _isErrorComingFromThisItem( error: CKEditorError ): boolean;\n\n\t/**\n\t * The watched item.\n\t *\n\t * @internal\n\t */\n\tpublic abstract get _item(): unknown;\n\n\t/**\n\t * A dictionary of event emitter listeners.\n\t */\n\tprivate _listeners: Record<string, Array<( ...args: any ) => void>>;\n\n\t/**\n\t * @param {module:watchdog/watchdog~WatchdogConfig} config The watchdog plugin configuration.\n\t */\n\tconstructor( config: WatchdogConfig ) {\n\t\tthis.crashes = [];\n\t\tthis._crashNumberLimit = typeof config.crashNumberLimit === 'number' ? config.crashNumberLimit : 3;\n\t\tthis._minimumNonErrorTimePeriod = typeof config.minimumNonErrorTimePeriod === 'number' ? config.minimumNonErrorTimePeriod : 5000;\n\n\t\tthis._boundErrorHandler = evt => {\n\t\t\t// `evt.error` is exposed by EventError while `evt.reason` is available in PromiseRejectionEvent.\n\t\t\tconst error = 'error' in evt ? evt.error : evt.reason;\n\n\t\t\t// Note that `evt.reason` might be everything that is in the promise rejection.\n\t\t\t// Similarly everything that is thrown lands in `evt.error`.\n\t\t\tif ( error instanceof Error ) {\n\t\t\t\tthis._handleError( error, evt );\n\t\t\t}\n\t\t};\n\n\t\tthis._listeners = {};\n\n\t\tif ( !( this as any )._restart ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. ' +\n\t\t\t\t'Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.'\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Destroys the watchdog and releases the resources.\n\t */\n\tpublic destroy(): void {\n\t\tthis._stopErrorHandling();\n\n\t\tthis._listeners = {};\n\t}\n\n\t/**\n\t * Starts listening to a specific event name by registering a callback that will be executed\n\t * whenever an event with a given name fires.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be added to event listeners.\n\t */\n\tpublic on<K extends keyof EventMap>( eventName: K, callback: EventCallback<K> ): void {\n\t\tif ( !this._listeners[ eventName ] ) {\n\t\t\tthis._listeners[ eventName ] = [];\n\t\t}\n\n\t\tthis._listeners[ eventName ].push( callback );\n\t}\n\n\t/**\n\t * Stops listening to the specified event name by removing the callback from event listeners.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t *\n\t * @param eventName The event name.\n\t * @param callback A callback which will be removed from event listeners.\n\t */\n\tpublic off( eventName: keyof EventMap, callback: unknown ): void {\n\t\tthis._listeners[ eventName ] = this._listeners[ eventName ]\n\t\t\t.filter( cb => cb !== callback );\n\t}\n\n\t/**\n\t * Fires an event with a given event name and arguments.\n\t *\n\t * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n\t */\n\tprotected _fire<K extends keyof EventMap>( eventName: K, ...args: EventArgs<K> ): void {\n\t\tconst callbacks = this._listeners[ eventName ] || [];\n\n\t\tfor ( const callback of callbacks ) {\n\t\t\tcallback.apply( this, [ null, ...args ] );\n\t\t}\n\t}\n\n\t/**\n\t * Starts error handling by attaching global error handlers.\n\t */\n\tprotected _startErrorHandling(): void {\n\t\twindow.addEventListener( 'error', this._boundErrorHandler );\n\t\twindow.addEventListener( 'unhandledrejection', this._boundErrorHandler );\n\t}\n\n\t/**\n\t * Stops error handling by detaching global error handlers.\n\t */\n\tprotected _stopErrorHandling(): void {\n\t\twindow.removeEventListener( 'error', this._boundErrorHandler );\n\t\twindow.removeEventListener( 'unhandledrejection', this._boundErrorHandler );\n\t}\n\n\t/**\n\t * Checks if an error comes from the watched item and restarts it.\n\t * It reacts to {@link module:utils/ckeditorerror~CKEditorError `CKEditorError` errors} only.\n\t *\n\t * @fires error\n\t * @param error Error.\n\t * @param evt An error event.\n\t */\n\tprivate _handleError( error: Error, evt: ErrorEvent | PromiseRejectionEvent ): void {\n\t\t// @if CK_DEBUG // const err = error as CKEditorError;\n\t\t// @if CK_DEBUG // if ( err.is && err.is( 'CKEditorError' ) && err.context === undefined ) {\n\t\t// @if CK_DEBUG // console.warn( 'The error is missing its context and Watchdog cannot restart the proper item.' );\n\t\t// @if CK_DEBUG // }\n\n\t\tif ( this._shouldReactToError( error ) ) {\n\t\t\tthis.crashes.push( {\n\t\t\t\tmessage: error.message,\n\t\t\t\tstack: error.stack,\n\n\t\t\t\t// `evt.filename`, `evt.lineno` and `evt.colno` are available only in ErrorEvent events\n\t\t\t\tfilename: evt instanceof ErrorEvent ? evt.filename : undefined,\n\t\t\t\tlineno: evt instanceof ErrorEvent ? evt.lineno : undefined,\n\t\t\t\tcolno: evt instanceof ErrorEvent ? evt.colno : undefined,\n\t\t\t\tdate: this._now()\n\t\t\t} );\n\n\t\t\tconst causesRestart = this._shouldRestart();\n\n\t\t\tthis.state = 'crashed';\n\t\t\tthis._fire( 'stateChange' );\n\t\t\tthis._fire( 'error', { error, causesRestart } );\n\n\t\t\tif ( causesRestart ) {\n\t\t\t\tthis._restart();\n\t\t\t} else {\n\t\t\t\tthis.state = 'crashedPermanently';\n\t\t\t\tthis._fire( 'stateChange' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks whether an error should be handled by the watchdog.\n\t *\n\t * @param error An error that was caught by the error handling process.\n\t */\n\tprivate _shouldReactToError( error: Error ): boolean {\n\t\treturn (\n\t\t\t( error as any ).is &&\n\t\t\t( error as any ).is( 'CKEditorError' ) &&\n\t\t\t( error as CKEditorError ).context !== undefined &&\n\n\t\t\t// In some cases the watched item should not be restarted - e.g. during the item initialization.\n\t\t\t// That's why the `null` was introduced as a correct error context which does cause restarting.\n\t\t\t( error as CKEditorError ).context !== null &&\n\n\t\t\t// Do not react to errors if the watchdog is in states other than `ready`.\n\t\t\tthis.state === 'ready' &&\n\n\t\t\tthis._isErrorComingFromThisItem( error as CKEditorError )\n\t\t);\n\t}\n\n\t/**\n\t * Checks if the watchdog should restart the underlying item.\n\t */\n\tprivate _shouldRestart(): boolean {\n\t\tif ( this.crashes.length <= this._crashNumberLimit ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst lastErrorTime = this.crashes[ this.crashes.length - 1 ].date;\n\t\tconst firstMeaningfulErrorTime = this.crashes[ this.crashes.length - 1 - this._crashNumberLimit ].date;\n\n\t\tconst averageNonErrorTimePeriod = ( lastErrorTime - firstMeaningfulErrorTime ) / this._crashNumberLimit;\n\n\t\treturn averageNonErrorTimePeriod > this._minimumNonErrorTimePeriod;\n\t}\n}\n\n/**\n * Fired when a new {@link module:utils/ckeditorerror~CKEditorError `CKEditorError`} error connected to the watchdog instance occurs\n * and the watchdog will react to it.\n *\n * ```ts\n * watchdog.on( 'error', ( evt, { error, causesRestart } ) => {\n * \tconsole.log( 'An error occurred.' );\n * } );\n * ```\n *\n * @eventName ~Watchdog#error\n */\nexport type WatchdogErrorEvent = {\n\tname: 'error';\n\targs: [ WatchdogErrorEventData ];\n};\n\n/**\n * The `error` event data.\n */\nexport type WatchdogErrorEventData = {\n\terror: Error;\n\tcausesRestart: boolean;\n};\n\n/**\n * Fired when the watchdog state changed.\n *\n * @eventName ~Watchdog#stateChange\n */\nexport type WatchdogStateChangeEvent = {\n\tname: 'stateChange';\n\targs: [];\n};\n\n/**\n * The map of watchdog events.\n */\nexport interface EventMap {\n\tstateChange: WatchdogStateChangeEvent;\n\terror: WatchdogErrorEvent;\n\trestart: EditorWatchdogRestartEvent;\n\titemError: ContextWatchdogItemErrorEvent;\n\titemRestart: ContextWatchdogItemRestartEvent;\n}\n\n/**\n * Utility type that gets the arguments type for the given event.\n */\nexport type EventArgs<K extends keyof EventMap> = EventMap[ K ][ 'args' ];\n\n/**\n * Utility type that gets the callback type for the given event.\n */\nexport type EventCallback<K extends keyof EventMap> = ( evt: null, ...args: EventArgs<K> ) => void;\n\n/**\n * The watchdog plugin configuration.\n */\nexport interface WatchdogConfig {\n\n\t/**\n\t * A threshold specifying the number of watched item crashes\n\t * when the watchdog stops restarting the item in case of errors.\n\t * After this limit is reached and the time between the last errors is shorter than `minimumNonErrorTimePeriod`,\n\t * the watchdog changes its state to `crashedPermanently` and it stops restarting the item. This prevents an infinite restart loop.\n\t *\n\t * @default 3\n\t */\n\tcrashNumberLimit?: number;\n\n\t/**\n\t * An average number of milliseconds between the last watched item errors\n\t * (defaults to 5000). When the period of time between errors is lower than that and the `crashNumberLimit` is also reached,\n\t * the watchdog changes its state to `crashedPermanently` and it stops restarting the item. This prevents an infinite restart loop.\n\t *\n\t * @default 5000\n\t */\n\tminimumNonErrorTimePeriod?: number;\n\n\t/**\n\t * A minimum number of milliseconds between saving the editor data internally (defaults to 5000).\n\t * Note that for large documents this might impact the editor performance.\n\t *\n\t * @default 5000\n\t */\n\tsaveInterval?: number;\n}\n\n/**\n * Specifies the state of the item watched by the watchdog.\n */\nexport type WatchdogState = 'initializing' | 'ready' | 'crashed' | 'crashedPermanently' | 'destroyed';\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/utils/getsubnodes\n */\n\n/**\n * @internal\n */\nexport function getSubNodes( head: unknown, excludedProperties = new Set() ): Set<unknown> {\n\tconst nodes = [ head ];\n\n\t// @if CK_DEBUG_WATCHDOG // const prevNodeMap = new Map();\n\n\t// Nodes are stored to prevent infinite looping.\n\tconst subNodes = new Set();\n\tlet nodeIndex = 0;\n\n\twhile ( nodes.length > nodeIndex ) {\n\t\t// Incrementing the iterator is much faster than changing size of the array with Array.prototype.shift().\n\t\tconst node = nodes[ nodeIndex++ ];\n\n\t\tif ( subNodes.has( node ) || !shouldNodeBeIncluded( node ) || excludedProperties.has( node ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tsubNodes.add( node );\n\n\t\t// Handle arrays, maps, sets, custom collections that implements `[ Symbol.iterator ]()`, etc.\n\t\tif ( Symbol.iterator in node ) {\n\t\t\t// The custom editor iterators might cause some problems if the editor is crashed.\n\t\t\ttry {\n\t\t\t\tfor ( const n of node as Iterable<unknown> ) {\n\t\t\t\t\tnodes.push( n );\n\n\t\t\t\t\t// @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( n ) ) {\n\t\t\t\t\t// @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( n, node );\n\t\t\t\t\t// @if CK_DEBUG_WATCHDOG // }\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// Do not log errors for broken structures\n\t\t\t\t// since we are in the error handling process already.\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( const key in node ) {\n\t\t\t\t// We share a reference via the protobuf library within the editors,\n\t\t\t\t// hence the shared value should be skipped. Although, it's not a perfect\n\t\t\t\t// solution since new places like that might occur in the future.\n\t\t\t\tif ( key === 'defaultValue' ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tnodes.push( node[ key ] );\n\n\t\t\t\t// @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( node[ key ] ) ) {\n\t\t\t\t// @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( node[ key ], node );\n\t\t\t\t// @if CK_DEBUG_WATCHDOG // }\n\t\t\t}\n\t\t}\n\t}\n\n\t// @if CK_DEBUG_WATCHDOG // return { subNodes, prevNodeMap } as any;\n\n\treturn subNodes;\n}\n\nfunction shouldNodeBeIncluded( node: unknown ): node is Record<string, unknown> | Iterable<unknown> {\n\tconst type = Object.prototype.toString.call( node );\n\tconst typeOfNode = typeof node;\n\n\treturn !(\n\t\ttypeOfNode === 'number' ||\n\t\ttypeOfNode === 'boolean' ||\n\t\ttypeOfNode === 'string' ||\n\t\ttypeOfNode === 'symbol' ||\n\t\ttypeOfNode === 'function' ||\n\t\ttype === '[object Date]' ||\n\t\ttype === '[object RegExp]' ||\n\t\ttype === '[object Module]' ||\n\n\t\tnode === undefined ||\n\t\tnode === null ||\n\n\t\t// This flag is meant to exclude singletons shared across editor instances. So when an error is thrown in one editor,\n\t\t// the other editors connected through the reference to the same singleton are not restarted. This is a temporary workaround\n\t\t// until a better solution is found.\n\t\t// More in https://github.com/ckeditor/ckeditor5/issues/12292.\n\t\t( node as any )._watchdogExcluded ||\n\n\t\t// Skip native DOM objects, e.g. Window, nodes, events, etc.\n\t\tnode instanceof EventTarget ||\n\t\tnode instanceof Event\n\t);\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/utils/areconnectedthroughproperties\n */\n\nimport { getSubNodes } from './getsubnodes.js';\n\n/**\n * Traverses both structures to find out whether there is a reference that is shared between both structures.\n *\n * @internal\n */\nexport function areConnectedThroughProperties( target1: unknown, target2: unknown, excludedNodes = new Set() ): boolean {\n\tif ( target1 === target2 && isObject( target1 ) ) {\n\t\treturn true;\n\t}\n\n\t// @if CK_DEBUG_WATCHDOG // return checkConnectionBetweenProps( target1, target2, excludedNodes );\n\n\tconst subNodes1 = getSubNodes( target1, excludedNodes );\n\tconst subNodes2 = getSubNodes( target2, excludedNodes );\n\n\tfor ( const node of subNodes1 ) {\n\t\tif ( subNodes2.has( node ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/* istanbul ignore next -- @preserve */\n// eslint-disable-next-line\nfunction checkConnectionBetweenProps( target1: unknown, target2: unknown, excludedNodes: any ) {\n\tconst { subNodes: subNodes1, prevNodeMap: prevNodeMap1 } = getSubNodes( target1, excludedNodes.subNodes ) as any;\n\tconst { subNodes: subNodes2, prevNodeMap: prevNodeMap2 } = getSubNodes( target2, excludedNodes.subNodes ) as any;\n\n\tfor ( const sharedNode of subNodes1 ) {\n\t\tif ( subNodes2.has( sharedNode ) ) {\n\t\t\tconst connection = [];\n\n\t\t\tconnection.push( sharedNode );\n\n\t\t\tlet node = prevNodeMap1.get( sharedNode );\n\n\t\t\twhile ( node && node !== target1 ) {\n\t\t\t\tconnection.push( node );\n\t\t\t\tnode = prevNodeMap1.get( node );\n\t\t\t}\n\n\t\t\tnode = prevNodeMap2.get( sharedNode );\n\n\t\t\twhile ( node && node !== target2 ) {\n\t\t\t\tconnection.unshift( node );\n\t\t\t\tnode = prevNodeMap2.get( node );\n\t\t\t}\n\n\t\t\tconsole.log( '--------' );\n\t\t\tconsole.log( { target1 } );\n\t\t\tconsole.log( { sharedNode } );\n\t\t\tconsole.log( { target2 } );\n\t\t\tconsole.log( { connection } );\n\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction isObject( structure: unknown ): boolean {\n\treturn typeof structure === 'object' && structure !== null;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/editorwatchdog\n */\n\nimport { throttle, cloneDeepWith, isElement, type DebouncedFunc } from 'es-toolkit/compat';\nimport { areConnectedThroughProperties } from './utils/areconnectedthroughproperties.js';\nimport { Watchdog, type WatchdogConfig } from './watchdog.js';\nimport type { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport type { ModelNode, ModelText, ModelElement, ModelWriter } from '@ckeditor/ckeditor5-engine';\nimport type { Editor, EditorConfig, Context, EditorReadyEvent } from '@ckeditor/ckeditor5-core';\nimport type { RootAttributes } from '@ckeditor/ckeditor5-editor-multi-root';\n\n/**\n * A watchdog for CKEditor 5 editors.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */\nexport class EditorWatchdog<TEditor extends Editor = Editor> extends Watchdog {\n\t/**\n\t * The current editor instance.\n\t */\n\tprivate _editor: TEditor | null = null;\n\n\t/**\n\t * A promise associated with the life cycle of the editor (creation or destruction processes).\n\t *\n\t * It is used to prevent the initialization of the editor if the previous instance has not been destroyed yet,\n\t * and conversely, to prevent the destruction of the editor if it has not been initialized.\n\t */\n\tprivate _lifecyclePromise: Promise<unknown> | null = null;\n\n\t/**\n\t * Throttled save method. The `save()` method is called the specified `saveInterval` after `throttledSave()` is called,\n\t * unless a new action happens in the meantime.\n\t */\n\tprivate _throttledSave: DebouncedFunc<() => void>;\n\n\t/**\n\t * The latest saved editor data represented as a root name -> root data object.\n\t */\n\tprivate _data?: EditorData;\n\n\t/**\n\t * The last document version.\n\t */\n\tprivate _lastDocumentVersion?: number;\n\n\t/**\n\t * The editor source element or data.\n\t */\n\tprivate _elementOrData?: HTMLElement | string | Record<string, string> | Record<string, HTMLElement>;\n\n\t/**\n\t * Specifies whether the editor was initialized using document data (`true`) or HTML elements (`false`).\n\t */\n\tprivate _initUsingData = true;\n\n\t/**\n\t * The latest record of the editor editable elements. Used to restart the editor.\n\t */\n\tprivate _editables: Record<string, HTMLElement> = {};\n\n\t/**\n\t * The editor configuration.\n\t */\n\tprivate _config?: EditorConfig;\n\n\t/**\n\t * The creation method.\n\t *\n\t * @see #setCreator\n\t */\n\tdeclare protected _creator: EditorWatchdogCreatorFunction<TEditor>;\n\n\t/**\n\t * The destruction method.\n\t *\n\t * @see #setDestructor\n\t */\n\tdeclare protected _destructor: ( editor: Editor ) => Promise<unknown>;\n\n\tprivate _excludedProps?: Set<unknown>;\n\n\t/**\n\t * @param Editor The editor class.\n\t * @param watchdogConfig The watchdog plugin configuration.\n\t */\n\tconstructor( Editor: { create( ...args: any ): Promise<TEditor> } | null, watchdogConfig: WatchdogConfig = {} ) {\n\t\tsuper( watchdogConfig );\n\n\t\t// this._editorClass = Editor;\n\n\t\tthis._throttledSave = throttle(\n\t\t\tthis._save.bind( this ),\n\t\t\ttypeof watchdogConfig.saveInterval === 'number' ? watchdogConfig.saveInterval : 5000\n\t\t);\n\n\t\t// Set default creator and destructor functions:\n\t\tif ( Editor ) {\n\t\t\tthis._creator = ( ( elementOrData, config ) => Editor.create( elementOrData, config ) );\n\t\t}\n\n\t\tthis._destructor = editor => editor.destroy();\n\t}\n\n\t/**\n\t * The current editor instance.\n\t */\n\tpublic get editor(): TEditor | null {\n\t\treturn this._editor;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic get _item(): TEditor | null {\n\t\treturn this._editor;\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the editor creation.\n\t * It expects a function that should return a promise.\n\t *\n\t * ```ts\n\t * watchdog.setCreator( ( element, config ) => ClassicEditor.create( element, config ) );\n\t * ```\n\t */\n\tpublic setCreator( creator: EditorWatchdogCreatorFunction<TEditor> ): void {\n\t\tthis._creator = creator;\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the editor destruction.\n\t * Overrides the default destruction function, which destroys only the editor instance.\n\t * It expects a function that should return a promise or `undefined`.\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( editor => {\n\t * \t// Do something before the editor is destroyed.\n\t *\n\t * \treturn editor\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the editor is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */\n\tpublic setDestructor( destructor: ( editor: Editor ) => Promise<unknown> ): void {\n\t\tthis._destructor = destructor;\n\t}\n\n\t/**\n\t * Restarts the editor instance. This method is called whenever an editor error occurs. It fires the `restart` event and changes\n\t * the state to `initializing`.\n\t *\n\t * @fires restart\n\t */\n\tprotected override _restart(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis.state = 'initializing';\n\t\t\t\tthis._fire( 'stateChange' );\n\n\t\t\t\treturn this._destroy();\n\t\t\t} )\n\t\t\t.catch( err => {\n\t\t\t\tconsole.error( 'An error happened during the editor destroying.', err );\n\t\t\t} )\n\t\t\t.then( () => {\n\t\t\t\t// Pre-process some data from the original editor config.\n\t\t\t\t// Our goal here is to make sure that the restarted editor will be reinitialized with correct set of roots.\n\t\t\t\t// We are not interested in any data set in config or in `.create()` first parameter. It will be replaced anyway.\n\t\t\t\t// But we need to set them correctly to make sure that proper roots are created.\n\t\t\t\t//\n\t\t\t\t// Since a different set of roots will be created, `lazyRoots` and `rootsAttributes` properties must be managed too.\n\n\t\t\t\t// Keys are root names, values are ''. Used when the editor was initialized by setting the first parameter to document data.\n\t\t\t\tconst existingRoots: Record<string, string> = {};\n\t\t\t\t// Keeps lazy roots. They may be different when compared to initial config if some of the roots were loaded.\n\t\t\t\tconst lazyRoots: Array<string> = [];\n\t\t\t\t// Roots attributes from the old config. Will be referred when setting new attributes.\n\t\t\t\tconst oldRootsAttributes: Record<string, RootAttributes> = this._config!.rootsAttributes || {};\n\t\t\t\t// New attributes to be set. Is filled only for roots that still exist in the document.\n\t\t\t\tconst rootsAttributes: Record<string, RootAttributes> = {};\n\n\t\t\t\t// Traverse through the roots saved when the editor crashed and set up the discussed values.\n\t\t\t\tfor ( const [ rootName, rootData ] of Object.entries( this._data!.roots ) ) {\n\t\t\t\t\tif ( rootData.isLoaded ) {\n\t\t\t\t\t\texistingRoots[ rootName ] = '';\n\t\t\t\t\t\trootsAttributes[ rootName ] = oldRootsAttributes[ rootName ] || {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlazyRoots.push( rootName );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst updatedConfig: EditorConfig = {\n\t\t\t\t\t...this._config,\n\t\t\t\t\textraPlugins: this._config!.extraPlugins || [],\n\t\t\t\t\tlazyRoots,\n\t\t\t\t\trootsAttributes,\n\t\t\t\t\t_watchdogInitialData: this._data\n\t\t\t\t};\n\n\t\t\t\t// Delete `initialData` as it is not needed. Data will be set by the watchdog based on `_watchdogInitialData`.\n\t\t\t\t// First parameter of the editor `.create()` will be used to set up initial roots.\n\t\t\t\tdelete updatedConfig.initialData;\n\n\t\t\t\tupdatedConfig.extraPlugins!.push( EditorWatchdogInitPlugin as any );\n\n\t\t\t\tif ( this._initUsingData ) {\n\t\t\t\t\treturn this.create( existingRoots, updatedConfig, updatedConfig.context );\n\t\t\t\t} else {\n\t\t\t\t\t// Set correct editables to make sure that proper roots are created and linked with DOM elements.\n\t\t\t\t\t// No need to set initial data, as it would be discarded anyway.\n\t\t\t\t\t//\n\t\t\t\t\t// If one element was initially set in `elementOrData`, then use that original element to restart the editor.\n\t\t\t\t\t// This is for compatibility purposes with single-root editor types.\n\t\t\t\t\tif ( isElement( this._elementOrData ) ) {\n\t\t\t\t\t\treturn this.create( this._elementOrData, updatedConfig, updatedConfig.context );\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.create( this._editables, updatedConfig, updatedConfig.context );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.then( () => {\n\t\t\t\tthis._fire( 'restart' );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Creates the editor instance and keeps it running, using the defined creator and destructor.\n\t *\n\t * @param elementOrData The editor source element or the editor data.\n\t * @param config The editor configuration.\n\t * @param context A context for the editor.\n\t */\n\tpublic create(\n\t\telementOrData: HTMLElement | string | Record<string, string> | Record<string, HTMLElement> = this._elementOrData!,\n\t\tconfig: EditorConfig = this._config!,\n\t\tcontext?: Context\n\t): Promise<unknown> {\n\t\tthis._lifecyclePromise = Promise.resolve( this._lifecyclePromise )\n\t\t\t.then( () => {\n\t\t\t\tsuper._startErrorHandling();\n\n\t\t\t\tthis._elementOrData = elementOrData;\n\n\t\t\t\t// Use document data in the first parameter of the editor `.create()` call only if it was used like this originally.\n\t\t\t\t// Use document data if a string or object with strings was passed.\n\t\t\t\tthis._initUsingData = typeof elementOrData == 'string' ||\n\t\t\t\t\t( Object.keys( elementOrData ).length > 0 && typeof Object.values( elementOrData )[ 0 ] == 'string' );\n\n\t\t\t\t// Clone configuration because it might be shared within multiple watchdog instances. Otherwise,\n\t\t\t\t// when an error occurs in one of these editors, the watchdog will restart all of them.\n\t\t\t\tthis._config = this._cloneEditorConfiguration( config ) || {};\n\n\t\t\t\tthis._config!.context = context;\n\n\t\t\t\treturn this._creator( elementOrData, this._config! );\n\t\t\t} )\n\t\t\t.then( editor => {\n\t\t\t\tthis._editor = editor;\n\n\t\t\t\teditor.model.document.on( 'change:data', this._throttledSave );\n\n\t\t\t\tthis._lastDocumentVersion = editor.model.document.version;\n\t\t\t\tthis._data = this._getData();\n\n\t\t\t\tif ( !this._initUsingData ) {\n\t\t\t\t\tthis._editables = this._getEditables();\n\t\t\t\t}\n\n\t\t\t\tthis.state = 'ready';\n\t\t\t\tthis._fire( 'stateChange' );\n\t\t\t} ).finally( () => {\n\t\t\t\tthis._lifecyclePromise = null;\n\t\t\t} );\n\n\t\treturn this._lifecyclePromise;\n\t}\n\n\t/**\n\t * Destroys the watchdog and the current editor instance. It fires the callback\n\t * registered in {@link #setDestructor `setDestructor()`} and uses it to destroy the editor instance.\n\t * It also sets the state to `destroyed`.\n\t */\n\tpublic override destroy(): Promise<unknown> {\n\t\tthis._lifecyclePromise = Promise.resolve( this._lifecyclePromise )\n\t\t\t.then( () => {\n\t\t\t\tthis.state = 'destroyed';\n\t\t\t\tthis._fire( 'stateChange' );\n\n\t\t\t\tsuper.destroy();\n\n\t\t\t\treturn this._destroy();\n\t\t\t} ).finally( () => {\n\t\t\t\tthis._lifecyclePromise = null;\n\t\t\t} );\n\n\t\treturn this._lifecyclePromise;\n\t}\n\n\tprivate _destroy(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis._stopErrorHandling();\n\n\t\t\t\tthis._throttledSave.cancel();\n\n\t\t\t\tconst editor = this._editor;\n\n\t\t\t\tthis._editor = null;\n\n\t\t\t\t// Remove the `change:data` listener before destroying the editor.\n\t\t\t\t// Incorrectly written plugins may trigger firing `change:data` events during the editor destruction phase\n\t\t\t\t// causing the watchdog to call `editor.getData()` when some parts of editor are already destroyed.\n\t\t\t\teditor!.model.document.off( 'change:data', this._throttledSave );\n\n\t\t\t\treturn this._destructor( editor! );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Saves the editor data, so it can be restored after the crash even if the data cannot be fetched at\n\t * the moment of the crash.\n\t */\n\tprivate _save(): void {\n\t\tconst version = this._editor!.model.document.version;\n\n\t\ttry {\n\t\t\tthis._data = this._getData();\n\n\t\t\tif ( !this._initUsingData ) {\n\t\t\t\tthis._editables = this._getEditables();\n\t\t\t}\n\n\t\t\tthis._lastDocumentVersion = version;\n\t\t} catch ( err ) {\n\t\t\tconsole.error(\n\t\t\t\terr,\n\t\t\t\t'An error happened during restoring editor data. ' +\n\t\t\t\t'Editor will be restored from the previously saved data.'\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tpublic _setExcludedProperties( props: Set<unknown> ): void {\n\t\tthis._excludedProps = props;\n\t}\n\n\t/**\n\t * Gets all data that is required to reinitialize editor instance.\n\t */\n\tprivate _getData(): EditorData {\n\t\tconst editor = this._editor!;\n\t\tconst roots = editor.model.document.roots.filter( root => root.isAttached() && root.rootName != '$graveyard' );\n\n\t\tconst { plugins } = editor;\n\t\t// `as any` to avoid linking from external private repo.\n\t\tconst commentsRepository = plugins.has( 'CommentsRepository' ) && plugins.get( 'CommentsRepository' ) as any;\n\t\tconst trackChanges = plugins.has( 'TrackChanges' ) && plugins.get( 'TrackChanges' ) as any;\n\n\t\tconst data: EditorData = {\n\t\t\troots: {},\n\t\t\tmarkers: {},\n\t\t\tcommentThreads: JSON.stringify( [] ),\n\t\t\tsuggestions: JSON.stringify( [] )\n\t\t};\n\n\t\troots.forEach( root => {\n\t\t\tdata.roots[ root.rootName ] = {\n\t\t\t\tcontent: JSON.stringify( Array.from( root.getChildren() ) ),\n\t\t\t\tattributes: JSON.stringify( Array.from( root.getAttributes() ) ),\n\t\t\t\tisLoaded: root._isLoaded\n\t\t\t};\n\t\t} );\n\n\t\tfor ( const marker of editor.model.markers ) {\n\t\t\tif ( !marker._affectsData ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tdata.markers[ marker.name ] = {\n\t\t\t\trangeJSON: marker.getRange().toJSON() as any,\n\t\t\t\tusingOperation: marker._managedUsingOperations,\n\t\t\t\taffectsData: marker._affectsData\n\t\t\t};\n\t\t}\n\n\t\tif ( commentsRepository ) {\n\t\t\tdata.commentThreads = JSON.stringify( commentsRepository.getCommentThreads( { toJSON: true, skipNotAttached: true } ) );\n\t\t}\n\n\t\tif ( trackChanges ) {\n\t\t\tdata.suggestions = JSON.stringify( trackChanges.getSuggestions( { toJSON: true, skipNotAttached: true } ) );\n\t\t}\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * For each attached model root, returns its HTML editable element (if available).\n\t */\n\tprivate _getEditables(): Record<string, HTMLElement> {\n\t\tconst editables: Record<string, HTMLElement> = {};\n\n\t\tfor ( const rootName of this.editor!.model.document.getRootNames() ) {\n\t\t\tconst editable = this.editor!.ui.getEditableElement( rootName );\n\n\t\t\tif ( editable ) {\n\t\t\t\teditables[ rootName ] = editable;\n\t\t\t}\n\t\t}\n\n\t\treturn editables;\n\t}\n\n\t/**\n\t * Traverses the error context and the current editor to find out whether these structures are connected\n\t * to each other via properties.\n\t *\n\t * @internal\n\t */\n\tpublic _isErrorComingFromThisItem( error: CKEditorError ): boolean {\n\t\treturn areConnectedThroughProperties( this._editor, error.context, this._excludedProps );\n\t}\n\n\t/**\n\t * Clones the editor configuration.\n\t */\n\tprivate _cloneEditorConfiguration( config: EditorConfig ): EditorConfig {\n\t\treturn cloneDeepWith( config, ( value, key ) => {\n\t\t\t// Leave DOM references.\n\t\t\tif ( isElement( value ) ) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tif ( key === 'context' ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * Internal plugin that is used to stop the default editor initialization and restoring the editor state\n * based on the `editor.config._watchdogInitialData` data.\n */\nclass EditorWatchdogInitPlugin {\n\tpublic editor: Editor;\n\n\tprivate _data: EditorData;\n\n\tconstructor( editor: Editor ) {\n\t\tthis.editor = editor;\n\n\t\tthis._data = editor.config.get( '_watchdogInitialData' )!;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\t// Stops the default editor initialization and use the saved data to restore the editor state.\n\t\t// Some of data could not be initialize as a config properties. It is important to keep the data\n\t\t// in the same form as it was before the restarting.\n\t\tthis.editor.data.on( 'init', evt => {\n\t\t\tevt.stop();\n\n\t\t\tthis.editor.model.enqueueChange( { isUndoable: false }, writer => {\n\t\t\t\tthis._restoreCollaborationData();\n\t\t\t\tthis._restoreEditorData( writer );\n\t\t\t} );\n\n\t\t\tthis.editor.data.fire<EditorReadyEvent>( 'ready' );\n\n\t\t\t// Keep priority `'high' - 1` to be sure that RTC initialization will be first.\n\t\t}, { priority: 1000 - 1 } );\n\t}\n\n\t/**\n\t * Creates a model node (element or text) based on provided JSON.\n\t */\n\tprivate _createNode( writer: ModelWriter, jsonNode: any ): ModelText | ModelElement {\n\t\tif ( 'name' in jsonNode ) {\n\t\t\t// If child has name property, it is an Element.\n\t\t\tconst element = writer.createElement( jsonNode.name, jsonNode.attributes );\n\n\t\t\tif ( jsonNode.children ) {\n\t\t\t\tfor ( const child of jsonNode.children ) {\n\t\t\t\t\telement._appendChild( this._createNode( writer, child ) );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn element;\n\t\t} else {\n\t\t\t// Otherwise, it is a Text node.\n\t\t\treturn writer.createText( jsonNode.data, jsonNode.attributes );\n\t\t}\n\t}\n\n\t/**\n\t * Restores the editor by setting the document data, roots attributes and markers.\n\t */\n\tprivate _restoreEditorData( writer: ModelWriter ): void {\n\t\tconst editor = this.editor!;\n\n\t\tObject.entries( this._data!.roots ).forEach( ( [ rootName, { content, attributes } ] ) => {\n\t\t\tconst parsedNodes: Array<ModelNode | ModelElement> = JSON.parse( content );\n\t\t\tconst parsedAttributes: Array<[ string, unknown ]> = JSON.parse( attributes );\n\n\t\t\tconst rootElement = editor.model.document.getRoot( rootName )!;\n\n\t\t\tfor ( const [ key, value ] of parsedAttributes ) {\n\t\t\t\twriter.setAttribute( key, value, rootElement );\n\t\t\t}\n\n\t\t\tfor ( const child of parsedNodes ) {\n\t\t\t\tconst node = this._createNode( writer, child );\n\n\t\t\t\twriter.insert( node, rootElement, 'end' );\n\t\t\t}\n\t\t} );\n\n\t\tObject.entries( this._data!.markers ).forEach( ( [ markerName, markerOptions ] ) => {\n\t\t\tconst { document } = editor.model;\n\t\t\tconst {\n\t\t\t\trangeJSON: { start, end },\n\t\t\t\t...options\n\t\t\t} = markerOptions;\n\n\t\t\tconst root = document.getRoot( start.root )!;\n\t\t\tconst startPosition = writer.createPositionFromPath( root, start.path, start.stickiness );\n\t\t\tconst endPosition = writer.createPositionFromPath( root, end.path, end.stickiness );\n\n\t\t\tconst range = writer.createRange( startPosition, endPosition );\n\n\t\t\twriter.addMarker( markerName, {\n\t\t\t\trange,\n\t\t\t\t...options\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Restores the editor collaboration data - comment threads and suggestions.\n\t */\n\tprivate _restoreCollaborationData() {\n\t\t// `as any` to avoid linking from external private repo.\n\t\tconst parsedCommentThreads: Array<any> = JSON.parse( this._data.commentThreads );\n\t\tconst parsedSuggestions: Array<any> = JSON.parse( this._data.suggestions );\n\n\t\tparsedCommentThreads.forEach( commentThreadData => {\n\t\t\tconst channelId = this.editor.config.get( 'collaboration.channelId' )!;\n\t\t\tconst commentsRepository = this.editor!.plugins.get( 'CommentsRepository' ) as any;\n\n\t\t\tif ( commentsRepository.hasCommentThread( commentThreadData.threadId ) ) {\n\t\t\t\tconst commentThread = commentsRepository.getCommentThread( commentThreadData.threadId )!;\n\n\t\t\t\tcommentThread.remove();\n\t\t\t}\n\n\t\t\tcommentsRepository.addCommentThread( { channelId, ...commentThreadData } );\n\t\t} );\n\n\t\tparsedSuggestions.forEach( suggestionData => {\n\t\t\tconst trackChangesEditing = this.editor!.plugins.get( 'TrackChangesEditing' ) as any;\n\n\t\t\tif ( trackChangesEditing.hasSuggestion( suggestionData.id ) ) {\n\t\t\t\tconst suggestion = trackChangesEditing.getSuggestion( suggestionData.id );\n\n\t\t\t\tsuggestion.attributes = suggestionData.attributes;\n\t\t\t} else {\n\t\t\t\ttrackChangesEditing.addSuggestionData( suggestionData );\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * @internal\n */\nexport type EditorData = {\n\troots: Record<string, {\n\t\tcontent: string;\n\t\tattributes: string;\n\t\tisLoaded: boolean;\n\t}>;\n\tmarkers: Record<string, {\n\t\trangeJSON: { start: any; end: any };\n\t\tusingOperation: boolean;\n\t\taffectsData: boolean;\n\t}>;\n\tcommentThreads: string;\n\tsuggestions: string;\n};\n\n/**\n * Fired after the watchdog restarts the error in case of a crash.\n *\n * @eventName ~EditorWatchdog#restart\n */\nexport type EditorWatchdogRestartEvent = {\n\tname: 'restart';\n\targs: [];\n\treturn: undefined;\n};\n\nexport type EditorWatchdogCreatorFunction<TEditor = Editor> = (\n\telementOrData: HTMLElement | string | Record<string, string> | Record<string, HTMLElement>,\n\tconfig: EditorConfig\n) => Promise<TEditor>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module watchdog/contextwatchdog\n */\n\nimport { Watchdog, type WatchdogConfig, type WatchdogState } from './watchdog.js';\nimport { EditorWatchdog, type EditorWatchdogCreatorFunction } from './editorwatchdog.js';\nimport { areConnectedThroughProperties } from './utils/areconnectedthroughproperties.js';\nimport { getSubNodes } from './utils/getsubnodes.js';\nimport type { ArrayOrItem, CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport type { Context, Editor, EditorConfig, ContextConfig } from '@ckeditor/ckeditor5-core';\n\nconst mainQueueId = Symbol( 'MainQueueId' );\n\n/**\n * A watchdog for the {@link module:core/context~Context} class.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */\nexport class ContextWatchdog<TContext extends Context = Context> extends Watchdog {\n\t/**\n\t * A map of internal watchdogs for added items.\n\t */\n\tprotected _watchdogs = new Map<string, EditorWatchdog>();\n\n\t/**\n\t * The watchdog configuration.\n\t */\n\tprivate readonly _watchdogConfig: WatchdogConfig;\n\n\t/**\n\t * The current context instance.\n\t */\n\tprivate _context: TContext | null = null;\n\n\t/**\n\t * Context properties (nodes/references) that are gathered during the initial context creation\n\t * and are used to distinguish the origin of an error.\n\t */\n\tprivate _contextProps = new Set<unknown>();\n\n\t/**\n\t * An action queue, which is used to handle async functions queuing.\n\t */\n\tprivate _actionQueues = new ActionQueues();\n\n\t/**\n\t * The configuration for the {@link module:core/context~Context}.\n\t */\n\tprivate _contextConfig?: ContextConfig;\n\n\t/**\n\t * The creation method.\n\t *\n\t * @see #setCreator\n\t */\n\tdeclare protected _creator: ( config: ContextConfig ) => Promise<TContext>;\n\n\t/**\n\t * The destruction method.\n\t *\n\t * @see #setDestructor\n\t */\n\tdeclare protected _destructor: ( context: Context ) => Promise<unknown>;\n\n\t/**\n\t * The watched item.\n\t */\n\tpublic _item: unknown;\n\n\t/**\n\t * The context watchdog class constructor.\n\t *\n\t * ```ts\n\t * const watchdog = new ContextWatchdog( Context );\n\t *\n\t * await watchdog.create( contextConfiguration );\n\t *\n\t * await watchdog.add( item );\n\t * ```\n\t *\n\t * See the {@glink features/watchdog Watchdog feature guide} to learn more how to use this feature.\n\t *\n\t * @param Context The {@link module:core/context~Context} class.\n\t * @param watchdogConfig The watchdog configuration.\n\t */\n\tconstructor(\n\t\tContext: { create( ...args: any ): Promise<TContext> },\n\t\twatchdogConfig: WatchdogConfig = {}\n\t) {\n\t\tsuper( watchdogConfig );\n\n\t\tthis._watchdogConfig = watchdogConfig;\n\n\t\t// Default creator and destructor.\n\t\tthis._creator = contextConfig => Context.create( contextConfig );\n\t\tthis._destructor = context => context.destroy();\n\n\t\tthis._actionQueues.onEmpty( () => {\n\t\t\tif ( this.state === 'initializing' ) {\n\t\t\t\tthis.state = 'ready';\n\t\t\t\tthis._fire( 'stateChange' );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the context creation.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setCreator( config => Context.create( config ) );\n\t * ```\n\t */\n\tpublic setCreator( creator: ( config: ContextConfig ) => Promise<TContext> ): void {\n\t\tthis._creator = creator;\n\t}\n\n\t/**\n\t * Sets the function that is responsible for the context destruction.\n\t * Overrides the default destruction function, which destroys only the context instance.\n\t * It expects a function that should return a promise (or `undefined`).\n\t *\n\t * ```ts\n\t * watchdog.setDestructor( context => {\n\t * \t// Do something before the context is destroyed.\n\t *\n\t * \treturn context\n\t * \t\t.destroy()\n\t * \t\t.then( () => {\n\t * \t\t\t// Do something after the context is destroyed.\n\t * \t\t} );\n\t * } );\n\t * ```\n\t */\n\tpublic setDestructor( destructor: ( context: Context ) => Promise<unknown> ): void {\n\t\tthis._destructor = destructor;\n\t}\n\n\t/**\n\t * The context instance. Keep in mind that this property might be changed when the context watchdog restarts,\n\t * so do not keep this instance internally. Always operate on the `ContextWatchdog#context` property.\n\t */\n\tpublic get context(): Context | null {\n\t\treturn this._context;\n\t}\n\n\t/**\n\t * Initializes the context watchdog. Once it is created, the watchdog takes care about\n\t * recreating the context and the provided items, and starts the error handling mechanism.\n\t *\n\t * ```ts\n\t * await watchdog.create( {\n\t * \tplugins: []\n\t * } );\n\t * ```\n\t *\n\t * @param contextConfig The context configuration. See {@link module:core/context~Context}.\n\t */\n\tpublic create( contextConfig: ContextConfig = {} ): Promise<unknown> {\n\t\treturn this._actionQueues.enqueue( mainQueueId, () => {\n\t\t\tthis._contextConfig = contextConfig;\n\n\t\t\treturn this._create();\n\t\t} );\n\t}\n\n\t/**\n\t * Returns an item instance with the given `itemId`.\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId The item ID.\n\t * @returns The item instance or `undefined` if an item with a given ID has not been found.\n\t */\n\tpublic getItem( itemId: string ): unknown {\n\t\tconst watchdog = this._getWatchdog( itemId );\n\n\t\treturn watchdog._item;\n\t}\n\n\t/**\n\t * Gets the state of the given item. See {@link #state} for a list of available states.\n\t *\n\t * ```ts\n\t * const editor1State = watchdog.getItemState( 'editor1' );\n\t * ```\n\t *\n\t * @param itemId Item ID.\n\t * @returns The state of the item.\n\t */\n\tpublic getItemState( itemId: string ): WatchdogState {\n\t\tconst watchdog = this._getWatchdog( itemId );\n\n\t\treturn watchdog.state;\n\t}\n\n\t/**\n\t * Adds items to the watchdog. Once created, instances of these items will be available using the {@link #getItem} method.\n\t *\n\t * Items can be passed together as an array of objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( [ {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * } ] );\n\t * ```\n\t *\n\t * Or one by one as objects:\n\t *\n\t * ```ts\n\t * await watchdog.add( {\n\t * \tid: 'editor1',\n\t * \ttype: 'editor',\n\t * \tsourceElementOrData: document.querySelector( '#editor' ),\n\t * \tconfig: {\n\t * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n\t * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n\t * \t},\n\t * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n\t * ] );\n\t * ```\n\t *\n\t * Then an instance can be retrieved using the {@link #getItem} method:\n\t *\n\t * ```ts\n\t * const editor1 = watchdog.getItem( 'editor1' );\n\t * ```\n\t *\n\t * Note that this method can be called multiple times, but for performance reasons it is better\n\t * to pass all items together.\n\t *\n\t * @param itemConfigurationOrItemConfigurations An item configuration object or an array of item configurations.\n\t */\n\tpublic add( itemConfigurationOrItemConfigurations: ArrayOrItem<ContextWatchdogItemConfiguration> ): Promise<unknown> {\n\t\tconst itemConfigurations = toArray( itemConfigurationOrItemConfigurations );\n\n\t\treturn Promise.all( itemConfigurations.map( item => {\n\t\t\treturn this._actionQueues.enqueue( item.id, () => {\n\t\t\t\tif ( this.state === 'destroyed' ) {\n\t\t\t\t\tthrow new Error( 'Cannot add items to destroyed watchdog.' );\n\t\t\t\t}\n\n\t\t\t\tif ( !this._context ) {\n\t\t\t\t\tthrow new Error( 'Context was not created yet. You should call the `ContextWatchdog#create()` method first.' );\n\t\t\t\t}\n\n\t\t\t\tlet watchdog: EditorWatchdog;\n\n\t\t\t\tif ( this._watchdogs.has( item.id ) ) {\n\t\t\t\t\tthrow new Error( `Item with the given id is already added: '${ item.id }'.` );\n\t\t\t\t}\n\n\t\t\t\tif ( item.type === 'editor' ) {\n\t\t\t\t\twatchdog = new EditorWatchdog( null, this._watchdogConfig );\n\t\t\t\t\twatchdog.setCreator( item.creator );\n\t\t\t\t\twatchdog._setExcludedProperties( this._contextProps );\n\n\t\t\t\t\tif ( item.destructor ) {\n\t\t\t\t\t\twatchdog.setDestructor( item.destructor );\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._watchdogs.set( item.id, watchdog );\n\n\t\t\t\t\t// Enqueue the internal watchdog errors within the main queue.\n\t\t\t\t\t// And propagate the internal `error` events as `itemError` event.\n\t\t\t\t\twatchdog.on( 'error', ( evt, { error, causesRestart } ) => {\n\t\t\t\t\t\tthis._fire( 'itemError', { itemId: item.id, error } );\n\n\t\t\t\t\t\t// Do not enqueue the item restart action if the item will not restart.\n\t\t\t\t\t\tif ( !causesRestart ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._actionQueues.enqueue( item.id, () => new Promise<void>( res => {\n\t\t\t\t\t\t\tconst rethrowRestartEventOnce = () => {\n\t\t\t\t\t\t\t\twatchdog.off( 'restart', rethrowRestartEventOnce );\n\n\t\t\t\t\t\t\t\tthis._fire( 'itemRestart', { itemId: item.id } );\n\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\twatchdog.on( 'restart', rethrowRestartEventOnce );\n\t\t\t\t\t\t} ) );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn watchdog.create( item.sourceElementOrData, item.config, this._context );\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error( `Not supported item type: '${ item.type }'.` );\n\t\t\t\t}\n\t\t\t} );\n\t\t} ) );\n\t}\n\n\t/**\n\t * Removes and destroys item(s) with given ID(s).\n\t *\n\t * ```ts\n\t * await watchdog.remove( 'editor1' );\n\t * ```\n\t *\n\t * Or\n\t *\n\t * ```ts\n\t * await watchdog.remove( [ 'editor1', 'editor2' ] );\n\t * ```\n\t *\n\t * @param itemIdOrItemIds Item ID or an array of item IDs.\n\t */\n\tpublic remove( itemIdOrItemIds: ArrayOrItem<string> ): Promise<unknown> {\n\t\tconst itemIds = toArray( itemIdOrItemIds );\n\n\t\treturn Promise.all( itemIds.map( itemId => {\n\t\t\treturn this._actionQueues.enqueue( itemId, () => {\n\t\t\t\tconst watchdog = this._getWatchdog( itemId );\n\n\t\t\t\tthis._watchdogs.delete( itemId );\n\n\t\t\t\treturn watchdog.destroy();\n\t\t\t} );\n\t\t} ) );\n\t}\n\n\t/**\n\t * Destroys the context watchdog and all added items.\n\t * Once the context watchdog is destroyed, new items cannot be added.\n\t *\n\t * ```ts\n\t * await watchdog.destroy();\n\t * ```\n\t */\n\tpublic override destroy(): Promise<unknown> {\n\t\treturn this._actionQueues.enqueue( mainQueueId, () => {\n\t\t\tthis.state = 'destroyed';\n\t\t\tthis._fire( 'stateChange' );\n\n\t\t\tsuper.destroy();\n\n\t\t\treturn this._destroy();\n\t\t} );\n\t}\n\n\t/**\n\t * Restarts the context watchdog.\n\t */\n\tprotected _restart(): Promise<unknown> {\n\t\treturn this._actionQueues.enqueue( mainQueueId, () => {\n\t\t\tthis.state = 'initializing';\n\t\t\tthis._fire( 'stateChange' );\n\n\t\t\treturn this._destroy()\n\t\t\t\t.catch( err => {\n\t\t\t\t\tconsole.error( 'An error happened during destroying the context or items.', err );\n\t\t\t\t} )\n\t\t\t\t.then( () => this._create() )\n\t\t\t\t.then( () => this._fire( 'restart' ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the context watchdog.\n\t */\n\tprivate _create(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis._startErrorHandling();\n\n\t\t\t\treturn this._creator( this._contextConfig! );\n\t\t\t} )\n\t\t\t.then( context => {\n\t\t\t\tthis._context = context;\n\t\t\t\tthis._contextProps = getSubNodes( this._context );\n\n\t\t\t\treturn Promise.all(\n\t\t\t\t\tArray.from( this._watchdogs.values() )\n\t\t\t\t\t\t.map( watchdog => {\n\t\t\t\t\t\t\twatchdog._setExcludedProperties( this._contextProps );\n\n\t\t\t\t\t\t\treturn watchdog.create( undefined, undefined, this._context! );\n\t\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\t/**\n\t * Destroys the context instance and all added items.\n\t */\n\tprivate _destroy(): Promise<unknown> {\n\t\treturn Promise.resolve()\n\t\t\t.then( () => {\n\t\t\t\tthis._stopErrorHandling();\n\n\t\t\t\tconst context = this._context!;\n\n\t\t\t\tthis._context = null;\n\t\t\t\tthis._contextProps = new Set();\n\n\t\t\t\treturn Promise.all(\n\t\t\t\t\tArray.from( this._watchdogs.values() )\n\t\t\t\t\t\t.map( watchdog => watchdog.destroy() )\n\t\t\t\t)\n\t\t\t\t\t// Context destructor destroys each editor.\n\t\t\t\t\t.then( () => this._destructor( context ) );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Returns the watchdog for a given item ID.\n\t *\n\t * @param itemId Item ID.\n\t */\n\tprotected _getWatchdog( itemId: string ): Watchdog {\n\t\tconst watchdog = this._watchdogs.get( itemId );\n\n\t\tif ( !watchdog ) {\n\t\t\tthrow new Error( `Item with the given id was not registered: ${ itemId }.` );\n\t\t}\n\n\t\treturn watchdog;\n\t}\n\n\t/**\n\t * Checks whether an error comes from the context instance and not from the item instances.\n\t *\n\t * @internal\n\t */\n\tpublic _isErrorComingFromThisItem( error: CKEditorError ): boolean {\n\t\tfor ( const watchdog of this._watchdogs.values() ) {\n\t\t\tif ( watchdog._isErrorComingFromThisItem( error ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn areConnectedThroughProperties( this._context, error.context );\n\t}\n}\n\n/**\n * Fired after the watchdog restarts the context and the added items because of a crash.\n *\n * ```ts\n * watchdog.on( 'restart', () => {\n * \tconsole.log( 'The context has been restarted.' );\n * } );\n * ```\n *\n * @eventName ~ContextWatchdog#restart\n */\nexport type ContextWatchdogRestartEvent = {\n\tname: 'restart';\n\targs: [];\n\treturn: undefined;\n};\n\n/**\n * Fired when a new error occurred in one of the added items.\n *\n * ```ts\n * watchdog.on( 'itemError', ( evt, { error, itemId } ) => {\n * \tconsole.log( `An error occurred in an item with the '${ itemId }' ID.` );\n * } );\n * ```\n *\n * @eventName ~ContextWatchdog#itemError\n */\nexport type ContextWatchdogItemErrorEvent = {\n\tname: 'itemError';\n\targs: [ ContextWatchdogItemErrorEventData ];\n\treturn: undefined;\n};\n\n/**\n * The `itemError` event data.\n */\nexport type ContextWatchdogItemErrorEventData = {\n\titemId: string;\n\terror: Error;\n};\n\n/**\n * Fired after an item has been restarted.\n *\n * ```ts\n * \twatchdog.on( 'itemRestart', ( evt, { itemId } ) => {\n *\t\tconsole.log( 'An item with with the '${ itemId }' ID has been restarted.' );\n * \t} );\n * ```\n *\n * @eventName ~ContextWatchdog#itemRestart\n */\nexport type ContextWatchdogItemRestartEvent = {\n\tname: 'itemRestart';\n\targs: [ ContextWatchdogItemRestartEventData ];\n\treturn: undefined;\n};\n\n/**\n * The `itemRestart` event data.\n */\nexport type ContextWatchdogItemRestartEventData = {\n\titemId: string;\n};\n\n/**\n * Manager of action queues that allows queuing async functions.\n */\nclass ActionQueues {\n\tpublic _onEmptyCallbacks: Array<() => void> = [];\n\tpublic _queues = new Map<symbol | string | number, Promise<unknown>>();\n\tpublic _activeActions = 0;\n\n\t/**\n\t * Used to register callbacks that will be run when the queue becomes empty.\n\t *\n\t * @param onEmptyCallback A callback that will be run whenever the queue becomes empty.\n\t */\n\tpublic onEmpty( onEmptyCallback: () => void ): void {\n\t\tthis._onEmptyCallbacks.push( onEmptyCallback );\n\t}\n\n\t/**\n\t * It adds asynchronous actions (functions) to the proper queue and runs them one by one.\n\t *\n\t * @param queueId The action queue ID.\n\t * @param action A function that should be enqueued.\n\t */\n\tpublic enqueue( queueId: symbol | string | number, action: () => unknown ): Promise<unknown> {\n\t\tconst isMainAction = queueId === mainQueueId;\n\n\t\tthis._activeActions++;\n\n\t\tif ( !this._queues.get( queueId ) ) {\n\t\t\tthis._queues.set( queueId, Promise.resolve() );\n\t\t}\n\n\t\t// List all sources of actions that the current action needs to await for.\n\t\t// For the main action wait for all other actions.\n\t\t// For the item action wait only for the item queue and the main queue.\n\t\tconst awaitedActions = isMainAction ?\n\t\t\tPromise.all( this._queues.values() ) :\n\t\t\tPromise.all( [ this._queues.get( mainQueueId ), this._queues.get( queueId ) ] );\n\n\t\tconst queueWithAction = awaitedActions.then( action );\n\n\t\t// Catch all errors in the main queue to stack promises even if an error occurred in the past.\n\t\tconst nonErrorQueue = queueWithAction.catch( () => {} );\n\n\t\tthis._queues.set( queueId, nonErrorQueue );\n\n\t\treturn queueWithAction.finally( () => {\n\t\t\tthis._activeActions--;\n\n\t\t\tif ( this._queues.get( queueId ) === nonErrorQueue && this._activeActions === 0 ) {\n\t\t\t\tthis._onEmptyCallbacks.forEach( cb => cb() );\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * Transforms any value to an array. If the provided value is already an array, it is returned unchanged.\n *\n * @param elementOrArray The value to transform to an array.\n * @returns An array created from data.\n */\nfunction toArray<T>( elementOrArray: ArrayOrItem<T> ): Array<T> {\n\treturn Array.isArray( elementOrArray ) ? elementOrArray : [ elementOrArray ];\n}\n\n/**\n * The watchdog item configuration interface.\n */\nexport interface ContextWatchdogItemConfiguration {\n\n\t/**\n\t * id A unique item identificator.\n\t */\n\tid: string;\n\n\t/**\n\t * The type of the item to create. At the moment, only `'editor'` is supported.\n\t */\n\ttype: 'editor';\n\n\t/**\n\t * A function that initializes the item (the editor). The function takes editor initialization arguments\n\t * and should return a promise. For example: `( el, config ) => ClassicEditor.create( el, config )`.\n\t */\n\tcreator: EditorWatchdogCreatorFunction;\n\n\t/**\n\t * A function that destroys the item instance (the editor). The function\n\t * takes an item and should return a promise. For example: `editor => editor.destroy()`\n\t */\n\tdestructor?: ( editor: Editor ) => Promise<unknown>;\n\n\t/**\n\t * The source element or data that will be passed\n\t * as the first argument to the `Editor.create()` method.\n\t */\n\tsourceElementOrData: string | HTMLElement;\n\n\t/**\n\t * An editor configuration.\n \t */\n\tconfig: EditorConfig;\n}\n"]}
|