@ckeditor/ckeditor5-real-time-collaboration 47.0.0-alpha.9 → 47.0.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 CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x35dbb9,Plugin as _0x50299c,PendingActions as _0x4ae216,Context as _0x3bfcf4}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4d8c92,CKEditorError as _0x15d9d3,Collection as _0x4520ed,global as _0x14d20d,version as ht,uid as _0x393027,KeystrokeHandler as _0x204166}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5bfd54,View as _0x20b1ba,ListView as _0x459d63,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x55a620,clickOutsideHandler as _0x1bccb4,BodyCollection as _0x27d435}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4fc1b8,History as _0x4b05c9,NoOperation as _0x303985,InsertOperation as _0x191f97,MarkerOperation as _0x550408,RootAttributeOperation as _0x23147c,transformOperationSets as _0x27aecb,OperationFactory as _0x156772}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x22abe,CollaborativeEditingService as _0x56bedc,User as ut,CommentsService as _0x1e8412,TrackChangesService as it,RevisionHistoryService as rt,EditorService as ot}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x2ddec4,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x47b93c}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x30d6ba}from'es-toolkit/compat';class n extends _0x35dbb9{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5bfd54];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2dcdea){super(_0x2dcdea),this['set']('state',_0x22abe['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4d8c92())();}['init'](){const _0x859626=this['context'],_0x1154ca=_0x859626['plugins']['get']('CloudServices'),_0x12f5a5=_0x859626['plugins']['get'](_0x5bfd54);if(!_0x1154ca['token'])throw new _0x15d9d3('websocketgateway-missing-token',this);if(!_0x1154ca['webSocketUrl'])throw new _0x15d9d3('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x1154ca['token'],_0x1154ca['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4457be=>{if(this['connection']=_0x4457be,this['bind']('state')['to'](_0x4457be,'state',this,'_isBrowserOffline',(_0x4efe66,_0x11725a)=>('connected'!==_0x4efe66&&(this['_shouldPluginsReconnect']=!0x0),_0x11725a||_0x4efe66!==_0x22abe['CONNECTED']?_0x22abe['DISCONNECTED']:this['state']==_0x22abe['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x22abe['CONNECTING']):_0x22abe['CONNECTED'])),this['connection']['on']('error',(_0x427e82,_0x4ebc86)=>{if('limitExceeded'!==_0x4ebc86['code'])throw console['error'](_0x4ebc86),new _0x15d9d3('cloudservices-init',null,{'originalError':_0x4ebc86});_0x12f5a5['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x4457be['me'])return new Promise(_0x2e12cd=>_0x4457be['on']('change:me',_0x2e12cd));})['catch'](_0x65ac88=>{throw console['error'](_0x65ac88),new _0x15d9d3('cloudservices-init',null,{'originalError':_0x65ac88});});}['addToReconnectionStack'](_0x225b85){if('function'!=typeof _0x225b85['reconnect'])throw new _0x15d9d3('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x225b85))throw new _0x15d9d3('websocketgateway-plugin-already-registered',this,{'name':_0x225b85['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x225b85);}['removeFromReconnectionStack'](_0x2adee9){this['_reconnectionStack']['delete'](_0x2adee9);}['isInReconnectionStack'](_0xb2a467){return this['_reconnectionStack']['has'](_0xb2a467);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x241ab6=>_0x241ab6['reconnect']())))['then'](()=>this['state']=_0x22abe['CONNECTED'])['catch'](_0xf2d13b=>{throw console['error'](_0xf2d13b),new _0x15d9d3('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x22abe['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x35dbb9{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x2ddec4];}constructor(_0x485231){super(_0x485231),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4520ed(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2ddec4);}['init'](){const _0x4edd1a=this['context']['plugins']['get'](n);this['listenTo'](_0x4edd1a,'change:state',(_0x5f1edb,_0x1ed3a6,_0x57a630)=>{if('connected'!==_0x57a630)this['channelSessions']['forEach'](_0x2cb7d8=>_0x2cb7d8['clear']()),this['channelConnectedUsers']['forEach'](_0x48ce01=>_0x48ce01['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x56aad9,_0x1bfcc3]of this['_registeredSessions'])for(const _0x1baf68 of _0x1bfcc3)this['_handleSessionAdd'](_0x56aad9,_0x1baf68);}}),this['_createUser'](_0x4edd1a['connection']['me'],!0x0);}['register'](_0x59daed,_0x59111e){if(this['_registeredSessions']['has'](_0x59daed))throw new _0x15d9d3('sessions-register-already-registered',null,{'channelId':_0x59daed});this['_registeredSessions']['set'](_0x59daed,_0x59111e),this['channelSessions']['set'](_0x59daed,new _0x4520ed()),this['channelConnectedUsers']['set'](_0x59daed,new _0x4520ed()),this['listenTo'](_0x59111e,'add',(_0x587e23,_0x54b0d6)=>this['_handleSessionAdd'](_0x59daed,_0x54b0d6)),this['listenTo'](_0x59111e,'remove',(_0x30b62b,_0x4bb9ee)=>this['_handleSessionRemove'](_0x59daed,_0x4bb9ee));for(const _0x5e7154 of _0x59111e)this['_handleSessionAdd'](_0x59daed,_0x5e7154);}['unregister'](_0x50e69f){if(!this['_registeredSessions']['has'](_0x50e69f))throw new _0x15d9d3('sessions-unregister-not-exist',null,{'channelId':_0x50e69f});const _0x160015=this['_registeredSessions']['get'](_0x50e69f);this['stopListening'](_0x160015);for(const _0xaa9fc7 of _0x160015)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x50e69f,_0xaa9fc7);this['_registeredSessions']['delete'](_0x50e69f),this['channelSessions']['delete'](_0x50e69f),this['channelConnectedUsers']['delete'](_0x50e69f);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x6d25f){for(const _0x5cc6e8 of this['channelSessions']['values']())for(const _0x321a83 of _0x5cc6e8)if(_0x321a83['id']===_0x6d25f)return _0x321a83['user'];}['getUserSessions'](_0x748f0b,_0x201117){const _0x44c2d5=_0x201117?[this['channelSessions']['get'](_0x201117)]:this['channelSessions']['values'](),_0x4b1949=new Set();for(const _0x2c44a2 of _0x44c2d5)for(const _0x561ef2 of _0x2c44a2)_0x561ef2['user']['id']===_0x748f0b['id']&&_0x4b1949['add'](_0x561ef2['id']);return _0x4b1949;}['getUserRole'](_0x29fca7){for(const _0x6c4df5 of this['channelSessions']['values']())for(const _0x46af85 of _0x6c4df5)if(_0x46af85['user']===_0x29fca7)return _0x46af85['role'];}['_handleSessionAdd'](_0x1a1afa,_0xcc968e){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x214491=_0xcc968e['user'],_0x5b80e6=this['_users']['getUser'](_0x214491['id'])||this['_createUser'](_0x214491),_0x33ba56=Object['assign']({},_0xcc968e,{'user':_0x5b80e6});if(this['channelSessions']['get'](_0x1a1afa)['add'](_0x33ba56),!_0x214491['hiddenInPresenceList']){const _0x4d74d7=this['channelConnectedUsers']['get'](_0x1a1afa);_0x4d74d7['has'](_0x5b80e6['id'])||_0x4d74d7['add'](_0x5b80e6),this['allConnectedUsers']['has'](_0x5b80e6['id'])||_0x214491['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5b80e6,_0x5b80e6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1a1afa,{'channelId':_0x1a1afa,'session':_0x33ba56});}['_handleSessionRemove'](_0x147ca8,_0xc59f8c){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x16f940=this['channelConnectedUsers']['get'](_0x147ca8),_0x25745f=_0xc59f8c['user'];_0x25745f['id']&&(this['channelSessions']['get'](_0x147ca8)['remove'](_0xc59f8c['id']),_0x16f940['has'](_0x25745f['id'])&&!this['getUserSessions'](_0x25745f,_0x147ca8)['size']&&_0x16f940['remove'](_0x25745f['id']),this['allConnectedUsers']['get'](_0x25745f['id'])&&!this['getUserSessions'](_0x25745f)['size']&&this['allConnectedUsers']['remove'](_0x25745f['id']));}['_createUser'](_0x4c3fc6,_0x1210b5){const _0x59175d=this['_users']['addUser'](_0x4c3fc6);return _0x1210b5&&this['_users']['defineMe'](_0x4c3fc6['id']),_0x59175d['orderNumber']=this['_uniqueUsersCount']++,_0x59175d;}}class U extends _0x50299c{['_domEmitter']=new(_0x4d8c92())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4af39f=this['editor'],_0x40f4d0=_0x4af39f['plugins']['get'](i);_0x4af39f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3278eb,{writer:_0x589f2c})=>function(_0x2ad6a7,_0x5adcfb,_0x3d4e15,_0x4ffd99){const _0x2abc0f=_0x2ad6a7['markerName']['split'](':')[0x2],_0x18d555=_0x3d4e15['getUserBySessionId'](_0x2abc0f);if(!_0x18d555||_0x2abc0f===_0x3d4e15['mySessionId'])return;if(!_0x4ffd99['model']['schema']['checkChild'](_0x2ad6a7['markerRange']['start'],'$text'))return;const _0x24659c={'class':'ck-user__marker\x20'+_0x18d555['color']['getMarkerClass'](),'data-name':_0x18d555['name'],'data-session-id':_0x2abc0f},_0x527917=_0x4ffd99['model']['markers']['get'](_0x2ad6a7['markerName']),_0x3bbb7a=_0x527917['getStart'](),_0x28ddf7=_0x3bbb7a['nodeAfter'],_0x27292f=_0x4ffd99['model']['schema'];if(_0x28ddf7&&_0x27292f['isObject'](_0x28ddf7)&&_0x27292f['isInline'](_0x28ddf7)&&!_0x4ffd99['model']['markers']['get']('user:range:'+_0x2abc0f)['getRange']()['isCollapsed'])return;const _0x151aa4=_0x3bbb7a['parent'];return _0x4ffd99['model']['schema']['isLimit'](_0x151aa4)&&!_0x4ffd99['model']['hasContent'](_0x151aa4)&&(_0x24659c['contenteditable']=!0x1),function(_0x275669,_0x546721,_0x3393d0){const _0x2b91ae=_0x275669['createUIElement']('span',_0x546721);return _0x275669['setCustomProperty']('userPositionMarker',!0x0,_0x2b91ae),_0x2b91ae['render']=function(_0x462f7c){const _0x21bb30=this['toDomElement'](_0x462f7c),_0x4d1d3a=document['createElement']('span');return _0x4d1d3a['classList']['add']('ck-user__marker-tooltip'),_0x4d1d3a['setAttribute']('contenteditable','false'),_0x4d1d3a['setAttribute']('spellcheck','false'),_0x4d1d3a['textContent']=_0x3393d0['name'],_0x21bb30['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4d1d3a['outerHTML']+'⁠',_0x21bb30['addEventListener']('mouseenter',()=>{_0x21bb30['classList']['add']('ck-user__marker_hovered');}),_0x21bb30['addEventListener']('mouseleave',()=>{_0x21bb30['classList']['remove']('ck-user__marker_hovered');}),_0x21bb30;},_0x2b91ae['isSimilar']=function(_0x5055c5){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5055c5['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5055c5['getAttribute']('data-session-id'));},_0x2b91ae;}(_0x5adcfb,_0x24659c,_0x18d555);}(_0x3278eb,_0x589f2c,_0x40f4d0,_0x4af39f)}),_0x4af39f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2457e2=>function(_0x22c6d1,_0x2f364d){const _0x2d7802=_0x22c6d1['markerName']['split'](':')[0x2];if(_0x2d7802===_0x2f364d['mySessionId'])return null;const _0x1e3420=_0x2f364d['getUserBySessionId'](_0x2d7802);if(!_0x1e3420)return{'id':_0x2d7802,'classes':[]};return{'id':_0x2d7802,'classes':['ck-user__selection',_0x1e3420['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2d7802},'priority':0x7d0+_0x1e3420['orderNumber']};}(_0x2457e2,_0x40f4d0)}),function(_0xc40318){const _0x50a7d9=_0xc40318['model'],_0x50b3f3=new Map(),_0x267d97=_0xc40318['plugins']['get'](i);_0x50a7d9['markers']['on']('update:user:range',(_0x55a18c,_0x274fc4,_0x49cd38,_0x35e6ed)=>{if(!_0x35e6ed&&_0x50b3f3['get'](_0x274fc4['name']))return _0x50b3f3['get'](_0x274fc4['name'])['detach'](),void _0x50b3f3['delete'](_0x274fc4['name']);const _0x54d595=_0x274fc4['name']['split'](':')[0x2];if(_0x54d595===_0x267d97['mySessionId'])return;const _0x501d84='user:position:'+_0x54d595;_0x50a7d9['markers']['has'](_0x501d84)&&_0xc40318['editing']['reconvertMarker'](_0x501d84),_0x274fc4['on']('change:range',(_0x481b2a,_0x21107f,_0x383201)=>{if('$graveyard'!=_0x21107f['root']['rootName']&&'$graveyard'==_0x274fc4['getRange']()['root']['rootName']&&!_0x50b3f3['has'](_0x274fc4['name'])){const _0x1bdbcf=_0x50a7d9['schema']['getNearestSelectionRange'](_0x383201['deletionPosition']);if(_0x1bdbcf){const _0x422606=_0x4fc1b8['fromRange'](_0x1bdbcf);_0x50b3f3['set'](_0x274fc4['name'],_0x422606),_0x422606['on']('change:range',(_0x2410d8,_0x50bc37,_0x21f52d)=>{if('$graveyard'==_0x422606['root']['rootName']){const _0x28583a=_0x50a7d9['schema']['getNearestSelectionRange'](_0x21f52d['deletionPosition']);_0x28583a?(_0x422606['start']=_0x28583a['start'],_0x422606['end']=_0x28583a['end']):(_0x50b3f3['delete'](_0x274fc4['name']),_0x422606['detach']());}});}}});}),_0x50a7d9['document']['on']('change',()=>{_0x50b3f3['size']>0x0&&_0x50a7d9['enqueueChange']({'isUndoable':!0x1},_0x41c135=>{for(const [_0x4eb880,_0x41b533]of _0x50b3f3)'$graveyard'==_0x50a7d9['markers']['get'](_0x4eb880)['getRange']()['root']['rootName']&&(J(_0x4eb880['split'](':')[0x2],_0x41b533['toRange'](),_0x50a7d9,_0x41c135),_0x41b533['detach']());_0x50b3f3['clear']();});});}(_0x4af39f),this['_domEmitter']['listenTo'](_0x14d20d['document'],'keydown',(_0x2ff657,{key:_0x25eb73})=>{'Escape'===_0x25eb73&&function(_0x3078f8){_0x3078f8['editing']['view']['change'](_0x29c7d0=>{for(const _0x20c389 of _0x3078f8['model']['markers']){if(!_0x20c389['name']['startsWith']('user:position'))continue;const _0x13e751=_0x3078f8['editing']['mapper']['markerNameToElements'](_0x20c389['name']);if(_0x13e751){for(const _0x1b5f22 of _0x13e751)_0x29c7d0['removeClass']('ck-user__marker_hovered',_0x1b5f22);}}});}(_0x4af39f);},{'useCapture':!0x0});}['afterInit'](){const _0x18ee38=this['editor'],_0x3575ca=_0x18ee38['commands']['get']('undo');_0x3575ca&&_0x18ee38['model']['on']('applyOperation',(_0x4fc122,_0x32a197)=>{const _0xa21774=_0x32a197[0x0];if(!_0xa21774['isDocumentOperation'])return;if('marker'!=_0xa21774['type']||!_0xa21774['name']['startsWith']('user:'))return;const _0x3c9f5c=_0xa21774['batch'];_0x3575ca['_createdBatches']['has'](_0x3c9f5c)&&(_0xa21774['newRange']=_0xa21774['oldRange']?_0x18ee38['model']['createRange'](_0xa21774['oldRange']['start'],_0xa21774['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xa8c2e7=this['editor'],_0x28f301=_0xa8c2e7['model']['document'],_0x20f030=_0xa8c2e7['plugins']['get'](i);_0xa8c2e7['model']['enqueueChange']({'isUndoable':!0x1},_0x484d94=>{const _0x3531f6='user:range:'+_0x20f030['mySessionId'],_0x3afb4e='user:position:'+_0x20f030['mySessionId'],_0xb191b2=_0xa8c2e7['model']['markers']['has'](_0x3531f6);_0xa8c2e7['editing']['view']['hasDomSelection']?J(_0x20f030['mySessionId'],_0x28f301['selection']['getFirstRange'](),_0xa8c2e7['model'],_0x484d94):_0xb191b2&&(_0x484d94['removeMarker'](_0x3531f6),_0x484d94['removeMarker'](_0x3afb4e));});}}function J(_0x3c18b8,_0x32ed22,_0x3ec65c,_0x3b8b24){const _0x41869e='user:range:'+_0x3c18b8,_0x78c934='user:position:'+_0x3c18b8,_0x1569cf=_0x32ed22['getContainedElement']();let _0x20517e=_0x32ed22['start'];if(_0x1569cf&&_0x1569cf['is']('element','tableCell')){const _0xb0abd5=function(_0x202694,_0x1e5fdd){for(const _0x1ab47d of _0x202694['getPositions']())if(_0x1e5fdd['schema']['checkChild'](_0x1ab47d,'$text'))return _0x1ab47d;}(_0x32ed22,_0x3ec65c);_0xb0abd5&&(_0x20517e=_0xb0abd5,_0x32ed22=_0x3b8b24['createRange'](_0x20517e));}const _0x36e40d=_0x3b8b24['createRange'](_0x20517e);_0x3ec65c['markers']['has'](_0x41869e)?(_0x3b8b24['updateMarker'](_0x41869e,{'range':_0x32ed22}),_0x3b8b24['updateMarker'](_0x78c934,{'range':_0x36e40d})):(_0x3b8b24['addMarker'](_0x41869e,{'range':_0x32ed22,'usingOperation':!0x0}),_0x3b8b24['addMarker'](_0x78c934,{'range':_0x36e40d,'usingOperation':!0x0}));}function E(_0x19ec92,_0xbc6a51,_0x301333){const _0x1c0351=_0x19ec92['t'],t=_0x19ec92['t'];switch(_0xbc6a51){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x1c0351({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x301333);default:return'';}}let H=0x1;class l extends _0x50299c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x56bedc)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,U,_0x4ae216,_0x2ddec4,_0x5bfd54];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x49946f=this['serverHistory']['getOperations']();for(let _0x5c11fb=_0x49946f['length']-0x1;_0x5c11fb>=0x0;_0x5c11fb--){const _0x13b9e9=_0x49946f[_0x5c11fb];if(!this['_disconnectionOperations']['has'](_0x13b9e9))return _0x13b9e9['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x14e9c3){if(super(_0x14e9c3),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4b05c9(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x15d9d3('collaboration-missing-channelid',this);const _0x1e65db=_0x14e9c3['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x1e65db,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x47b93c(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new F(this['_disconnectionOperations']);}['init'](){const _0x317fdc=this['editor'],_0x1c1626=_0x317fdc['plugins']['get'](_0x2ddec4),_0x452c74=_0x317fdc['plugins']['get'](n);this['listenTo'](_0x1c1626,'getOperationAuthor',(_0x3516e7,_0x37afd9)=>{const _0x271279=_0x37afd9[0x0];_0x271279['_authorId']&&(_0x3516e7['return']=_0x1c1626['getUser'](_0x271279['_authorId']),_0x3516e7['stop']()),null===_0x271279['_authorId']&&(_0x3516e7['return']=null,_0x3516e7['stop']());},{'priority':'high'}),this['listenTo'](_0x317fdc['model']['document']['selection'],'change:range',(_0x39f75c,_0x270607)=>{_0x270607['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x317fdc['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x317fdc['model']['on']('applyOperation',(_0x1fa796,_0xee76f0)=>{const _0x4f533f=_0xee76f0[0x0];_0x4f533f['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4f533f),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x452c74,'state',this,'_hasSynchronizationProblem',(_0x2f36a3,_0x477dfe)=>'connected'===_0x2f36a3&&!_0x477dfe),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x317fdc['disableReadOnlyMode']('rtc-offline'):_0x317fdc['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x317fdc['disableReadOnlyMode']('rtc-offline'):_0x317fdc['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x33a869=this['editor']['plugins']['get'](i),_0x19af2d=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x33a869['unregister'](this['_channelId']);const _0x23a127=await this['_service']['reconnect'](_0x19af2d['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x23a127)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x33c533=await this['_service']['getConnectedSessions']();_0x33a869['register'](this['_channelId'],_0x33c533),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2bcf66){if(function(_0x14c29c){return'404'===_0x14c29c['code'];}(_0x2bcf66)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4e21a1){return'409'===_0x4e21a1['code'];}(_0x2bcf66)){const _0x4f6c75=E(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x4f6c75);}else{if(!(_0x2bcf66 instanceof V))throw _0x2bcf66;this['_handleReconnectionError']();}}}}['destroy'](){const _0xef9edf=this['editor']['plugins']['get'](n),_0x1a6aa5=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1a6aa5['channelSessions']['has'](this['_channelId'])&&_0x1a6aa5['unregister'](this['_channelId']),_0xef9edf['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x40a7b7){if(this['sessionId']!==_0x40a7b7['sessionId']&&this['_lastSyncedOperationId']!==_0x40a7b7['lastOperationId'])throw new V();return this['sessionId']=_0x40a7b7['sessionId'],this['_handleServerResponse']([],{..._0x40a7b7,'wereChangesApplied':!0x1,'data':_0x40a7b7['data']},'reconnect');}async['_connectService'](_0x569d42,_0x27bf5c=!0x1){const {connection:_0x216e36}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x216e36,this['_channelId'])['then'](_0x4e4aa4=>this['_initSessionsHandling'](_0x4e4aa4))['catch'](_0x3b727b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3b727b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2fe12e,_0x411e8f)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x411e8f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x392426=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x569d42);this['_isPendingUpdate']=!0x0;const _0x2f796c=await this['_service']['connect'](_0x216e36,this['_compressOperations'](_0x569d42),_0x392426);if(this['sessionId']=_0x2f796c['sessionId'],_0x27bf5c){if(!_0x2f796c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2f796c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x569d42,_0x2f796c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2f796c,_0x569d42);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x322bcc=this['editor']['plugins']['get'](i),_0x5f042c=this['editor']['plugins']['get'](U),_0xcb22e4=_0x322bcc['channelSessions']['get'](this['_channelId']);_0xcb22e4&&_0xcb22e4['length']>0x1?_0x5f042c['createUserMarkerOperations']():this['listenTo'](_0x322bcc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x322bcc['channelSessions']['get'](this['_channelId'])['length']&&_0x5f042c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x96cdee,_0x2fa141,_0x4fa3ef,_0x5b4298){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2fa141){const _0x3abb48=this['_decompressOperations'](_0x4fa3ef,_0x5b4298);await this['_fetchMissingUsers'](_0x3abb48),this['_handleExternalOperations'](_0x3abb48,_0x2fa141,_0x4fa3ef['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x450d6d}=this['editor'];let _0x1dcf94;try{_0x1dcf94=await this['_service']['getDocumentDetails']();}catch{const _0x138d1c=E(_0x450d6d,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x138d1c);}const _0x4cf0b3=_0x1dcf94['currentDocumentSession']||_0x1dcf94['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4cf0b3['lastOperationId']){const _0x5f347a=E(_0x450d6d,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x5f347a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x452e34){const _0x162153=this['editor']['plugins']['get'](i);this['listenTo'](_0x162153,'sessionAdd:'+this['_channelId'],(_0x213e2d,{session:_0x4ff09f})=>{if(_0x4ff09f['id']===_0x162153['mySessionId']){_0x213e2d['off']();const _0x37a6c3=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5d5831=_0x4ff09f['permissions'];_0x37a6c3&&_0x37a6c3['isEnabled']&&(_0x5d5831=_0x5d5831['filter'](_0x150c2e=>'document:write'!==_0x150c2e)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5d5831,this['_channelId']);}}),_0x162153['register'](this['_channelId'],_0x452e34);}['_initThrowingOnDataSet'](){const _0x5172b1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x59d264)=>{if(!_0x59d264[_0x59d264['length']-0x1]['suppressErrorInCollaboration'])throw new _0x15d9d3('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5172b1['apply'](this['editor']['data'],_0x59d264);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x53f931,[_0x154322])=>{if(this['_document']['version'])throw new _0x15d9d3('realtimecollaborationclient-init-document-already-initialized',this);_0x53f931['stop'](),this['_setPendingAction']();const _0x151346=this['editor']['config']['get']('rootsAttributes'),_0x1fb7ca=this['_getOperationsFromInitData'](_0x154322,_0x151346);0x0==_0x1fb7ca['length']&&_0x1fb7ca['push'](new _0x303985(0x0)),_0x53f931['return']=this['_connectService'](_0x1fb7ca)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4813d2=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4813d2))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xc7d306,[_0x3214d6,_0x422879])=>{_0xc7d306['stop']();const _0x26520a=this['editor']['model']['document']['getRoot'](_0x3214d6);if(!this['_knownRootNames']['has'](_0x3214d6)){const _0x128b69=_0x422879&&_0x422879['data']?_0x422879['data']:'',_0x29d927=_0x422879&&_0x422879['attributes']?_0x422879['attributes']:{};await this['_loadRoot'](_0x3214d6,_0x128b69,_0x29d927);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x26520a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x26520a);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x35711a){const _0x2d420c=this['editor']['plugins']['get'](_0x2ddec4),{connection:_0x152fbb}=this['editor']['plugins']['get'](n),_0x2fa695=new Set();for(const _0x53eac9 of _0x35711a){const _0x435472=_0x53eac9['_authorId'];_0x435472&&!_0x2d420c['getUser'](_0x435472)&&_0x2fa695['add'](_0x435472);}if(0x0===_0x2fa695['size'])return;const _0x21de0e=await ut['getMany'](_0x152fbb,Array['from'](_0x2fa695));for(const _0x561bb3 of _0x21de0e)_0x2d420c['getUser'](_0x561bb3['id'])||_0x2d420c['addUser'](_0x561bb3);}['_getOperationsFromInitData'](_0x3e8e34,_0x54e0b0={}){const _0x4d3111=this['editor']['model'],_0x43a91d=[];let _0x372a29=0x0;const _0x117a2e='string'==typeof _0x3e8e34?{'main':_0x3e8e34}:_0x3e8e34;for(const _0x5a8c8d of Object['keys'](_0x117a2e)){if(!this['_document']['roots']['has'](_0x5a8c8d))throw new _0x15d9d3('realtimecollaborationclient-init-non-existent-root',this);const _0x29a33d=this['editor']['data']['parse'](_0x117a2e[_0x5a8c8d]),_0x19bdf4=this['_document']['getRoot'](_0x5a8c8d),_0x55aa02=new _0x191f97(_0x4d3111['createPositionAt'](_0x19bdf4,0x0),_0x29a33d,_0x372a29++);_0x43a91d['push'](_0x55aa02);for(const [_0x2554ea,_0x110bbb]of _0x29a33d['markers']){const _0x26e002=_0x4d3111['createRange'](_0x4d3111['createPositionFromPath'](_0x19bdf4,_0x110bbb['start']['path']['slice']()),_0x4d3111['createPositionFromPath'](_0x19bdf4,_0x110bbb['end']['path']['slice']())),_0x46f1b2=new _0x550408(_0x2554ea,null,_0x26e002,_0x4d3111['markers'],!0x0,_0x372a29++);_0x43a91d['push'](_0x46f1b2);}}if(_0x54e0b0)for(const [_0x3d46be,_0x79d51]of Object['entries'](_0x54e0b0)){const _0x369e6b=_0x4d3111['document']['getRoot'](_0x3d46be);if(!_0x369e6b)throw new _0x15d9d3('multi-root-editor-root-attributes-no-root',null);for(const [_0x4cb795,_0x3c79b6]of Object['entries'](_0x79d51))if(null!==_0x3c79b6){const _0x127b57=new _0x23147c(_0x369e6b,_0x4cb795,null,_0x3c79b6,_0x372a29++);_0x43a91d['push'](_0x127b57);}}return _0x43a91d;}async['_loadRoot'](_0x444f08,_0x22531c,_0x5eebe9){this['_getOperationsFromInitData']({[_0x444f08]:_0x22531c},{[_0x444f08]:_0x5eebe9})['forEach']((_0x79c017,_0x4b6ce4)=>{_0x79c017['baseVersion']=this['_document']['version']+_0x4b6ce4,_0x79c017['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x79c017);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x156cb9,_0x3e2211){let _0x1b78b1;this['_offset']=_0x156cb9['offset'];const _0xb1157b=_0x156cb9['wereChangesApplied']&&!_0x156cb9['initData'],_0x3e91bf=_0xb1157b?0x0:_0x156cb9['data']['baseVersion'];if(_0x3e2211['forEach'](_0x2d402a=>{_0x2d402a['_isInit']=!0x0,_0x2d402a['createdAt']=_0x156cb9['sessionCreatedAt'],_0x2d402a['_authorId']=null;}),_0xb1157b)_0x1b78b1=_0x3e2211,this['_applyOperationsSet'](_0x1b78b1,_0xb1157b);else{if(_0x156cb9['initData']){const _0x4e93cf=this['_getOperationsFromInitData'](_0x156cb9['initData']);this['_document']['history']['version']=-_0x4e93cf['length'],_0x4e93cf['forEach'](_0x367183=>{_0x367183['baseVersion']-=_0x4e93cf['length'],_0x367183['createdAt']=_0x156cb9['sessionCreatedAt'],_0x367183['_isInit']=!0x0,_0x367183['_authorId']=null;}),this['_applyOperationsSet'](_0x4e93cf,!0x0),this['serverHistory']['version']=-_0x4e93cf['length']+this['_offset'],this['_updateServerHistory'](_0x4e93cf);}this['_document']['history']['version']=_0x3e91bf,_0x1b78b1=this['_decompressOperations'](_0x156cb9['data'],_0x156cb9['metadata']),await this['_fetchMissingUsers'](_0x1b78b1),this['_applyOperationsSet'](_0x1b78b1,_0xb1157b);}_0x156cb9['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b78b1,_0x156cb9['lastOperationId']),this['_lastSyncedOperationId']=_0x156cb9['lastOperationId']),this['serverHistory']['version']=_0x3e91bf+this['_offset'],this['_updateServerHistory'](_0x1b78b1),_0x3e2211['filter'](_0x462571=>{const _0x3aeb59=this['_getAffectedRoot'](_0x462571);return _0x3aeb59&&!this['_knownRootNames']['has'](_0x3aeb59);})['forEach']((_0x54de19,_0x349abe)=>{_0x54de19['baseVersion']=this['_document']['version']+_0x349abe,this['_saveOperationInBuffer'](_0x54de19);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x46ccf6,_0x17186a){const _0x598beb=_0x17186a&&_0x17186a['message'];if(_0x598beb&&_0x598beb['startsWith']('realtimecollaborationclient'))throw _0x17186a;const _0x54ce54=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x54ce54['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x15d9d3(_0x46ccf6,this['editor'],_0x598beb?{'originalError':_0x598beb}:void 0x0);}['_saveOperationInBuffer'](_0x2cc197){this['_knownOperations']['has'](_0x2cc197)||(this['_knownOperations']['add'](_0x2cc197),this['_bufferedOperations']['push'](_0x2cc197),this['_pendingAction']||'marker'==_0x2cc197['type']&&!_0x2cc197['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x52e119=!0x1){!_0x52e119&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x548c95=>{_0x548c95&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x88bd72=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1e88b9){return _0x1e88b9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1e88b9['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1e88b9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x88bd72)||this['_crash'](_0x88bd72['message'],_0x88bd72);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1ef438=>{this['on']('change:_isPendingUpdate',()=>{_0x1ef438();});});}async['_sendBufferedOperations'](){const _0x31daae=this['editor']['plugins']['get'](U);if(this['_shouldSendSelectionUpdate']()&&(_0x31daae['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4232d7=[...this['_bufferedOperations']];for(const _0x137eea of _0x4232d7)_0x137eea['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x137eea);const _0x2ee754=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4232d7),_0x40a563=H++,_0x5c9f7c=this['_compressOperations'](_0x4232d7),_0x4b6e76=await this['_service']['sendOperations'](_0x5c9f7c,_0x5c9f7c['baseVersion'],_0x2ee754);try{return await this['_handleServerResponse'](_0x4232d7,_0x4b6e76,_0x40a563);}catch(_0x382a16){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x382a16);}}async['_handleServerResponse'](_0x2ff1e4,_0x2701fe,_0x4fc6b0){if('error'in _0x2701fe)throw _0x2701fe['error'];let _0x220208=!0x1;if(_0x2701fe['wereChangesApplied']){_0x2701fe['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2701fe['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3eb3ce=>!_0x2ff1e4['includes'](_0x3eb3ce));for(const _0x417ee9 of _0x2ff1e4)_0x417ee9['createdAt']='lastOperationAcceptedAt'in _0x2701fe&&_0x2701fe['lastOperationAcceptedAt']||void 0x0;W(_0x2ff1e4,_0x2701fe['version']-_0x2ff1e4['length']),this['_updateServerHistory'](_0x2ff1e4);const _0x3d84b8=_0x2ff1e4['filter'](_0x5e1c35=>{if(!_0x5e1c35['_isInit'])return!0x1;const _0x593533=this['_getAffectedRoot'](_0x5e1c35);return _0x593533&&!this['_knownRootNames']['has'](_0x593533);});W(_0x3d84b8,this['_document']['version']),this['_applyOperationsSet'](_0x3d84b8),_0x220208=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x344e74=this['_decompressOperations'](_0x2701fe['data'],_0x2701fe['metadata'])['filter'](_0x3fcdaa=>_0x3fcdaa['baseVersion']>=this['_lastServerVersion']);_0x344e74['forEach'](_0x5ea3a3=>this['_addKnownRoot'](_0x5ea3a3)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x15e9cb=>!_0x15e9cb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x15e9cb))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x344e74),_0x220208=this['_handleExternalOperations'](_0x344e74,_0x2701fe['version'],_0x2701fe['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x220208?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x25dd66,_0x67f1a6,_0x484541){try{const _0x35ae46={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x441e82,operationsB:_0x1c8a22,originalOperations:_0x2d08f6}=_0x27aecb(_0x25dd66,this['_bufferedOperations'],_0x35ae46);W(_0x441e82,this['_document']['version']),W(_0x1c8a22,_0x67f1a6);for(const _0x237097 of _0x441e82){const _0x4b7d10=_0x2d08f6['get'](_0x237097);_0x237097['_authorId']=_0x4b7d10?_0x4b7d10['_authorId']:null;}_0x484541&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x25dd66,_0x484541),this['_lastSyncedOperationId']=_0x484541),this['_bufferedOperations']=[..._0x1c8a22],this['_applyOperationsSet'](_0x441e82),this['_updateServerHistory'](_0x25dd66);}catch(_0x6ed1e7){return console['error'](_0x6ed1e7),!0x1;}return!0x0;}['_applyOperationsSet'](_0x32aef3,_0x17c755=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5551d2=>{for(const _0x4e3279 of _0x32aef3)this['_knownOperations']['add'](_0x4e3279),this['_addKnownRoot'](_0x4e3279),_0x5551d2['batch']['addOperation'](_0x4e3279),this['editor']['model']['applyOperation'](_0x4e3279);});}['_addKnownRoot'](_0x8891f4){const _0xa7e00f=this['_getAffectedRoot'](_0x8891f4);_0xa7e00f&&this['_knownRootNames']['add'](_0xa7e00f);}['_getAffectedRoot'](_0x28bc6a){let _0x4e2c2b,_0x4d1f76;switch(_0x28bc6a['type']){case'insert':_0x4e2c2b=_0x28bc6a['position']['root'];break;case'marker':if(_0x4d1f76=_0x28bc6a['newRange'],!_0x4d1f76)return null;_0x4e2c2b=_0x4d1f76['root'];break;case'addRootAttribute':_0x4e2c2b=_0x28bc6a['root'];break;case'addRoot':_0x4e2c2b=_0x28bc6a['affectedSelectable'];break;case'move':_0x4e2c2b=_0x28bc6a['targetPosition']['root'];break;default:return null;}return _0x4e2c2b['rootName'];}['_updateServerHistory'](_0xf43cd4){_0xf43cd4['forEach'](_0x24cf8a=>{const _0x37f9a0=_0x24cf8a['clone']();_0x37f9a0['_authorId']=_0x24cf8a['_authorId'],_0x37f9a0['_isInit']=!!_0x24cf8a['_isInit'],_0x37f9a0['createdAt']=_0x24cf8a['createdAt'],_0x37f9a0['baseVersion']+=this['_offset'],_0x24cf8a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x37f9a0),this['serverHistory']['addOperation'](_0x37f9a0);});}['_handleReconnectionError'](_0xd24249){const _0x382385=this['editor']['plugins']['get']('Notification'),_0x4a7daf=this['editor']['locale'];_0xd24249||(_0xd24249=E(_0x4a7daf,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x382385['showWarning'](_0xd24249,{'title':E(_0x4a7daf,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x4ae216)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4ae216)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4dbaae){const _0x121eab=_0x4dbaae['map'](_0x4f04cc=>_0x4f04cc['toJSON']());return this['_compressor']['compress'](_0x121eab);}['_decompressOperations'](_0x5c0326,_0x2d969d){return this['_compressor']['decompress'](_0x5c0326)['map']((_0x203997,_0x12d3a2)=>{const _0xcef6c3='init'==_0x2d969d[_0x12d3a2]['type'];if('InsertOperation'==_0x203997['__className']){const _0x17ef4a=_0x203997['position']['root'];!this['_document']['getRoot'](_0x17ef4a)&&(this['_document']['createRoot']('$root',_0x17ef4a)['_isAttached']=!0x1);}const _0x3be966=_0x156772['fromJSON'](_0x203997,this['_document']);return _0x3be966['wasUndone']=_0x203997['wasUndone'],_0x3be966['_isInit']=_0xcef6c3,_0x3be966['_authorId']=_0xcef6c3?null:_0x2d969d[_0x12d3a2]['userId'],_0x3be966['_isDisconnection']='cs:removeUser'===_0x2d969d[_0x12d3a2]['type'],_0x3be966['createdAt']=_0x2d969d[_0x12d3a2]['createdAt'],_0x3be966;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x16d2ee=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x16d2ee&&_0x16d2ee['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x4a13c8,_0x2fccc1){for(const _0x56eb93 of _0x4a13c8)_0x56eb93['baseVersion']=_0x2fccc1++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x5c58a2){this['_ignoredOperations']=_0x5c58a2,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x11388b){let _0x59f6e6=_0x11388b['length'];for(;_0x59f6e6--;){const _0x5bcc35=_0x11388b[_0x59f6e6];if(!this['_ignoredOperations']['has'](_0x5bcc35)){if(!this['_operationToId']['has'](_0x5bcc35)){const _0x6fcc11=_0x393027()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5bcc35,_0x6fcc11);}return this['_operationToId']['get'](_0x5bcc35);}}}['setIdForTheLastOperation'](_0x1526da,_0x3a7372){if(!_0x3a7372)return;let _0x9e3a86=_0x1526da['length'];for(;_0x9e3a86--;){const _0x5dc802=_0x1526da[_0x9e3a86];this['_ignoredOperations']['has'](_0x5dc802)||this['_operationToId']['set'](_0x5dc802,_0x3a7372);}}}class a extends _0x50299c{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x35dbb9{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1e8412)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x2ddec4];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b52f0){super(_0x1b52f0),this['_services']=new Map();}async['init'](){const _0x1328e0=this['context'],_0x322fab=_0x1328e0['plugins']['get']('CommentsRepository');if(_0x1328e0['plugins']['get'](n)['addToReconnectionStack'](this),_0x322fab['adapter']={'addCommentThread':async({channelId:_0x2988fb,threadId:_0x3efaf8,comments:_0x1484d4,resolvedAt:_0x3d5e2f,resolvedBy:_0x1a9bb0,context:_0x2727f2,attributes:_0x4395b1})=>{const _0xc000b=await this['_getService'](_0x2988fb)['addCommentThread']({'commentThreadId':_0x3efaf8,'comments':_0x1484d4['map'](_0xfd0f5=>function(_0x1a09c9,_0xd05963,_0x1ba1e8){return{'commentThreadId':_0x1ba1e8,'commentId':_0x1a09c9['commentId'],'userId':_0x1a09c9['authorId'],'content':_0x1a09c9['content'],'documentId':_0xd05963,'createdAt':_0x1a09c9['createdAt'],'attributes':_0x1a09c9['attributes']||{}};}(_0xfd0f5,_0x2988fb,_0x3efaf8)),'resolvedAt':_0x3d5e2f,'resolvedBy':_0x1a9bb0,'context':_0x2727f2,'attributes':_0x4395b1})['catch'](ft);return{'threadId':_0xc000b['commentThreadId'],'comments':_0xc000b['comments']};},'getCommentThread':async({channelId:_0x580ce8,threadId:_0x36bb56})=>{const _0x3c0e68=await this['_getService'](_0x580ce8)['getCommentThread'](_0x36bb56)['catch'](Z)['catch'](ft);return _0x3c0e68?_0x3c0e68['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3c0e68]),{'threadId':_0x3c0e68['commentThreadId'],'comments':_0x3c0e68['comments']['map'](et),'context':_0x3c0e68['context'],'resolvedAt':_0x3c0e68['resolvedAt'],'resolvedBy':_0x3c0e68['resolvedBy'],'attributes':_0x3c0e68['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x46bf02,threadId:_0x128280,context:_0x5d1eb1,unlinkedAt:_0x54d771,attributes:_0x5f21ec})=>this['_getService'](_0x46bf02)['updateCommentThread']({'commentThreadId':_0x128280,'context':_0x5d1eb1,'attributes':_0x5f21ec,'unlinkedAt':_0x54d771})['catch'](Z)['catch'](ft),'resolveCommentThread':async({channelId:_0x200cbb,threadId:_0x2e69b9})=>{const _0x17a5ca=await this['_getService'](_0x200cbb)['resolveCommentThread'](_0x2e69b9)['catch'](Z)['catch'](ft);return{'threadId':_0x17a5ca['commentThreadId'],'resolvedAt':_0x17a5ca['resolvedAt'],'resolvedBy':_0x17a5ca['resolvedBy']};},'reopenCommentThread':async({channelId:_0x18e8c8,threadId:_0x4f1b31})=>this['_getService'](_0x18e8c8)['reopenCommentThread'](_0x4f1b31)['catch'](Z)['catch'](ft),'removeCommentThread':({channelId:_0x5461a8,threadId:_0x230693})=>this['_getService'](_0x5461a8)['removeCommentThread'](_0x230693)['catch'](Z)['catch'](ft),'addComment':({channelId:_0x50a8bc,threadId:_0x4f4a11,commentId:_0x19d304,content:_0x26da7f,attributes:_0x475101})=>this['_getService'](_0x50a8bc)['addComment'](_0x4f4a11,_0x19d304,_0x26da7f,_0x475101)['catch'](ft),'updateComment':({channelId:_0x56bed9,threadId:_0x121e52,commentId:_0x52d05f,content:_0x58c5b5,attributes:_0x4444c4})=>this['_getService'](_0x56bed9)['updateComment'](_0x121e52,_0x52d05f,_0x58c5b5,_0x4444c4)['catch'](Z)['catch'](ft),'removeComment':({channelId:_0x3ea359,threadId:_0x4a6538,commentId:_0x5966f0})=>this['_getService'](_0x3ea359)['removeComment'](_0x4a6538,_0x5966f0)['catch'](Z)['catch'](ft)},_0x1328e0 instanceof _0x3bfcf4){const _0x3ac029=_0x1328e0['config']['get']('collaboration.channelId'),_0x1b6077=_0x1328e0['plugins']['get'](i);await this['_setUpService'](_0x3ac029);const _0x396842=await this['_services']['get'](_0x3ac029)['getConnectedSessions']();this['listenTo'](_0x1b6077,'sessionAdd:'+_0x3ac029,(_0x1a2e9e,{session:_0x2ca907})=>{_0x2ca907['id']===_0x1b6077['mySessionId']&&(_0x1a2e9e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2ca907['permissions'],_0x3ac029));}),_0x1b6077['register'](_0x3ac029,_0x396842);}}async['_setUpService'](_0x2a178e){if(this['_services']['has'](_0x2a178e))throw new _0x15d9d3('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2a178e});const _0x596e16=this['context']['plugins']['get']('CommentsRepository'),_0x494666=new s['CommentsService'](_0x2a178e);this['_services']['set'](_0x2a178e,_0x494666),this['listenTo'](_0x494666,'commentThreadAdded',(_0x5d0dae,_0x58e291)=>{const {commentThreadId:_0x2d0c71,documentId:_0x5ae0d6,context:_0x4ff2a3,attributes:_0x11abc3,resolvedAt:_0x1fbb03,resolvedBy:_0x869cd8,comments:_0x38dfd9}=_0x58e291;_0x596e16['getCommentThread'](_0x2d0c71)||_0x596e16['addCommentThread']({'threadId':_0x2d0c71,'channelId':_0x5ae0d6,'comments':_0x38dfd9?_0x38dfd9['map'](et):[],'context':_0x4ff2a3,'attributes':_0x11abc3,'resolvedAt':_0x1fbb03,'resolvedBy':_0x869cd8,'isFromAdapter':!0x0});}),this['listenTo'](_0x494666,'commentThreadUpdated',(_0x44f1ca,{commentThreadId:_0x3cc067,documentId:_0x442590,context:_0xbe2cff,unlinkedAt:_0x20e451,attributes:_0x51fc94})=>{_0x596e16['getCommentThread'](_0x3cc067)&&_0x596e16['updateCommentThread']({'threadId':_0x3cc067,'channelId':_0x442590,'context':_0xbe2cff,'unlinkedAt':_0x20e451,'attributes':_0x51fc94,'isFromAdapter':!0x0});}),this['listenTo'](_0x494666,'commentThreadResolved',(_0x2592bb,{commentThreadId:_0x4a973f,resolvedBy:_0x92b0aa,resolvedAt:_0x239c6e})=>{const _0x3ece95=_0x596e16['getCommentThread'](_0x4a973f);_0x3ece95&&_0x3ece95['resolve']({'resolvedBy':_0x92b0aa,'resolvedAt':_0x239c6e,'isFromAdapter':!0x0});}),this['listenTo'](_0x494666,'commentThreadReopened',(_0x4b82b8,{commentThreadId:_0x2de50b})=>{const _0x3dba92=_0x596e16['getCommentThread'](_0x2de50b);_0x3dba92&&_0x3dba92['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x494666,'commentThreadRemoved',(_0xe79898,{commentThreadId:_0x1fe1a6})=>{const _0x34efb9=_0x596e16['getCommentThread'](_0x1fe1a6);_0x34efb9&&_0x34efb9['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x494666,'commentAdded',(_0x5d3825,_0x42f110)=>{const _0x51cc0b=_0x42f110['commentThreadId'],_0x20486b=_0x596e16['getCommentThread'](_0x51cc0b);_0x20486b&&_0x20486b['addComment']({...et(_0x42f110),'isFromAdapter':!0x0});}),this['listenTo'](_0x494666,'commentUpdated',(_0x431e9c,{commentThreadId:_0x4b6d7c,commentId:_0x46869e,content:_0x396bc9,attributes:_0xbe24c2})=>{const _0x1e6f00=_0x596e16['getCommentThread'](_0x4b6d7c);if(_0x1e6f00){const _0x2a2f46=_0x1e6f00['getComment'](_0x46869e);_0x2a2f46&&_0x2a2f46['update']({'content':_0x396bc9,'attributes':_0xbe24c2,'isFromAdapter':!0x0});}}),this['listenTo'](_0x494666,'commentRemoved',(_0xb48390,{commentThreadId:_0x2596f3,commentId:_0x4aae21})=>{const _0x478179=_0x596e16['getCommentThread'](_0x2596f3);if(_0x478179){const _0x137179=_0x478179['getComment'](_0x4aae21);_0x137179&&_0x137179['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2a178e);}['destroy'](){if(this['context']instanceof _0x3bfcf4){const _0x47580a=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x47580a);}}['_terminateService'](_0x2aa1be){if(!this['_services']['has'](_0x2aa1be))throw new _0x15d9d3('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2aa1be});this['_getService'](_0x2aa1be)['disconnect'](),this['_services']['delete'](_0x2aa1be);}async['reconnect'](){for(const _0x5d8941 of this['_services']['keys']())await this['_connectService'](_0x5d8941);if(this['context']instanceof _0x3bfcf4){const _0x47f7e4=this['context']['config']['get']('collaboration.channelId'),_0x2efacc=this['context']['plugins']['get'](i);_0x2efacc['unregister'](_0x47f7e4);const _0x5eaa08=await this['_services']['get'](_0x47f7e4)['getConnectedSessions']();_0x2efacc['register'](_0x47f7e4,_0x5eaa08);}}async['_connectService'](_0x3aef5d){const {connection:_0x2f56cc}=this['context']['plugins']['get'](n),_0x477692=this['context']['plugins']['get']('CommentsRepository'),_0x687ca3=this['_services']['get'](_0x3aef5d),_0x241a33=await _0x687ca3['connect'](_0x2f56cc);await this['_fetchMissingUsersForThreads'](_0x241a33);const _0x58f715=new Set(Array['from'](_0x477692['getCommentThreads']({'channelId':_0x3aef5d}),_0xe87c28=>_0xe87c28['id']));for(const _0x5a79bf of _0x241a33)_0x5a79bf['deletedAt']||_0x58f715['delete'](_0x5a79bf['commentThreadId']);for(const _0x25bd52 of _0x58f715)_0x477692['getCommentThread'](_0x25bd52)['remove']({'isFromAdapter':!0x0});for(const _0x12baeb of _0x241a33){let _0x5d26b0=_0x477692['getCommentThread'](_0x12baeb['commentThreadId']);const {commentThreadId:_0x57362c,context:_0x10824f,attributes:_0x49737a,resolvedBy:_0x423d6d,resolvedAt:_0x307e27,unlinkedAt:_0x5b4ed0,deletedAt:_0x5468d9}=_0x12baeb;if(_0x5468d9)continue;_0x5d26b0||(_0x5d26b0=_0x477692['addCommentThread']({'channelId':_0x3aef5d,'threadId':_0x57362c,'context':_0x10824f,'attributes':_0x49737a||{},'resolvedBy':_0x423d6d,'resolvedAt':_0x307e27,'unlinkedAt':_0x5b4ed0,'isFromAdapter':!0x0}));const _0x3317b8=new Set(Array['from'](_0x5d26b0['comments'],_0x1563bb=>_0x1563bb['id']));for(const _0xa81249 of _0x12baeb['comments'])_0x3317b8['delete'](_0xa81249['commentId']);for(const _0x3fcff8 of _0x3317b8)_0x5d26b0['getComment'](_0x3fcff8)['remove']({'isFromAdapter':!0x0});for(const _0x5142ab of _0x12baeb['comments']){const _0x30a19e=_0x5d26b0['getComment'](_0x5142ab['commentId']);_0x30a19e?_0x30a19e['content']!==_0x5142ab['content']&&_0x30a19e['update']({'content':_0x5142ab['content'],'isFromAdapter':!0x0}):_0x5d26b0['addComment'](Object['assign'](et(_0x5142ab),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1eeca8){if(!this['_services']['has'](_0x1eeca8))throw new _0x15d9d3('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1eeca8});return this['_services']['get'](_0x1eeca8);}async['_fetchMissingUsersForThreads'](_0x59f5ad){const _0x31d647=this['context']['plugins']['get'](_0x2ddec4),{connection:_0x2832d1}=this['context']['plugins']['get'](n),_0x47837d=new Set();for(const {resolvedBy:_0x405599,comments:_0x5a9182}of _0x59f5ad){_0x405599&&!_0x31d647['getUser'](_0x405599)&&_0x47837d['add'](_0x405599);for(const {userId:_0xf7948e}of _0x5a9182)_0x31d647['getUser'](_0xf7948e)||_0x47837d['add'](_0xf7948e);}if(0x0===_0x47837d['size'])return;const _0x4f32e2=await ut['getMany'](_0x2832d1,Array['from'](_0x47837d));for(const _0x40ab37 of _0x4f32e2)_0x31d647['getUser'](_0x40ab37['id'])||_0x31d647['addUser'](_0x40ab37);}}async function Z(_0x3b460c){if('404'!==_0x3b460c['code'])throw _0x3b460c;}function ft(_0x51052f){if((_0x45d984=_0x51052f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x45d984['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x45d984['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x45d984;throw _0x51052f;}function et(_0x5b4e78){return{'threadId':_0x5b4e78['commentThreadId'],'commentId':_0x5b4e78['commentId'],'content':_0x5b4e78['content'],'createdAt':_0x5b4e78['createdAt'],'authorId':_0x5b4e78['userId'],'attributes':_0x5b4e78['attributes']||{}};}class m extends _0x50299c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>it)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e330c){super(_0x1e330c);const _0x30d26e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x30d26e);}['init'](){const _0x3fee0f=this['editor']['plugins']['get'](n),_0x292286=this['editor']['plugins']['get']('TrackChangesEditing');return _0x292286['adapter']={'getSuggestion':async _0x1baff8=>{await this['_waitForServiceReady']();const _0x5abe97=await this['_trackChangesService']['get'](_0x1baff8)['catch'](tt);return await this['_fetchMissingUsersForThreads']([_0x5abe97]),_0x5abe97;},'addSuggestion':async({id:_0x3ef523,type:_0xf433a1,data:_0x2ad027,originalSuggestionId:_0x20aab1,attributes:_0x4fd06b})=>{await this['_waitForServiceReady']();const _0x4187e8={'id':_0x3ef523,'type':_0xf433a1,'data':_0x2ad027,'originalSuggestionId':_0x20aab1,'attributes':_0x4fd06b},_0x1155b3=await this['_trackChangesService']['add'](_0x3ef523,_0xf433a1,_0x2ad027,_0x20aab1,_0x4fd06b)['catch'](_0x59fc5a=>{if(mt(_0x59fc5a))return new Promise(_0x41289f=>{this['_bufferedRequests']['set'](_0x3ef523,{'resolve':_0x41289f,'suggestionData':_0x4187e8});});throw _0x59fc5a;});return this['_bufferedRequests']['delete'](_0x3ef523),_0x1155b3;},'updateSuggestion':async(_0x49b854,_0x587e75)=>{if(await this['_waitForServiceReady'](),'open'!==_0x587e75['state'])return this['_trackChangesService']['update'](_0x49b854,_0x587e75)['catch'](tt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x544994,_0x2635d2)=>{_0x292286['hasSuggestion'](_0x2635d2['id'])&&(_0x292286['getSuggestion'](_0x2635d2['id'])['attributes']=_0x2635d2['attributes']);}),this['_trackChangesService']['connect'](_0x3fee0f['connection'])['then'](_0x5f41eb=>(_0x3fee0f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5f41eb)['then'](()=>{for(const _0x2fd1e2 of _0x5f41eb){_0x292286['addSuggestionData'](_0x2fd1e2)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5f21d0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x10092f}=this['editor']['plugins']['get'](n),_0x5c23db=await this['_trackChangesService']['connect'](_0x10092f);await this['_fetchMissingUsersForThreads'](_0x5c23db);for(const {suggestionData:_0x5ccf3e,resolve:_0x1d0640}of this['_bufferedRequests']['values']()){let _0x1d6443=_0x5c23db['find'](_0x23bdb2=>_0x23bdb2['id']===_0x5ccf3e['id']);_0x1d6443||(_0x1d6443=await this['_trackChangesService']['add'](_0x5ccf3e['id'],_0x5ccf3e['type'],_0x5ccf3e['data'],_0x5ccf3e['originalSuggestionId'])),_0x1d0640(_0x1d6443);}for(const _0x3d736c of _0x5c23db)_0x5f21d0['hasSuggestion'](_0x3d736c['id'])||_0x5f21d0['addSuggestionData'](_0x3d736c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0xe8ddbe=>{this['listenTo'](this['_trackChangesService'],'connected',_0x165ca9=>{_0x165ca9['off'](),_0xe8ddbe();});});}async['_fetchMissingUsersForThreads'](_0x24bfc6){const _0x3eadac=this['editor']['plugins']['get'](_0x2ddec4),{connection:_0x4c3ccb}=this['editor']['plugins']['get'](n),_0x2ae77c=new Set();for(const {authorId:_0x266c64}of _0x24bfc6)_0x3eadac['getUser'](_0x266c64)||_0x2ae77c['add'](_0x266c64);if(0x0===_0x2ae77c['size'])return;const _0x5cefe0=await ut['getMany'](_0x4c3ccb,Array['from'](_0x2ae77c));for(const _0x363a18 of _0x5cefe0)_0x3eadac['getUser'](_0x363a18['id'])||_0x3eadac['addUser'](_0x363a18);}}function tt(_0xd6db91){if(mt(_0xd6db91))return new Promise(()=>{});throw _0xd6db91;}function mt(_0x245509){return _0x245509['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x245509['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x50299c{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x43cc5f=this['editor']['plugins']['get'](n),_0xad7506=this['editor']['plugins']['get']('CommentsEditing'),_0x4afa1d=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x43cc5f,'change:state',(_0x2f5109,_0x2ea7c1,_0x17e15b)=>{_0xad7506['isThreadsLoadingPaused']='connected'!==_0x17e15b;});}),this['listenTo'](_0x43cc5f,'change:state',(_0x4c687b,_0x4471ac,_0x4d8fda)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4d8fda);}),_0x4afa1d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x50299c{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x50299c{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>rt)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x2ddec4];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b573c){super(_0x2b573c);const _0x51dfb1=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x51dfb1);}async['init'](){const _0xdb04be=this['editor']['plugins']['get'](l),_0x24029e=_0xdb04be['serverHistory'],_0x45621d=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x24029e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xdb04be['sessionId']});const _0xd30f9e=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x41a180=await ot['isBundleUploaded'](_0x45621d['connection'],_0xd30f9e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2346f6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2346f6)),'updateRevisions':async _0xbb3772=>{await this['_waitForServiceReady']();const _0x590e9=this['_revisionTracker']['currentRevision'];if(_0x41a180&&0x1===_0xbb3772['length']&&_0xbb3772[0x0]['id']===_0x590e9['id'])return _0xbb3772;for(const _0x59efb6 of _0xbb3772)_0x59efb6['id']===_0x590e9['id']&&(_0x59efb6['isEmptyCurrent']=_0x59efb6['fromVersion']===_0x59efb6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xbb3772,this['_lastRequestId'])['then'](_0x15f733=>(this['_lastRequestId']=_0x15f733,_0xbb3772))['catch'](_0x10fb3a=>{if(st(_0x10fb3a)||'400'===_0x10fb3a['code']&&void 0x0!==_0x10fb3a['data']['wrongRequestId']){for(const _0x53d5ca of _0xbb3772){!this['_revisionTracker']['repository']['getRevision'](_0x53d5ca['id'])||this['_revisionTracker']['_bufferUpdate'](_0x53d5ca['id'],_0x53d5ca,!0x1);}if(st(_0x10fb3a))throw _0x10fb3a;return _0xbb3772;}throw _0x10fb3a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x49cd69,{revisionsData:_0x3aead8,requestId:_0x4dd52d})=>{Math['max'](..._0x3aead8['map'](_0x15e12e=>_0x15e12e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3aead8,_0x4dd52d);}):this['_handleRevisionsUpdate'](_0x3aead8,_0x4dd52d);});const {revisions:_0x36b2b7,requestId:_0xfc878b}=await this['_revisionHistoryService']['connect'](_0x45621d['connection']);_0x45621d['addToReconnectionStack'](this),this['_lastRequestId']=_0xfc878b,await this['_fetchMissingUsers'](_0x36b2b7);for(const _0x584f64 of _0x36b2b7)this['_revisionTracker']['addRevisionData'](_0x584f64);this['listenTo'](_0xdb04be,'change:_isConnected',(_0x402818,_0x11e28f,_0x4daab7)=>{_0x4daab7&&(this['_oldOffset']=_0xdb04be['_offset'],_0x402818['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x45621d,'state',_0x3fe16a=>_0x3fe16a===_0x22abe['CONNECTED']);}async['reconnect'](){const _0x567a27=this['editor']['plugins']['get'](n),_0xede870=this['editor']['plugins']['get'](l),_0x3744d8=async()=>{const _0x3400e3=this['_revisionTracker']['currentRevision'],_0x4b98c1=_0x3400e3['id'],_0x44695b=_0x4b98c1!==_0xede870['sessionId'];if(_0x44695b){const _0x2fca5a=_0xede870['_offset']-this['_oldOffset'],_0x35480a=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3400e3['toVersion']+_0x2fca5a!==_0x35480a){const _0x108336=_0x3400e3['fromVersion']+_0x2fca5a,_0x1961d0=this['editor']['plugins']['get'](_0x2ddec4),_0x1a55af=this['_revisionTracker']['buildRevisionData']({'revision':_0x3400e3,'from':_0x108336,'to':_0x35480a});_0x1a55af['id']=_0x3400e3['id'];const _0x47c680=_0x1a55af['authorsIds']['map'](_0x5dcb51=>_0x1961d0['getUser'](_0x5dcb51));_0x3400e3['_update']({..._0x1a55af,'authors':_0x47c680},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3400e3['id'],_0x1a55af,!0x0);}this['_revisionTracker']['_startingVersion']=_0x35480a,(_0x3400e3['toVersion']===_0x3400e3['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4b98c1)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4b98c1),this['_revisionTracker']['_createCurrentRevision'](_0x35480a));}const {revisions:_0x8acc34,requestId:_0x2acb24}=await this['_revisionHistoryService']['reconnect'](_0x567a27['connection'],this['_lastRequestId']);_0x44695b&&_0x8acc34['length']>0x0?_0xede870['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x8acc34),this['_handleRevisionsUpdate'](_0x8acc34,_0x2acb24),this['_revisionTracker']['sendBufferedUpdates']());};return _0xede870['_isConnected']?_0x3744d8():new Promise((_0x1dd0bf,_0x130a2c)=>{_0xede870['once']('change:_isConnected',()=>{_0x3744d8()['then'](_0x1dd0bf)['catch'](_0x130a2c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5cc39b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4d6e42=>{_0x4d6e42['off'](),_0x5cc39b();});});}['_getLatestVersionFromServerOperations'](){const _0x50dfe1=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2412d7 of _0x50dfe1)if('marker'!==_0x2412d7['type']||_0x2412d7['affectsData'])return _0x2412d7['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1f3b13=this['editor']['plugins']['get'](l);return new Promise(_0x43ff25=>{_0x1f3b13['_isPendingUpdate']?_0x1f3b13['once']('change:_isPendingUpdate',()=>{_0x43ff25(this['_getLatestVersionFromServerOperations']());}):_0x43ff25(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x26c95d,_0x400287){const _0x3726b5=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x400287;for(const _0x53ab9f of _0x26c95d){const _0x40aa4e=_0x3726b5['getRevision'](_0x53ab9f['id']);if(_0x40aa4e){if((_0x53ab9f['fromVersion']||_0x53ab9f['toVersion'])&&(_0x53ab9f['diffData']=null),_0x40aa4e===this['_revisionTracker']['currentRevision']){const _0x2e621f=Math['max'](_0x40aa4e['toVersion'],_0x53ab9f['toVersion']),_0x4aaf21=Math['max'](_0x40aa4e['fromVersion'],_0x53ab9f['fromVersion']);let _0x104d2c;_0x40aa4e['toVersion']===_0x53ab9f['toVersion']&&_0x40aa4e['fromVersion']===_0x53ab9f['fromVersion']?(_0x104d2c=!0x0,this['_preventResendingRevisionData'](_0x53ab9f)):_0x53ab9f['toVersion']===_0x2e621f&&_0x53ab9f['fromVersion']===_0x4aaf21?_0x104d2c=!0x1:(_0x40aa4e['toVersion']===_0x2e621f&&_0x40aa4e['fromVersion']===_0x4aaf21||this['_fixRevision']({'revision':_0x40aa4e,'from':_0x4aaf21,'to':_0x2e621f}),_0x104d2c=!0x0),_0x104d2c&&(delete _0x53ab9f['fromVersion'],delete _0x53ab9f['toVersion'],delete _0x53ab9f['diffData'],delete _0x53ab9f['createdAt'],delete _0x53ab9f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x53ab9f),this['_preventResendingRevisionData'](_0x53ab9f);}else this['_revisionTracker']['addRevisionData'](_0x53ab9f);}const _0x3f082e=_0x3726b5['getRevisions']();_0x3f082e['reverse']();for(let _0x4f3208=0x0;_0x4f3208<_0x3f082e['length']-0x1;_0x4f3208++){const _0x1bb915=_0x3f082e[_0x4f3208],_0x76f0a5=_0x3f082e[_0x4f3208+0x1];if(_0x1bb915['fromVersion']<_0x76f0a5['toVersion']){const _0x219c65=_0x76f0a5['toVersion'],_0x327974=Math['max'](_0x219c65,_0x1bb915['toVersion']);this['_fixRevision']({'revision':_0x1bb915,'from':_0x219c65,'to':_0x327974});}}}['_fixRevision']({revision:_0x54d2b8,from:_0x2094a4,to:_0x3c0bde}={}){const _0x21df20=this['editor']['plugins']['get'](_0x2ddec4),_0x37cf3a=this['_revisionTracker']['buildRevisionData']({'revision':_0x54d2b8,'from':_0x2094a4,'to':_0x3c0bde});_0x37cf3a['authors']=_0x37cf3a['authorsIds']['map'](_0x78d011=>_0x21df20['getUser'](_0x78d011)),_0x54d2b8['_update'](_0x37cf3a);}['_preventResendingRevisionData'](_0x572583){const _0x279ec2={};_0x279ec2['id']=_0x572583['id'];for(const _0xf6ddbd of Object['keys'](_0x572583))'id'!==_0xf6ddbd&&(_0x279ec2[_0xf6ddbd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x279ec2['id'],_0x279ec2,!0x0);}async['_fetchMissingUsers'](_0xef35fd){const _0x4482de=this['editor']['plugins']['get'](_0x2ddec4),{connection:_0x3f0a8b}=this['editor']['plugins']['get'](n),_0x3e9dfa=new Set();for(const _0x28ccce of _0xef35fd){for(const _0x2fcb94 of _0x28ccce['authorsIds'])_0x26379e(_0x2fcb94);_0x28ccce['creatorId']&&_0x26379e(_0x28ccce['creatorId']);}if(0x0===_0x3e9dfa['size'])return;const _0x5de4c4=await ut['getMany'](_0x3f0a8b,Array['from'](_0x3e9dfa));for(const _0x17303f of _0x5de4c4)_0x4482de['getUser'](_0x17303f['id'])||_0x4482de['addUser'](_0x17303f);function _0x26379e(_0x2d9ad6){_0x4482de['getUser'](_0x2d9ad6)||_0x3e9dfa['add'](_0x2d9ad6);}}}function st(_0xc3628e){return _0xc3628e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xc3628e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc3628e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x50299c{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x20b1ba{['_collapseAt'];constructor(_0x25b786,_0x5b8e13=0x6){super(_0x25b786);const _0xebf94a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5b8e13,this['bind']('isHidden')['to'](this,'usersCount',_0x13d43f=>_0x13d43f<_0x5b8e13),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xebf94a['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0xebf94a['to']('usersCount',_0x3256a6=>'+'+(_0x3256a6-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x20b1ba{['items'];['keystrokes'];constructor(_0x5d55f){super(_0x5d55f);const _0x135ffd=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x204166(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x135ffd['if']('hasPopup'),'aria-expanded':_0x135ffd['to']('isExpanded',_0x3b7071=>this['hasPopup']&&String(_0x3b7071)),'aria-label':_0x135ffd['to']('hasPopup',_0x349d3c=>E(_0x5d55f,_0x349d3c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x135ffd['to']('hasPopup',_0x145451=>!!_0x145451&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x135ffd['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x135ffd['to'](_0x1e92b4=>{const _0x3aab68=_0x1e92b4,_0x553d75=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5c47d4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x553d75?.['contains'](_0x3aab68['relatedTarget'])||_0x5c47d4?.['contains'](_0x3aab68['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xc7ab33,_0x10e8ae,_0x58b5ae)=>{this['element']&&(_0x58b5ae?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x20b1ba{['counterView'];['inlineListView'];constructor(_0x261aaa,_0xe65579=0x6){super(_0x261aaa);const _0x468650=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xe65579),this['inlineListView']=new is(_0x261aaa),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1fc1b8 of this['inlineListView']['items'])_0x1fc1b8['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x468650['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x20b1ba{['listWrapperView'];constructor(_0x3b2050,_0x10a3f6){super(_0x3b2050);const _0x4998d1=this['bindTemplate'];this['listWrapperView']=new wt(_0x3b2050,_0x10a3f6),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x3b2050,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4998d1['to'](_0x11e62e=>{const _0x578003=_0x11e62e,_0x5a15ec=document['querySelector']('.ck-presence-list__list'),_0x380940=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5a15ec?.['contains'](_0x578003['relatedTarget'])||_0x380940?.['contains'](_0x578003['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x459d63{constructor(_0x46d9ad,_0x3bc42f){super(_0x46d9ad);const _0xd136ac=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3bc42f?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xd136ac['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xd136ac['to']('role'),'aria-label':_0xd136ac['to']('ariaLabel'),'aria-labelledby':_0xd136ac['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x14d20d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4a866c=this['element'];_0x4a866c&&(this['_isScrollable']=Math['max'](_0x4a866c['scrollHeight'],_0x4a866c['clientHeight'])>0.8*window['innerHeight']);}}class j extends ct{['userView'];constructor(_0x219f92,_0x410980,_0x5655a5){super(_0x219f92);const _0x18e5dc=this['bindTemplate'];this['userView']=new at(_0x219f92,_0x410980);const _0x11e9dd={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x410980['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x410980['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x410980['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5655a5&&(_0x11e9dd['tag']='button',_0x11e9dd['on']={'click':_0x18e5dc['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x11e9dd);}['focus'](){this['element']['focus']();}}class A extends _0x20b1ba{['userView'];['markerView'];constructor(_0x50313f,_0x17794b,_0x4abb8d){super(_0x50313f);const _0x394fd9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x50313f,_0x17794b),this['markerView']=new nt(_0x50313f,_0x17794b);const _0x13065c=new lt(_0x50313f);_0x13065c['template']['tag']='span',_0x13065c['text']=_0x17794b['name'];const _0x1ac657={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x394fd9['to']('isFocusable',_0x569ef4=>!!_0x569ef4&&0x0),'aria-labelledby':_0x13065c['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x394fd9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x394fd9['to']('hasTooltip',_0x298e68=>!_0x298e68),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x13065c]};_0x4abb8d&&(_0x1ac657['tag']='button',_0x1ac657['on']={'click':_0x394fd9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1ac657);}}class nt extends _0x20b1ba{constructor(_0x1ac871,_0x12a042){super(_0x1ac871),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x12a042['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x35dbb9{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12d0a3){super(_0x12d0a3),this['context']['config']['define']('presenceList',x);const _0x5b75d4=_0x12d0a3['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5b75d4)throw new _0x15d9d3('presencelist-collapseat-invalid-format',this);if(_0x5b75d4<0x1)throw new _0x15d9d3('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4520ed(),this['balloonPanelView']=new _0x55a620(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x3c1b9f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x3c1b9f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e72e4,_0xdb9c89)=>{this['_handleUserAdd'](_0xdb9c89);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x18729c,_0x52a4ca)=>{this['_handleUserRemove'](_0x52a4ca);});}['_createView'](){const _0x29dbdd=this['context'],_0x1fa95e=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x29dc37=this['balloonPanelView'];if(!_0x30d6ba(_0x29dbdd['config']['get']('presenceList.container')))throw new _0x15d9d3('presencelist-missing-container',this);return _0x1fa95e['counterView']['bind']('usersCount')['to'](this),_0x1fa95e['bind']('isCollapsed')['to'](this,'usersCount',_0xd8c479=>{const {collapseAt:_0x41d567}=_0x29dbdd['config']['get']('presenceList'),_0x2653f9=_0xd8c479>=_0x41d567;if(_0x2653f9&&!_0x1fa95e['inlineListView']['items']['find'](_0x242921=>_0x242921 instanceof b)){const _0x1dda0d=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1dda0d&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1fa95e['inlineListView']['items']['add'](_0x1fa95e['counterView']);}return _0x2653f9||this['hideDropdown'](),_0x2653f9;}),_0x1fa95e['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x452b9c=>{const _0x23869e=_0x29dbdd['config']['get']('presenceList'),_0x4bcf7a=new A(_0x29dbdd['locale'],_0x452b9c,!!_0x23869e['onClick']);return _0x4bcf7a['bind']('hasTooltip')['to'](_0x1fa95e,'isCollapsed',_0x557271=>!_0x557271),_0x4bcf7a['bind']('isFocusable')['to'](_0x1fa95e,'isCollapsed',_0x43c430=>!_0x43c430),_0x23869e['onClick']&&this['listenTo'](_0x4bcf7a,'execute',()=>{this['view']['isCollapsed']||_0x23869e['onClick'](_0x452b9c,_0x4bcf7a['element']);}),_0x4bcf7a;}),this['listenTo'](_0x1fa95e['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1fa95e['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1fa95e['inlineListView']['keystrokes']['set']('Enter',(_0x915f2c,_0x2d61d5)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2d61d5());}),_0x1fa95e['render'](),_0x29dc37['render'](),_0x1bccb4({'emitter':_0x1fa95e,'activator':()=>_0x29dc37['isVisible'],'contextElements':[_0x29dc37['element'],_0x1fa95e['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x29dbdd['config']['get']('presenceList.container')['appendChild'](_0x1fa95e['element']),this['_bodyCollection']=new _0x27d435(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1fa95e;}['_handleUserAdd'](_0x11cb5f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x11cb5f['isMe'])return;const _0x5a877c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5a877c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x62f59f=_0x11cb5f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x11cb5f,_0x62f59f);}['_handleUserRemove'](_0x2bfd95){this['usersCount']--;const {collapseAt:_0x498d4f}=this['context']['config']['get']('presenceList'),_0x51ca48=this['usersCount']>=_0x498d4f;if(this['currentDisplayedUsers']['get'](_0x2bfd95['id']))this['currentDisplayedUsers']['remove'](_0x2bfd95['id']);else{if(_0x51ca48&&this['currentDisplayedUsers']['length']+0x1===_0x498d4f-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x51ca48?0x1:0x0)<this['usersCount']){for(const _0x4f837f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4f837f['id'])&&(this['currentDisplayedUsers']['add'](_0x4f837f,Math['min'](this['currentDisplayedUsers']['length']-(_0x51ca48?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x51ca48?0x1:0x0)===_0x498d4f-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x2c5a47=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x2c5a47['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x17d890}=this['presenceDropdownView'];_0x17d890['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5f4d31=>{if(!_0x2c5a47['displayMe']&&_0x5f4d31['isMe'])return null;const _0x2cb3c9=new j(this['context']['locale'],_0x5f4d31,!!_0x2c5a47['onClick']);return _0x2c5a47['onClick']&&this['listenTo'](_0x2cb3c9,'execute',()=>{_0x2c5a47['onClick'](_0x5f4d31,_0x2cb3c9['element']);}),_0x2cb3c9;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x17d890['focus'](),_0x17d890['checkIfScrollable']();const _0x40f32e=(_0x3115be,_0x292935)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x292935();};_0x17d890['keystrokes']['set']('Esc',_0x40f32e),_0x17d890['keystrokes']['set']('Shift+Tab',_0x40f32e),_0x17d890['keystrokes']['set']('Tab',(_0x35230b,_0x3954c3)=>{!function(_0x3099dc){const _0x59a4f7=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4474f1=>_0x4474f1+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x46f155=[...document['body']['querySelectorAll'](_0x59a4f7)]['filter'](_0x118c2e=>_0x118c2e===document['activeElement']||_0x118c2e['offsetWidth']+_0x118c2e['offsetHeight']>0x0)['sort']((_0x511d84,_0x209fec)=>(_0x511d84['tabIndex']||0x0)-(_0x209fec['tabIndex']||0x0)),_0x276a84=_0x46f155['indexOf'](_0x3099dc),_0x5cbfab=_0x46f155[(_0x276a84+0x1)%_0x46f155['length']];_0x5cbfab&&_0x5cbfab['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3954c3();}),_0x17d890['focusTracker']['add'](this['view']['element']),_0x17d890['focusTracker']['on']('change:isFocused',(_0x52519a,_0x48c182,_0x428b36)=>{_0x428b36||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x35dbb9{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x4c9aab,Plugin as _0x3d608a,PendingActions as _0x3344ae,Context as et}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1c7576,CKEditorError as _0x37827a,Collection as _0x304626,global as _0x25b73c,version as ht,uid as _0x251d12,KeystrokeHandler as _0x51fee6}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1ce3dd,View as _0x3c4b16,ListView as _0x479a71,ListItemView as rt,LabelView as at,BalloonPanelView as _0x42f610,clickOutsideHandler as _0x243732,BodyCollection as _0x11e201}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x5bef08,History as _0x1baec2,NoOperation as _0x54caae,InsertOperation as _0xc7133a,MarkerOperation as _0x16bcd6,RootAttributeOperation as _0x3c5c70,transformOperationSets as _0x566c6e,OperationFactory as _0x4c1e39}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x3024a4,CollaborativeEditingService as _0x387a2c,User as ut,CommentsService as ot,TrackChangesService as _0x3fdc97,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3fd63c,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x232852}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1f2533}from'es-toolkit/compat';class n extends _0x4c9aab{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1ce3dd];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x25c805){super(_0x25c805),this['set']('state',_0x3024a4['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1c7576())();}['init'](){const _0xc6bedf=this['context'],_0x54f0b9=_0xc6bedf['plugins']['get']('CloudServices'),_0x54c935=_0xc6bedf['plugins']['get'](_0x1ce3dd);if(!_0x54f0b9['token'])throw new _0x37827a('websocketgateway-missing-token',this);if(!_0x54f0b9['webSocketUrl'])throw new _0x37827a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x54f0b9['token'],_0x54f0b9['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x32a39e=>{if(this['connection']=_0x32a39e,this['bind']('state')['to'](_0x32a39e,'state',this,'_isBrowserOffline',(_0x4d3a28,_0x6d4bd7)=>('connected'!==_0x4d3a28&&(this['_shouldPluginsReconnect']=!0x0),_0x6d4bd7||_0x4d3a28!==_0x3024a4['CONNECTED']?_0x3024a4['DISCONNECTED']:this['state']==_0x3024a4['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3024a4['CONNECTING']):_0x3024a4['CONNECTED'])),this['connection']['on']('error',(_0x813d94,_0x4424af)=>{if('limitExceeded'!==_0x4424af['code'])throw console['error'](_0x4424af),new _0x37827a('cloudservices-init',null,{'originalError':_0x4424af});_0x54c935['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x32a39e['me'])return new Promise(_0x13bf61=>_0x32a39e['on']('change:me',_0x13bf61));})['catch'](_0x5dabd0=>{throw console['error'](_0x5dabd0),new _0x37827a('cloudservices-init',null,{'originalError':_0x5dabd0});});}['addToReconnectionStack'](_0x3692f5){if('function'!=typeof _0x3692f5['reconnect'])throw new _0x37827a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3692f5))throw new _0x37827a('websocketgateway-plugin-already-registered',this,{'name':_0x3692f5['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3692f5);}['removeFromReconnectionStack'](_0x5ec449){this['_reconnectionStack']['delete'](_0x5ec449);}['isInReconnectionStack'](_0x3ff01f){return this['_reconnectionStack']['has'](_0x3ff01f);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x32c3ba=>_0x32c3ba['reconnect']())))['then'](()=>this['state']=_0x3024a4['CONNECTED'])['catch'](_0x5e7bcb=>{throw console['error'](_0x5e7bcb),new _0x37827a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3024a4['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x4c9aab{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x3fd63c];}constructor(_0x1c32a7){super(_0x1c32a7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x304626(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3fd63c);}['init'](){const _0x55f7db=this['context']['plugins']['get'](n);this['listenTo'](_0x55f7db,'change:state',(_0x282423,_0x14a8e8,_0x3bab08)=>{if('connected'!==_0x3bab08)this['channelSessions']['forEach'](_0x141425=>_0x141425['clear']()),this['channelConnectedUsers']['forEach'](_0x5eec5e=>_0x5eec5e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x410b3d,_0x1c75be]of this['_registeredSessions'])for(const _0x3e1e1c of _0x1c75be)this['_handleSessionAdd'](_0x410b3d,_0x3e1e1c);}}),this['_createUser'](_0x55f7db['connection']['me'],!0x0);}['register'](_0x536fb8,_0x46059d){if(this['_registeredSessions']['has'](_0x536fb8))throw new _0x37827a('sessions-register-already-registered',null,{'channelId':_0x536fb8});this['_registeredSessions']['set'](_0x536fb8,_0x46059d),this['channelSessions']['set'](_0x536fb8,new _0x304626()),this['channelConnectedUsers']['set'](_0x536fb8,new _0x304626()),this['listenTo'](_0x46059d,'add',(_0x55ea5e,_0x2380ee)=>this['_handleSessionAdd'](_0x536fb8,_0x2380ee)),this['listenTo'](_0x46059d,'remove',(_0x38d064,_0x55dfe2)=>this['_handleSessionRemove'](_0x536fb8,_0x55dfe2));for(const _0x510d34 of _0x46059d)this['_handleSessionAdd'](_0x536fb8,_0x510d34);}['unregister'](_0x5abcc6){if(!this['_registeredSessions']['has'](_0x5abcc6))throw new _0x37827a('sessions-unregister-not-exist',null,{'channelId':_0x5abcc6});const _0x100dea=this['_registeredSessions']['get'](_0x5abcc6);this['stopListening'](_0x100dea);for(const _0x430f69 of _0x100dea)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5abcc6,_0x430f69);this['_registeredSessions']['delete'](_0x5abcc6),this['channelSessions']['delete'](_0x5abcc6),this['channelConnectedUsers']['delete'](_0x5abcc6);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x232937){for(const _0x4dc998 of this['channelSessions']['values']())for(const _0x4649d4 of _0x4dc998)if(_0x4649d4['id']===_0x232937)return _0x4649d4['user'];}['getUserSessions'](_0x1b6a8b,_0x5707f2){const _0x32611c=_0x5707f2?[this['channelSessions']['get'](_0x5707f2)]:this['channelSessions']['values'](),_0x2c831c=new Set();for(const _0x25761d of _0x32611c)for(const _0x37af00 of _0x25761d)_0x37af00['user']['id']===_0x1b6a8b['id']&&_0x2c831c['add'](_0x37af00['id']);return _0x2c831c;}['getUserRole'](_0x2985c3){for(const _0x3f20ad of this['channelSessions']['values']())for(const _0x288d0c of _0x3f20ad)if(_0x288d0c['user']===_0x2985c3)return _0x288d0c['role'];}['_handleSessionAdd'](_0x283720,_0x41f7bf){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x20e751=_0x41f7bf['user'],_0x735a5=this['_users']['getUser'](_0x20e751['id'])||this['_createUser'](_0x20e751),_0xe15f5a=Object['assign']({},_0x41f7bf,{'user':_0x735a5});if(this['channelSessions']['get'](_0x283720)['add'](_0xe15f5a),!_0x20e751['hiddenInPresenceList']){const _0x3d086f=this['channelConnectedUsers']['get'](_0x283720);_0x3d086f['has'](_0x735a5['id'])||_0x3d086f['add'](_0x735a5),this['allConnectedUsers']['has'](_0x735a5['id'])||_0x20e751['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x735a5,_0x735a5['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x283720,{'channelId':_0x283720,'session':_0xe15f5a});}['_handleSessionRemove'](_0x53e393,_0x4f0b50){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x292095=this['channelConnectedUsers']['get'](_0x53e393),_0x2acc6c=_0x4f0b50['user'];_0x2acc6c['id']&&(this['channelSessions']['get'](_0x53e393)['remove'](_0x4f0b50['id']),_0x292095['has'](_0x2acc6c['id'])&&!this['getUserSessions'](_0x2acc6c,_0x53e393)['size']&&_0x292095['remove'](_0x2acc6c['id']),this['allConnectedUsers']['get'](_0x2acc6c['id'])&&!this['getUserSessions'](_0x2acc6c)['size']&&this['allConnectedUsers']['remove'](_0x2acc6c['id']));}['_createUser'](_0x42e1c6,_0x3242d5){const _0x2f7848=this['_users']['addUser'](_0x42e1c6);return _0x3242d5&&this['_users']['defineMe'](_0x42e1c6['id']),_0x2f7848['orderNumber']=this['_uniqueUsersCount']++,_0x2f7848;}}class U extends _0x3d608a{['_domEmitter']=new(_0x1c7576())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xc66d6c=this['editor'],_0x226dde=_0xc66d6c['plugins']['get'](i);_0xc66d6c['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x21f119,{writer:_0x4cedc5})=>function(_0x1d0aa1,_0x2d8fc0,_0x32ea94,_0x32eb15){const _0x359538=_0x1d0aa1['markerName']['split'](':')[0x2],_0x2968f9=_0x32ea94['getUserBySessionId'](_0x359538);if(!_0x2968f9||_0x359538===_0x32ea94['mySessionId'])return;if(!_0x32eb15['model']['schema']['checkChild'](_0x1d0aa1['markerRange']['start'],'$text'))return;const _0x54f594={'class':'ck-user__marker\x20'+_0x2968f9['color']['getMarkerClass'](),'data-name':_0x2968f9['name'],'data-session-id':_0x359538},_0x5ba96b=_0x32eb15['model']['markers']['get'](_0x1d0aa1['markerName']),_0x41085e=_0x5ba96b['getStart'](),_0x44f739=_0x41085e['nodeAfter'],_0x1647d3=_0x32eb15['model']['schema'];if(_0x44f739&&_0x1647d3['isObject'](_0x44f739)&&_0x1647d3['isInline'](_0x44f739)&&!_0x32eb15['model']['markers']['get']('user:range:'+_0x359538)['getRange']()['isCollapsed'])return;const _0x1b677c=_0x41085e['parent'];return _0x32eb15['model']['schema']['isLimit'](_0x1b677c)&&!_0x32eb15['model']['hasContent'](_0x1b677c)&&(_0x54f594['contenteditable']=!0x1),function(_0x5e334c,_0xa0edcd,_0x1013b9){const _0x322aa6=_0x5e334c['createUIElement']('span',_0xa0edcd);return _0x5e334c['setCustomProperty']('userPositionMarker',!0x0,_0x322aa6),_0x322aa6['render']=function(_0x5ce0ae){const _0x2e1f17=this['toDomElement'](_0x5ce0ae),_0x450842=document['createElement']('span');return _0x450842['classList']['add']('ck-user__marker-tooltip'),_0x450842['setAttribute']('contenteditable','false'),_0x450842['setAttribute']('spellcheck','false'),_0x450842['textContent']=_0x1013b9['name'],_0x2e1f17['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x450842['outerHTML']+'⁠',_0x2e1f17['addEventListener']('mouseenter',()=>{_0x2e1f17['classList']['add']('ck-user__marker_hovered');}),_0x2e1f17['addEventListener']('mouseleave',()=>{_0x2e1f17['classList']['remove']('ck-user__marker_hovered');}),_0x2e1f17;},_0x322aa6['isSimilar']=function(_0x517fd0){return!(!this['getCustomProperty']('userPositionMarker')||!_0x517fd0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x517fd0['getAttribute']('data-session-id'));},_0x322aa6;}(_0x2d8fc0,_0x54f594,_0x2968f9);}(_0x21f119,_0x4cedc5,_0x226dde,_0xc66d6c)}),_0xc66d6c['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x586785=>function(_0x2ed2b9,_0x3bda50){const _0x58e017=_0x2ed2b9['markerName']['split'](':')[0x2];if(_0x58e017===_0x3bda50['mySessionId'])return null;const _0x15e531=_0x3bda50['getUserBySessionId'](_0x58e017);if(!_0x15e531)return{'id':_0x58e017,'classes':[]};return{'id':_0x58e017,'classes':['ck-user__selection',_0x15e531['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x58e017},'priority':0x7d0+_0x15e531['orderNumber']};}(_0x586785,_0x226dde)}),function(_0x452685){const _0x77e57a=_0x452685['model'],_0x39df4d=new Map(),_0x434ec8=_0x452685['plugins']['get'](i);_0x77e57a['markers']['on']('update:user:range',(_0x2bf27f,_0xec7660,_0x509e10,_0x21d47f)=>{if(!_0x21d47f&&_0x39df4d['get'](_0xec7660['name']))return _0x39df4d['get'](_0xec7660['name'])['detach'](),void _0x39df4d['delete'](_0xec7660['name']);const _0x5a4983=_0xec7660['name']['split'](':')[0x2];if(_0x5a4983===_0x434ec8['mySessionId'])return;const _0x402813='user:position:'+_0x5a4983;_0x77e57a['markers']['has'](_0x402813)&&_0x452685['editing']['reconvertMarker'](_0x402813),_0xec7660['on']('change:range',(_0x32584d,_0x5ad39a,_0x3293c9)=>{if('$graveyard'!=_0x5ad39a['root']['rootName']&&'$graveyard'==_0xec7660['getRange']()['root']['rootName']&&!_0x39df4d['has'](_0xec7660['name'])){const _0x12b365=_0x77e57a['schema']['getNearestSelectionRange'](_0x3293c9['deletionPosition']);if(_0x12b365){const _0xee884a=_0x5bef08['fromRange'](_0x12b365);_0x39df4d['set'](_0xec7660['name'],_0xee884a),_0xee884a['on']('change:range',(_0x4e2d0b,_0x3dba7b,_0x5b3611)=>{if('$graveyard'==_0xee884a['root']['rootName']){const _0xe27329=_0x77e57a['schema']['getNearestSelectionRange'](_0x5b3611['deletionPosition']);_0xe27329?(_0xee884a['start']=_0xe27329['start'],_0xee884a['end']=_0xe27329['end']):(_0x39df4d['delete'](_0xec7660['name']),_0xee884a['detach']());}});}}});}),_0x77e57a['document']['on']('change',()=>{_0x39df4d['size']>0x0&&_0x77e57a['enqueueChange']({'isUndoable':!0x1},_0x464e0e=>{for(const [_0x2e2575,_0x59f116]of _0x39df4d)'$graveyard'==_0x77e57a['markers']['get'](_0x2e2575)['getRange']()['root']['rootName']&&(J(_0x2e2575['split'](':')[0x2],_0x59f116['toRange'](),_0x77e57a,_0x464e0e),_0x59f116['detach']());_0x39df4d['clear']();});});}(_0xc66d6c),this['_domEmitter']['listenTo'](_0x25b73c['document'],'keydown',(_0x643346,{key:_0x175b9b})=>{'Escape'===_0x175b9b&&function(_0x22dfda){_0x22dfda['editing']['view']['change'](_0x130b9e=>{for(const _0x175b32 of _0x22dfda['model']['markers']){if(!_0x175b32['name']['startsWith']('user:position'))continue;const _0xab974=_0x22dfda['editing']['mapper']['markerNameToElements'](_0x175b32['name']);if(_0xab974){for(const _0x4ce765 of _0xab974)_0x130b9e['removeClass']('ck-user__marker_hovered',_0x4ce765);}}});}(_0xc66d6c);},{'useCapture':!0x0});}['afterInit'](){const _0x47640e=this['editor'],_0x27e767=_0x47640e['commands']['get']('undo');_0x27e767&&_0x47640e['model']['on']('applyOperation',(_0x3ba351,_0x488153)=>{const _0xac1aee=_0x488153[0x0];if(!_0xac1aee['isDocumentOperation'])return;if('marker'!=_0xac1aee['type']||!_0xac1aee['name']['startsWith']('user:'))return;const _0x17f727=_0xac1aee['batch'];_0x27e767['_createdBatches']['has'](_0x17f727)&&(_0xac1aee['newRange']=_0xac1aee['oldRange']?_0x47640e['model']['createRange'](_0xac1aee['oldRange']['start'],_0xac1aee['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x297e0e=this['editor'],_0x448c35=_0x297e0e['model']['document'],_0x48bee2=_0x297e0e['plugins']['get'](i);_0x297e0e['model']['enqueueChange']({'isUndoable':!0x1},_0x438694=>{const _0x28c7a0='user:range:'+_0x48bee2['mySessionId'],_0x3d9152='user:position:'+_0x48bee2['mySessionId'],_0x440df1=_0x297e0e['model']['markers']['has'](_0x28c7a0);_0x297e0e['editing']['view']['hasDomSelection']?J(_0x48bee2['mySessionId'],_0x448c35['selection']['getFirstRange'](),_0x297e0e['model'],_0x438694):_0x440df1&&(_0x438694['removeMarker'](_0x28c7a0),_0x438694['removeMarker'](_0x3d9152));});}}function J(_0x273724,_0x66905f,_0x3b8ba3,_0x4a6708){const _0x47ead7='user:range:'+_0x273724,_0x3bbf27='user:position:'+_0x273724,_0x1fa1b9=_0x66905f['getContainedElement']();let _0x1c6db8=_0x66905f['start'];if(_0x1fa1b9&&_0x1fa1b9['is']('element','tableCell')){const _0x4b6c78=function(_0x48c25e,_0x16081b){for(const _0x1d97a6 of _0x48c25e['getPositions']())if(_0x16081b['schema']['checkChild'](_0x1d97a6,'$text'))return _0x1d97a6;}(_0x66905f,_0x3b8ba3);_0x4b6c78&&(_0x1c6db8=_0x4b6c78,_0x66905f=_0x4a6708['createRange'](_0x1c6db8));}const _0xc92fc7=_0x4a6708['createRange'](_0x1c6db8);_0x3b8ba3['markers']['has'](_0x47ead7)?(_0x4a6708['updateMarker'](_0x47ead7,{'range':_0x66905f}),_0x4a6708['updateMarker'](_0x3bbf27,{'range':_0xc92fc7})):(_0x4a6708['addMarker'](_0x47ead7,{'range':_0x66905f,'usingOperation':!0x0}),_0x4a6708['addMarker'](_0x3bbf27,{'range':_0xc92fc7,'usingOperation':!0x0}));}function E(_0x1785c2,_0x5041dc,_0xe71f7d){const _0xecb697=_0x1785c2['t'],t=_0x1785c2['t'];switch(_0x5041dc){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0xecb697({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0xe71f7d);default:return'';}}let H=0x1;class l extends _0x3d608a{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x387a2c)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,U,_0x3344ae,_0x3fd63c,_0x1ce3dd];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x1c2a6a=this['serverHistory']['getOperations']();for(let _0x3c62e3=_0x1c2a6a['length']-0x1;_0x3c62e3>=0x0;_0x3c62e3--){const _0x561f55=_0x1c2a6a[_0x3c62e3];if(!this['_disconnectionOperations']['has'](_0x561f55))return _0x561f55['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5488a2){if(super(_0x5488a2),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1baec2(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x37827a('collaboration-missing-channelid',this);const _0x185fe5=_0x5488a2['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x185fe5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x232852(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new F(this['_disconnectionOperations']);}['init'](){const _0x2334bd=this['editor'],_0x2c240c=_0x2334bd['plugins']['get'](_0x3fd63c),_0x4e478=_0x2334bd['plugins']['get'](n);this['listenTo'](_0x2c240c,'getOperationAuthor',(_0xa927e9,_0x4c49ac)=>{const _0xd71639=_0x4c49ac[0x0];_0xd71639['_authorId']&&(_0xa927e9['return']=_0x2c240c['getUser'](_0xd71639['_authorId']),_0xa927e9['stop']()),null===_0xd71639['_authorId']&&(_0xa927e9['return']=null,_0xa927e9['stop']());},{'priority':'high'}),this['listenTo'](_0x2334bd['model']['document']['selection'],'change:range',(_0x350b7b,_0x3586d7)=>{_0x3586d7['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2334bd['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2334bd['model']['on']('applyOperation',(_0x3ecb30,_0x1dc94f)=>{const _0x2f7715=_0x1dc94f[0x0];_0x2f7715['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2f7715),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4e478,'state',this,'_hasSynchronizationProblem',(_0x28ca11,_0xb399b2)=>'connected'===_0x28ca11&&!_0xb399b2),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2334bd['disableReadOnlyMode']('rtc-offline'):_0x2334bd['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2334bd['disableReadOnlyMode']('rtc-offline'):_0x2334bd['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x26aa70=this['editor']['plugins']['get'](i),_0x18a025=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x26aa70['unregister'](this['_channelId']);const _0x2961cd=await this['_service']['reconnect'](_0x18a025['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x2961cd)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1bd42f=await this['_service']['getConnectedSessions']();_0x26aa70['register'](this['_channelId'],_0x1bd42f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x59ada1){if(function(_0x4897db){return'404'===_0x4897db['code'];}(_0x59ada1)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x541452){return'409'===_0x541452['code'];}(_0x59ada1)){const _0xa5ec9d=E(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0xa5ec9d);}else{if(!(_0x59ada1 instanceof V))throw _0x59ada1;this['_handleReconnectionError']();}}}}['destroy'](){const _0x27f692=this['editor']['plugins']['get'](n),_0x258dac=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x258dac['channelSessions']['has'](this['_channelId'])&&_0x258dac['unregister'](this['_channelId']),_0x27f692['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2ac011){if(this['sessionId']!==_0x2ac011['sessionId']&&this['_lastSyncedOperationId']!==_0x2ac011['lastOperationId'])throw new V();return this['sessionId']=_0x2ac011['sessionId'],this['_handleServerResponse']([],{..._0x2ac011,'wereChangesApplied':!0x1,'data':_0x2ac011['data']},'reconnect');}async['_connectService'](_0x153a8d,_0x4cc1d4=!0x1){const {connection:_0x3bb7dd}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x3bb7dd,this['_channelId'])['then'](_0xe731b2=>this['_initSessionsHandling'](_0xe731b2))['catch'](_0x1d5879=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1d5879);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x36b609,_0x21ac9d)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x21ac9d);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xf19554=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x153a8d);this['_isPendingUpdate']=!0x0;const _0x3c11e9=await this['_service']['connect'](_0x3bb7dd,this['_compressOperations'](_0x153a8d),_0xf19554);if(this['sessionId']=_0x3c11e9['sessionId'],_0x4cc1d4){if(!_0x3c11e9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3c11e9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x153a8d,_0x3c11e9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3c11e9,_0x153a8d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xbace38=this['editor']['plugins']['get'](i),_0x312303=this['editor']['plugins']['get'](U),_0xa54d27=_0xbace38['channelSessions']['get'](this['_channelId']);_0xa54d27&&_0xa54d27['length']>0x1?_0x312303['createUserMarkerOperations']():this['listenTo'](_0xbace38,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xbace38['channelSessions']['get'](this['_channelId'])['length']&&_0x312303['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x35ce33,_0x2bca54,_0x55d1be,_0x118f47){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2bca54){const _0x114776=this['_decompressOperations'](_0x55d1be,_0x118f47);await this['_fetchMissingUsers'](_0x114776),this['_handleExternalOperations'](_0x114776,_0x2bca54,_0x55d1be['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3f377f}=this['editor'];let _0xe1668d;try{_0xe1668d=await this['_service']['getDocumentDetails']();}catch{const _0x35b4e9=E(_0x3f377f,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x35b4e9);}const _0x198cb0=_0xe1668d['currentDocumentSession']||_0xe1668d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x198cb0['lastOperationId']){const _0x2867d4=E(_0x3f377f,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2867d4);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x585ea6){const _0x527e7e=this['editor']['plugins']['get'](i);this['listenTo'](_0x527e7e,'sessionAdd:'+this['_channelId'],(_0x2d1718,{session:_0x3b2a4e})=>{if(_0x3b2a4e['id']===_0x527e7e['mySessionId']){_0x2d1718['off']();const _0x63fd17=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x565d45=_0x3b2a4e['permissions'];_0x63fd17&&_0x63fd17['isEnabled']&&(_0x565d45=_0x565d45['filter'](_0x1b8055=>'document:write'!==_0x1b8055)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x565d45,this['_channelId']);}}),_0x527e7e['register'](this['_channelId'],_0x585ea6);}['_initThrowingOnDataSet'](){const _0xd6a1d7=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1d618d)=>{if(!_0x1d618d[_0x1d618d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x37827a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xd6a1d7['apply'](this['editor']['data'],_0x1d618d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x13c0da,[_0x4f4acf])=>{if(this['_document']['version'])throw new _0x37827a('realtimecollaborationclient-init-document-already-initialized',this);_0x13c0da['stop'](),this['_setPendingAction']();const _0x369f69=this['editor']['config']['get']('rootsAttributes'),_0x135c4d=this['_getOperationsFromInitData'](_0x4f4acf,_0x369f69);0x0==_0x135c4d['length']&&_0x135c4d['push'](new _0x54caae(0x0)),_0x13c0da['return']=this['_connectService'](_0x135c4d)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1a8963=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1a8963))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1f204b,[_0x5b6487,_0x101637])=>{_0x1f204b['stop']();const _0x3a3071=this['editor']['model']['document']['getRoot'](_0x5b6487);if(!this['_knownRootNames']['has'](_0x5b6487)){const _0x19c3ca=_0x101637&&_0x101637['data']?_0x101637['data']:'',_0x5712f8=_0x101637&&_0x101637['attributes']?_0x101637['attributes']:{};await this['_loadRoot'](_0x5b6487,_0x19c3ca,_0x5712f8);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3a3071['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3a3071);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x20cb1f){const _0x187bd3=this['editor']['plugins']['get'](_0x3fd63c),{connection:_0x2b630e}=this['editor']['plugins']['get'](n),_0x55d0fa=new Set();for(const _0x3db417 of _0x20cb1f){const _0x34a278=_0x3db417['_authorId'];_0x34a278&&!_0x187bd3['getUser'](_0x34a278)&&_0x55d0fa['add'](_0x34a278);}if(0x0===_0x55d0fa['size'])return;const _0x490762=await ut['getMany'](_0x2b630e,Array['from'](_0x55d0fa));for(const _0x9ac5c3 of _0x490762)_0x187bd3['getUser'](_0x9ac5c3['id'])||_0x187bd3['addUser'](_0x9ac5c3);}['_getOperationsFromInitData'](_0x236a7b,_0x5894cb={}){const _0x24b803=this['editor']['model'],_0x15f856=[];let _0x4a9e99=0x0;const _0x49b962='string'==typeof _0x236a7b?{'main':_0x236a7b}:_0x236a7b;for(const _0x300d80 of Object['keys'](_0x49b962)){if(!this['_document']['roots']['has'](_0x300d80))throw new _0x37827a('realtimecollaborationclient-init-non-existent-root',this);const _0x32ad15=this['editor']['data']['parse'](_0x49b962[_0x300d80]),_0x522a27=this['_document']['getRoot'](_0x300d80),_0x3c7905=new _0xc7133a(_0x24b803['createPositionAt'](_0x522a27,0x0),_0x32ad15,_0x4a9e99++);_0x15f856['push'](_0x3c7905);for(const [_0x460371,_0x355b38]of _0x32ad15['markers']){const _0x3d9b8a=_0x24b803['createRange'](_0x24b803['createPositionFromPath'](_0x522a27,_0x355b38['start']['path']['slice']()),_0x24b803['createPositionFromPath'](_0x522a27,_0x355b38['end']['path']['slice']())),_0x5cc568=new _0x16bcd6(_0x460371,null,_0x3d9b8a,_0x24b803['markers'],!0x0,_0x4a9e99++);_0x15f856['push'](_0x5cc568);}}if(_0x5894cb)for(const [_0x1cb894,_0x3a77d3]of Object['entries'](_0x5894cb)){const _0x24473c=_0x24b803['document']['getRoot'](_0x1cb894);if(!_0x24473c)throw new _0x37827a('multi-root-editor-root-attributes-no-root',null);for(const [_0x125fd3,_0x282f01]of Object['entries'](_0x3a77d3))if(null!==_0x282f01){const _0x26ba29=new _0x3c5c70(_0x24473c,_0x125fd3,null,_0x282f01,_0x4a9e99++);_0x15f856['push'](_0x26ba29);}}return _0x15f856;}async['_loadRoot'](_0x30e949,_0x1c8783,_0x4dfa0c){this['_getOperationsFromInitData']({[_0x30e949]:_0x1c8783},{[_0x30e949]:_0x4dfa0c})['forEach']((_0x6bd6af,_0x290156)=>{_0x6bd6af['baseVersion']=this['_document']['version']+_0x290156,_0x6bd6af['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x6bd6af);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x25dee9,_0x954a97){let _0x176b9c;this['_offset']=_0x25dee9['offset'];const _0x44ca35=_0x25dee9['wereChangesApplied']&&!_0x25dee9['initData'],_0x2b0adc=_0x44ca35?0x0:_0x25dee9['data']['baseVersion'];if(_0x954a97['forEach'](_0x2ba165=>{_0x2ba165['_isInit']=!0x0,_0x2ba165['createdAt']=_0x25dee9['sessionCreatedAt'],_0x2ba165['_authorId']=null;}),_0x44ca35)_0x176b9c=_0x954a97,this['_applyOperationsSet'](_0x176b9c,_0x44ca35);else{if(_0x25dee9['initData']){const _0x25505e=this['_getOperationsFromInitData'](_0x25dee9['initData']);this['_document']['history']['version']=-_0x25505e['length'],_0x25505e['forEach'](_0x423566=>{_0x423566['baseVersion']-=_0x25505e['length'],_0x423566['createdAt']=_0x25dee9['sessionCreatedAt'],_0x423566['_isInit']=!0x0,_0x423566['_authorId']=null;}),this['_applyOperationsSet'](_0x25505e,!0x0),this['serverHistory']['version']=-_0x25505e['length']+this['_offset'],this['_updateServerHistory'](_0x25505e);}this['_document']['history']['version']=_0x2b0adc,_0x176b9c=this['_decompressOperations'](_0x25dee9['data'],_0x25dee9['metadata']),await this['_fetchMissingUsers'](_0x176b9c),this['_applyOperationsSet'](_0x176b9c,_0x44ca35);}_0x25dee9['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x176b9c,_0x25dee9['lastOperationId']),this['_lastSyncedOperationId']=_0x25dee9['lastOperationId']),this['serverHistory']['version']=_0x2b0adc+this['_offset'],this['_updateServerHistory'](_0x176b9c),_0x954a97['filter'](_0x2b5721=>{const _0x2047db=this['_getAffectedRoot'](_0x2b5721);return _0x2047db&&!this['_knownRootNames']['has'](_0x2047db);})['forEach']((_0x4e609d,_0x1648e1)=>{_0x4e609d['baseVersion']=this['_document']['version']+_0x1648e1,this['_saveOperationInBuffer'](_0x4e609d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5268e9,_0x548adc){const _0x2eac4a=_0x548adc&&_0x548adc['message'];if(_0x2eac4a&&_0x2eac4a['startsWith']('realtimecollaborationclient'))throw _0x548adc;const _0x3f25d6=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x3f25d6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x37827a(_0x5268e9,this['editor'],_0x2eac4a?{'originalError':_0x2eac4a}:void 0x0);}['_saveOperationInBuffer'](_0x421469){this['_knownOperations']['has'](_0x421469)||(this['_knownOperations']['add'](_0x421469),this['_bufferedOperations']['push'](_0x421469),this['_pendingAction']||'marker'==_0x421469['type']&&!_0x421469['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x85243f=!0x1){!_0x85243f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x56a058=>{_0x56a058&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5a5b3f=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4c0d2f){return _0x4c0d2f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4c0d2f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4c0d2f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5a5b3f)||this['_crash'](_0x5a5b3f['message'],_0x5a5b3f);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x4f0f8d=>{this['on']('change:_isPendingUpdate',()=>{_0x4f0f8d();});});}async['_sendBufferedOperations'](){const _0x275940=this['editor']['plugins']['get'](U);if(this['_shouldSendSelectionUpdate']()&&(_0x275940['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x40bbf3=[...this['_bufferedOperations']];for(const _0x2ccee1 of _0x40bbf3)_0x2ccee1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2ccee1);const _0x30badf=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x40bbf3),_0x37d5c9=H++,_0x259633=this['_compressOperations'](_0x40bbf3),_0x20893e=await this['_service']['sendOperations'](_0x259633,_0x259633['baseVersion'],_0x30badf);try{return await this['_handleServerResponse'](_0x40bbf3,_0x20893e,_0x37d5c9);}catch(_0xe060d4){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xe060d4);}}async['_handleServerResponse'](_0x320044,_0x92a67f,_0x457bfb){if('error'in _0x92a67f)throw _0x92a67f['error'];let _0x1f9560=!0x1;if(_0x92a67f['wereChangesApplied']){_0x92a67f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x92a67f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3a9500=>!_0x320044['includes'](_0x3a9500));for(const _0x4fddca of _0x320044)_0x4fddca['createdAt']='lastOperationAcceptedAt'in _0x92a67f&&_0x92a67f['lastOperationAcceptedAt']||void 0x0;W(_0x320044,_0x92a67f['version']-_0x320044['length']),this['_updateServerHistory'](_0x320044);const _0xb7215c=_0x320044['filter'](_0x50169e=>{if(!_0x50169e['_isInit'])return!0x1;const _0xd8de18=this['_getAffectedRoot'](_0x50169e);return _0xd8de18&&!this['_knownRootNames']['has'](_0xd8de18);});W(_0xb7215c,this['_document']['version']),this['_applyOperationsSet'](_0xb7215c),_0x1f9560=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x43af67=this['_decompressOperations'](_0x92a67f['data'],_0x92a67f['metadata'])['filter'](_0x5eb93a=>_0x5eb93a['baseVersion']>=this['_lastServerVersion']);_0x43af67['forEach'](_0x1d59ea=>this['_addKnownRoot'](_0x1d59ea)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x353eca=>!_0x353eca['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x353eca))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x43af67),_0x1f9560=this['_handleExternalOperations'](_0x43af67,_0x92a67f['version'],_0x92a67f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1f9560?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4d146e,_0x1d4ae2,_0x3c5dc7){try{const _0x3e8000={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2fabd7,operationsB:_0x5049d0,originalOperations:_0x513ee8}=_0x566c6e(_0x4d146e,this['_bufferedOperations'],_0x3e8000);W(_0x2fabd7,this['_document']['version']),W(_0x5049d0,_0x1d4ae2);for(const _0x45d689 of _0x2fabd7){const _0x46f50f=_0x513ee8['get'](_0x45d689);_0x45d689['_authorId']=_0x46f50f?_0x46f50f['_authorId']:null;}_0x3c5dc7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4d146e,_0x3c5dc7),this['_lastSyncedOperationId']=_0x3c5dc7),this['_bufferedOperations']=[..._0x5049d0],this['_applyOperationsSet'](_0x2fabd7),this['_updateServerHistory'](_0x4d146e);}catch(_0x42a033){return console['error'](_0x42a033),!0x1;}return!0x0;}['_applyOperationsSet'](_0x15266a,_0x1530a9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x9a1525=>{for(const _0x2f2af8 of _0x15266a)this['_knownOperations']['add'](_0x2f2af8),this['_addKnownRoot'](_0x2f2af8),_0x9a1525['batch']['addOperation'](_0x2f2af8),this['editor']['model']['applyOperation'](_0x2f2af8);});}['_addKnownRoot'](_0x3d031a){const _0x4bffd5=this['_getAffectedRoot'](_0x3d031a);_0x4bffd5&&this['_knownRootNames']['add'](_0x4bffd5);}['_getAffectedRoot'](_0x2ab407){let _0xeb7525,_0x4c2c0f;switch(_0x2ab407['type']){case'insert':_0xeb7525=_0x2ab407['position']['root'];break;case'marker':if(_0x4c2c0f=_0x2ab407['newRange'],!_0x4c2c0f)return null;_0xeb7525=_0x4c2c0f['root'];break;case'addRootAttribute':_0xeb7525=_0x2ab407['root'];break;case'addRoot':_0xeb7525=_0x2ab407['affectedSelectable'];break;case'move':_0xeb7525=_0x2ab407['targetPosition']['root'];break;default:return null;}return _0xeb7525['rootName'];}['_updateServerHistory'](_0x375080){_0x375080['forEach'](_0x408b80=>{const _0x50407d=_0x408b80['clone']();_0x50407d['_authorId']=_0x408b80['_authorId'],_0x50407d['_isInit']=!!_0x408b80['_isInit'],_0x50407d['createdAt']=_0x408b80['createdAt'],_0x50407d['baseVersion']+=this['_offset'],_0x408b80['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x50407d),this['serverHistory']['addOperation'](_0x50407d);});}['_handleReconnectionError'](_0x3c455d){const _0x3df358=this['editor']['plugins']['get']('Notification'),_0x192bad=this['editor']['locale'];_0x3c455d||(_0x3c455d=E(_0x192bad,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x3df358['showWarning'](_0x3c455d,{'title':E(_0x192bad,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3344ae)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3344ae)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4e24a5){const _0x213980=_0x4e24a5['map'](_0x60782b=>_0x60782b['toJSON']());return this['_compressor']['compress'](_0x213980);}['_decompressOperations'](_0x47f652,_0x2edc98){return this['_compressor']['decompress'](_0x47f652)['map']((_0x51dca7,_0xc62baa)=>{const _0x5bc327='init'==_0x2edc98[_0xc62baa]['type'];if('InsertOperation'==_0x51dca7['__className']){const _0x3ef3ae=_0x51dca7['position']['root'];!this['_document']['getRoot'](_0x3ef3ae)&&(this['_document']['createRoot']('$root',_0x3ef3ae)['_isAttached']=!0x1);}const _0x35eca3=_0x4c1e39['fromJSON'](_0x51dca7,this['_document']);return _0x35eca3['wasUndone']=_0x51dca7['wasUndone'],_0x35eca3['_isInit']=_0x5bc327,_0x35eca3['_authorId']=_0x5bc327?null:_0x2edc98[_0xc62baa]['userId'],_0x35eca3['_isDisconnection']='cs:removeUser'===_0x2edc98[_0xc62baa]['type'],_0x35eca3['createdAt']=_0x2edc98[_0xc62baa]['createdAt'],_0x35eca3;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4ab642=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4ab642&&_0x4ab642['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x3ec20f,_0x17f03f){for(const _0x3b250e of _0x3ec20f)_0x3b250e['baseVersion']=_0x17f03f++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x2ca45b){this['_ignoredOperations']=_0x2ca45b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x499c5d){let _0x274f2c=_0x499c5d['length'];for(;_0x274f2c--;){const _0x16ca25=_0x499c5d[_0x274f2c];if(!this['_ignoredOperations']['has'](_0x16ca25)){if(!this['_operationToId']['has'](_0x16ca25)){const _0x177668=_0x251d12()['slice'](0x1,0x12);this['_operationToId']['set'](_0x16ca25,_0x177668);}return this['_operationToId']['get'](_0x16ca25);}}}['setIdForTheLastOperation'](_0x5581f3,_0x1227cf){if(!_0x1227cf)return;let _0x56101d=_0x5581f3['length'];for(;_0x56101d--;){const _0x42e17e=_0x5581f3[_0x56101d];this['_ignoredOperations']['has'](_0x42e17e)||this['_operationToId']['set'](_0x42e17e,_0x1227cf);}}}class a extends _0x3d608a{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4c9aab{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>ot)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x3fd63c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x220409){super(_0x220409),this['_services']=new Map();}async['init'](){const _0x81aaca=this['context'],_0x2aae04=_0x81aaca['plugins']['get']('CommentsRepository');if(_0x81aaca['plugins']['get'](n)['addToReconnectionStack'](this),_0x2aae04['adapter']={'addCommentThread':async({channelId:_0x4db7c5,threadId:_0x53ba0b,comments:_0xc54947,resolvedAt:_0x3e4405,resolvedBy:_0x4350a2,context:_0x2ffeca,attributes:_0x214a56})=>{const _0x86ba72=await this['_getService'](_0x4db7c5)['addCommentThread']({'commentThreadId':_0x53ba0b,'comments':_0xc54947['map'](_0x42c61a=>function(_0x18703b,_0x29b38a,_0x380831){return{'commentThreadId':_0x380831,'commentId':_0x18703b['commentId'],'userId':_0x18703b['authorId'],'content':_0x18703b['content'],'documentId':_0x29b38a,'createdAt':_0x18703b['createdAt'],'attributes':_0x18703b['attributes']||{}};}(_0x42c61a,_0x4db7c5,_0x53ba0b)),'resolvedAt':_0x3e4405,'resolvedBy':_0x4350a2,'context':_0x2ffeca,'attributes':_0x214a56})['catch'](ft);return{'threadId':_0x86ba72['commentThreadId'],'comments':_0x86ba72['comments']};},'getCommentThread':async({channelId:_0x45daa4,threadId:_0x12cc6e})=>{const _0x11819b=await this['_getService'](_0x45daa4)['getCommentThread'](_0x12cc6e)['catch'](nt)['catch'](ft);return _0x11819b?_0x11819b['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x11819b]),{'threadId':_0x11819b['commentThreadId'],'comments':_0x11819b['comments']['map'](st),'context':_0x11819b['context'],'resolvedAt':_0x11819b['resolvedAt'],'resolvedBy':_0x11819b['resolvedBy'],'attributes':_0x11819b['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2c7c84,threadId:_0x5956e1,context:_0x39b78c,unlinkedAt:_0x2f67d9,attributes:_0x28240c})=>this['_getService'](_0x2c7c84)['updateCommentThread']({'commentThreadId':_0x5956e1,'context':_0x39b78c,'attributes':_0x28240c,'unlinkedAt':_0x2f67d9})['catch'](nt)['catch'](ft),'resolveCommentThread':async({channelId:_0x2d5a14,threadId:_0x3685a0})=>{const _0x2f1413=await this['_getService'](_0x2d5a14)['resolveCommentThread'](_0x3685a0)['catch'](nt)['catch'](ft);return{'threadId':_0x2f1413['commentThreadId'],'resolvedAt':_0x2f1413['resolvedAt'],'resolvedBy':_0x2f1413['resolvedBy']};},'reopenCommentThread':async({channelId:_0x37c992,threadId:_0x128fd0})=>this['_getService'](_0x37c992)['reopenCommentThread'](_0x128fd0)['catch'](nt)['catch'](ft),'removeCommentThread':({channelId:_0x5c7b1d,threadId:_0x318d4b})=>this['_getService'](_0x5c7b1d)['removeCommentThread'](_0x318d4b)['catch'](nt)['catch'](ft),'addComment':({channelId:_0xe902d6,threadId:_0x41b4c4,commentId:_0x56529f,content:_0x1a85cc,attributes:_0x2f5836})=>this['_getService'](_0xe902d6)['addComment'](_0x41b4c4,_0x56529f,_0x1a85cc,_0x2f5836)['catch'](ft),'updateComment':({channelId:_0x599d48,threadId:_0x5484f5,commentId:_0x3c2c26,content:_0x4fc067,attributes:_0x407f21})=>this['_getService'](_0x599d48)['updateComment'](_0x5484f5,_0x3c2c26,_0x4fc067,_0x407f21)['catch'](nt)['catch'](ft),'removeComment':({channelId:_0x1d80cb,threadId:_0xa44721,commentId:_0x37c6db})=>this['_getService'](_0x1d80cb)['removeComment'](_0xa44721,_0x37c6db)['catch'](nt)['catch'](ft)},_0x81aaca instanceof et){const _0x108126=_0x81aaca['config']['get']('collaboration.channelId'),_0x5f38be=_0x81aaca['plugins']['get'](i);await this['_setUpService'](_0x108126);const _0x38a5a6=await this['_services']['get'](_0x108126)['getConnectedSessions']();this['listenTo'](_0x5f38be,'sessionAdd:'+_0x108126,(_0x14350e,{session:_0xd890de})=>{_0xd890de['id']===_0x5f38be['mySessionId']&&(_0x14350e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xd890de['permissions'],_0x108126));}),_0x5f38be['register'](_0x108126,_0x38a5a6);}}async['_setUpService'](_0xb6fffe){if(this['_services']['has'](_0xb6fffe))throw new _0x37827a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xb6fffe});const _0x4ed745=this['context']['plugins']['get']('CommentsRepository'),_0x18faa2=new s['CommentsService'](_0xb6fffe);this['_services']['set'](_0xb6fffe,_0x18faa2),this['listenTo'](_0x18faa2,'commentThreadAdded',(_0x4984d1,_0x466c99)=>{const {commentThreadId:_0x423d2c,documentId:_0x26e88c,context:_0x597ec5,attributes:_0xa8cab4,resolvedAt:_0x233075,resolvedBy:_0x180d55,comments:_0x2224ab}=_0x466c99;_0x4ed745['getCommentThread'](_0x423d2c)||_0x4ed745['addCommentThread']({'threadId':_0x423d2c,'channelId':_0x26e88c,'comments':_0x2224ab?_0x2224ab['map'](st):[],'context':_0x597ec5,'attributes':_0xa8cab4,'resolvedAt':_0x233075,'resolvedBy':_0x180d55,'isFromAdapter':!0x0});}),this['listenTo'](_0x18faa2,'commentThreadUpdated',(_0x212383,{commentThreadId:_0x1be1be,documentId:_0xa779a4,context:_0xafcf82,unlinkedAt:_0x3d851c,attributes:_0x11e1d8})=>{_0x4ed745['getCommentThread'](_0x1be1be)&&_0x4ed745['updateCommentThread']({'threadId':_0x1be1be,'channelId':_0xa779a4,'context':_0xafcf82,'unlinkedAt':_0x3d851c,'attributes':_0x11e1d8,'isFromAdapter':!0x0});}),this['listenTo'](_0x18faa2,'commentThreadResolved',(_0x5e0409,{commentThreadId:_0x4731c1,resolvedBy:_0x7faba2,resolvedAt:_0x16b2c0})=>{const _0x420d51=_0x4ed745['getCommentThread'](_0x4731c1);_0x420d51&&_0x420d51['resolve']({'resolvedBy':_0x7faba2,'resolvedAt':_0x16b2c0,'isFromAdapter':!0x0});}),this['listenTo'](_0x18faa2,'commentThreadReopened',(_0x4cb476,{commentThreadId:_0x1b02aa})=>{const _0x2781b6=_0x4ed745['getCommentThread'](_0x1b02aa);_0x2781b6&&_0x2781b6['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x18faa2,'commentThreadRemoved',(_0x10cd3e,{commentThreadId:_0x39cbb8})=>{const _0x2ee425=_0x4ed745['getCommentThread'](_0x39cbb8);_0x2ee425&&_0x2ee425['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x18faa2,'commentAdded',(_0x4738da,_0xe5b45a)=>{const _0x9d53f9=_0xe5b45a['commentThreadId'],_0x1c2b65=_0x4ed745['getCommentThread'](_0x9d53f9);_0x1c2b65&&_0x1c2b65['addComment']({...st(_0xe5b45a),'isFromAdapter':!0x0});}),this['listenTo'](_0x18faa2,'commentUpdated',(_0x259085,{commentThreadId:_0x61a9fc,commentId:_0x5a7789,content:_0x133cbe,attributes:_0x3791bf})=>{const _0x4d01e5=_0x4ed745['getCommentThread'](_0x61a9fc);if(_0x4d01e5){const _0x275f20=_0x4d01e5['getComment'](_0x5a7789);_0x275f20&&_0x275f20['update']({'content':_0x133cbe,'attributes':_0x3791bf,'isFromAdapter':!0x0});}}),this['listenTo'](_0x18faa2,'commentRemoved',(_0x39adbd,{commentThreadId:_0xb13c90,commentId:_0x1d2069})=>{const _0xed38fc=_0x4ed745['getCommentThread'](_0xb13c90);if(_0xed38fc){const _0x5ceadb=_0xed38fc['getComment'](_0x1d2069);_0x5ceadb&&_0x5ceadb['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xb6fffe);}['destroy'](){if(this['context']instanceof et){const _0x2297d4=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2297d4);}}['_terminateService'](_0x553a9a){if(!this['_services']['has'](_0x553a9a))throw new _0x37827a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x553a9a});this['_getService'](_0x553a9a)['disconnect'](),this['_services']['delete'](_0x553a9a);}async['reconnect'](){for(const _0x20ad7d of this['_services']['keys']())await this['_connectService'](_0x20ad7d);if(this['context']instanceof et){const _0x801fc0=this['context']['config']['get']('collaboration.channelId'),_0x3674f9=this['context']['plugins']['get'](i);_0x3674f9['unregister'](_0x801fc0);const _0x314ec7=await this['_services']['get'](_0x801fc0)['getConnectedSessions']();_0x3674f9['register'](_0x801fc0,_0x314ec7);}}async['_connectService'](_0x3dff48){const {connection:_0x585eec}=this['context']['plugins']['get'](n),_0x37633e=this['context']['plugins']['get']('CommentsRepository'),_0x43f4ef=this['_services']['get'](_0x3dff48),_0x201714=await _0x43f4ef['connect'](_0x585eec);await this['_fetchMissingUsersForThreads'](_0x201714);const _0x51c416=new Set(Array['from'](_0x37633e['getCommentThreads']({'channelId':_0x3dff48}),_0x298dfb=>_0x298dfb['id']));for(const _0x821467 of _0x201714)_0x821467['deletedAt']||_0x51c416['delete'](_0x821467['commentThreadId']);for(const _0x2ef720 of _0x51c416)_0x37633e['getCommentThread'](_0x2ef720)['remove']({'isFromAdapter':!0x0});for(const _0x413344 of _0x201714){let _0x59f793=_0x37633e['getCommentThread'](_0x413344['commentThreadId']);const {commentThreadId:_0x1e3e79,context:_0x3f6059,attributes:_0x16677a,resolvedBy:_0x354edb,resolvedAt:_0x386484,unlinkedAt:_0x2879be,deletedAt:_0x31b914}=_0x413344;if(_0x31b914)continue;_0x59f793||(_0x59f793=_0x37633e['addCommentThread']({'channelId':_0x3dff48,'threadId':_0x1e3e79,'context':_0x3f6059,'attributes':_0x16677a||{},'resolvedBy':_0x354edb,'resolvedAt':_0x386484,'unlinkedAt':_0x2879be,'isFromAdapter':!0x0}));const _0x1a1b34=new Set(Array['from'](_0x59f793['comments'],_0x4d7f7c=>_0x4d7f7c['id']));for(const _0x35593e of _0x413344['comments'])_0x1a1b34['delete'](_0x35593e['commentId']);for(const _0x2f4deb of _0x1a1b34)_0x59f793['getComment'](_0x2f4deb)['remove']({'isFromAdapter':!0x0});for(const _0xcfafdd of _0x413344['comments']){const _0x2cc552=_0x59f793['getComment'](_0xcfafdd['commentId']);_0x2cc552?_0x2cc552['content']!==_0xcfafdd['content']&&_0x2cc552['update']({'content':_0xcfafdd['content'],'isFromAdapter':!0x0}):_0x59f793['addComment'](Object['assign'](st(_0xcfafdd),{'isFromAdapter':!0x0}));}}}['_getService'](_0xa935d8){if(!this['_services']['has'](_0xa935d8))throw new _0x37827a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xa935d8});return this['_services']['get'](_0xa935d8);}async['_fetchMissingUsersForThreads'](_0x16a8e8){const _0x54a0ba=this['context']['plugins']['get'](_0x3fd63c),{connection:_0x3aff2b}=this['context']['plugins']['get'](n),_0x57b861=new Set();for(const {resolvedBy:_0x2a2832,comments:_0x3b8d30}of _0x16a8e8){_0x2a2832&&!_0x54a0ba['getUser'](_0x2a2832)&&_0x57b861['add'](_0x2a2832);for(const {userId:_0x3eecce}of _0x3b8d30)_0x54a0ba['getUser'](_0x3eecce)||_0x57b861['add'](_0x3eecce);}if(0x0===_0x57b861['size'])return;const _0x4790d7=await ut['getMany'](_0x3aff2b,Array['from'](_0x57b861));for(const _0x368080 of _0x4790d7)_0x54a0ba['getUser'](_0x368080['id'])||_0x54a0ba['addUser'](_0x368080);}}async function nt(_0x238bc4){if('404'!==_0x238bc4['code'])throw _0x238bc4;}function ft(_0x4ab5fd){if((_0x5984e8=_0x4ab5fd)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5984e8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5984e8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5984e8;throw _0x4ab5fd;}function st(_0x5654ca){return{'threadId':_0x5654ca['commentThreadId'],'commentId':_0x5654ca['commentId'],'content':_0x5654ca['content'],'createdAt':_0x5654ca['createdAt'],'authorId':_0x5654ca['userId'],'attributes':_0x5654ca['attributes']||{}};}class m extends _0x3d608a{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x3fdc97)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1f307a){super(_0x1f307a);const _0x5ba516=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5ba516);}['init'](){const _0x2a5894=this['editor']['plugins']['get'](n),_0x17e330=this['editor']['plugins']['get']('TrackChangesEditing');return _0x17e330['adapter']={'getSuggestion':async _0x488933=>{await this['_waitForServiceReady']();const _0x558c2b=await this['_trackChangesService']['get'](_0x488933)['catch'](Y);return await this['_fetchMissingUsersForThreads']([_0x558c2b]),_0x558c2b;},'addSuggestion':async({id:_0x39705a,type:_0x1898db,data:_0x572d45,originalSuggestionId:_0x37d1c0,attributes:_0x47ae5b})=>{await this['_waitForServiceReady']();const _0x4b3665={'id':_0x39705a,'type':_0x1898db,'data':_0x572d45,'originalSuggestionId':_0x37d1c0,'attributes':_0x47ae5b},_0x5f3aa6=await this['_trackChangesService']['add'](_0x39705a,_0x1898db,_0x572d45,_0x37d1c0,_0x47ae5b)['catch'](_0x253fd1=>{if(mt(_0x253fd1))return new Promise(_0x31fd26=>{this['_bufferedRequests']['set'](_0x39705a,{'resolve':_0x31fd26,'suggestionData':_0x4b3665});});throw _0x253fd1;});return this['_bufferedRequests']['delete'](_0x39705a),_0x5f3aa6;},'updateSuggestion':async(_0x3359dd,_0x4effc5)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4effc5['state'])return this['_trackChangesService']['update'](_0x3359dd,_0x4effc5)['catch'](Y);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4caf33,_0x2799c6)=>{_0x17e330['hasSuggestion'](_0x2799c6['id'])&&(_0x17e330['getSuggestion'](_0x2799c6['id'])['attributes']=_0x2799c6['attributes']);}),this['_trackChangesService']['connect'](_0x2a5894['connection'])['then'](_0x3b3329=>(_0x2a5894['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3b3329)['then'](()=>{for(const _0x26b588 of _0x3b3329){_0x17e330['addSuggestionData'](_0x26b588)['_saved']=!0x0;}})));}async['reconnect'](){const _0x44f8fc=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4de251}=this['editor']['plugins']['get'](n),_0x4f21ba=await this['_trackChangesService']['connect'](_0x4de251);await this['_fetchMissingUsersForThreads'](_0x4f21ba);for(const {suggestionData:_0x2e4d74,resolve:_0x1779ee}of this['_bufferedRequests']['values']()){let _0x5141b3=_0x4f21ba['find'](_0x47774c=>_0x47774c['id']===_0x2e4d74['id']);_0x5141b3||(_0x5141b3=await this['_trackChangesService']['add'](_0x2e4d74['id'],_0x2e4d74['type'],_0x2e4d74['data'],_0x2e4d74['originalSuggestionId'])),_0x1779ee(_0x5141b3);}for(const _0x3362f5 of _0x4f21ba)_0x44f8fc['hasSuggestion'](_0x3362f5['id'])||_0x44f8fc['addSuggestionData'](_0x3362f5);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5dd093=>{this['listenTo'](this['_trackChangesService'],'connected',_0x59493a=>{_0x59493a['off'](),_0x5dd093();});});}async['_fetchMissingUsersForThreads'](_0x37c874){const _0x1ba95a=this['editor']['plugins']['get'](_0x3fd63c),{connection:_0x5bf96e}=this['editor']['plugins']['get'](n),_0x539d12=new Set();for(const {authorId:_0x2150fe}of _0x37c874)_0x1ba95a['getUser'](_0x2150fe)||_0x539d12['add'](_0x2150fe);if(0x0===_0x539d12['size'])return;const _0x3b339a=await ut['getMany'](_0x5bf96e,Array['from'](_0x539d12));for(const _0x4f557f of _0x3b339a)_0x1ba95a['getUser'](_0x4f557f['id'])||_0x1ba95a['addUser'](_0x4f557f);}}function Y(_0x17c1e2){if(mt(_0x17c1e2))return new Promise(()=>{});throw _0x17c1e2;}function mt(_0x409433){return _0x409433['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x409433['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3d608a{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2996d9=this['editor']['plugins']['get'](n),_0xfee85a=this['editor']['plugins']['get']('CommentsEditing'),_0x4b59ef=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2996d9,'change:state',(_0x22ea15,_0x30f213,_0x26770e)=>{_0xfee85a['isThreadsLoadingPaused']='connected'!==_0x26770e;});}),this['listenTo'](_0x2996d9,'change:state',(_0x585ad6,_0x195189,_0x3f8332)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x3f8332);}),_0x4b59ef['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x3d608a{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x3d608a{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x3fd63c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2a75a1){super(_0x2a75a1);const _0x404ba2=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x404ba2);}async['init'](){const _0x376c1b=this['editor']['plugins']['get'](l),_0x3215ce=_0x376c1b['serverHistory'],_0x5f570f=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3215ce,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x376c1b['sessionId']});const _0x37451e=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x498038=await tt['isBundleUploaded'](_0x5f570f['connection'],_0x37451e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x53d72b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x53d72b)),'updateRevisions':async _0x59c117=>{await this['_waitForServiceReady']();const _0x17b48f=this['_revisionTracker']['currentRevision'];if(_0x498038&&0x1===_0x59c117['length']&&_0x59c117[0x0]['id']===_0x17b48f['id'])return _0x59c117;for(const _0x5e2492 of _0x59c117)_0x5e2492['id']===_0x17b48f['id']&&(_0x5e2492['isEmptyCurrent']=_0x5e2492['fromVersion']===_0x5e2492['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x59c117,this['_lastRequestId'])['then'](_0x2413b0=>(this['_lastRequestId']=_0x2413b0,_0x59c117))['catch'](_0x2b0792=>{if(Z(_0x2b0792)||'400'===_0x2b0792['code']&&void 0x0!==_0x2b0792['data']['wrongRequestId']){for(const _0x371e08 of _0x59c117){!this['_revisionTracker']['repository']['getRevision'](_0x371e08['id'])||this['_revisionTracker']['_bufferUpdate'](_0x371e08['id'],_0x371e08,!0x1);}if(Z(_0x2b0792))throw _0x2b0792;return _0x59c117;}throw _0x2b0792;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x151235,{revisionsData:_0x20861a,requestId:_0x4d2c33})=>{Math['max'](..._0x20861a['map'](_0x117818=>_0x117818['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x20861a,_0x4d2c33);}):this['_handleRevisionsUpdate'](_0x20861a,_0x4d2c33);});const {revisions:_0x4ecf74,requestId:_0xa840e5}=await this['_revisionHistoryService']['connect'](_0x5f570f['connection']);_0x5f570f['addToReconnectionStack'](this),this['_lastRequestId']=_0xa840e5,await this['_fetchMissingUsers'](_0x4ecf74);for(const _0x56e743 of _0x4ecf74)this['_revisionTracker']['addRevisionData'](_0x56e743);this['listenTo'](_0x376c1b,'change:_isConnected',(_0x3c11ac,_0x17d127,_0x49009e)=>{_0x49009e&&(this['_oldOffset']=_0x376c1b['_offset'],_0x3c11ac['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5f570f,'state',_0x142bce=>_0x142bce===_0x3024a4['CONNECTED']);}async['reconnect'](){const _0x5b4254=this['editor']['plugins']['get'](n),_0x535518=this['editor']['plugins']['get'](l),_0x5e25ea=async()=>{const _0x256105=this['_revisionTracker']['currentRevision'],_0x5a1022=_0x256105['id'],_0xeb99a6=_0x5a1022!==_0x535518['sessionId'];if(_0xeb99a6){const _0x57ad7c=_0x535518['_offset']-this['_oldOffset'],_0x598270=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x256105['toVersion']+_0x57ad7c!==_0x598270){const _0x261ffd=_0x256105['fromVersion']+_0x57ad7c,_0x172349=this['editor']['plugins']['get'](_0x3fd63c),_0x4d52f6=this['_revisionTracker']['buildRevisionData']({'revision':_0x256105,'from':_0x261ffd,'to':_0x598270});_0x4d52f6['id']=_0x256105['id'];const _0x3f80ce=_0x4d52f6['authorsIds']['map'](_0x1e0938=>_0x172349['getUser'](_0x1e0938));_0x256105['_update']({..._0x4d52f6,'authors':_0x3f80ce},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x256105['id'],_0x4d52f6,!0x0);}this['_revisionTracker']['_startingVersion']=_0x598270,(_0x256105['toVersion']===_0x256105['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5a1022)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5a1022),this['_revisionTracker']['_createCurrentRevision'](_0x598270));}const {revisions:_0x4a4be7,requestId:_0x4009f6}=await this['_revisionHistoryService']['reconnect'](_0x5b4254['connection'],this['_lastRequestId']);_0xeb99a6&&_0x4a4be7['length']>0x0?_0x535518['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4a4be7),this['_handleRevisionsUpdate'](_0x4a4be7,_0x4009f6),this['_revisionTracker']['sendBufferedUpdates']());};return _0x535518['_isConnected']?_0x5e25ea():new Promise((_0x4599c7,_0x4059b3)=>{_0x535518['once']('change:_isConnected',()=>{_0x5e25ea()['then'](_0x4599c7)['catch'](_0x4059b3);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xdcb20=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5ac522=>{_0x5ac522['off'](),_0xdcb20();});});}['_getLatestVersionFromServerOperations'](){const _0x5b1e52=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3e2045 of _0x5b1e52)if('marker'!==_0x3e2045['type']||_0x3e2045['affectsData'])return _0x3e2045['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2904b0=this['editor']['plugins']['get'](l);return new Promise(_0x44f063=>{_0x2904b0['_isPendingUpdate']?_0x2904b0['once']('change:_isPendingUpdate',()=>{_0x44f063(this['_getLatestVersionFromServerOperations']());}):_0x44f063(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x317cac,_0x72f3e3){const _0x28f080=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x72f3e3;for(const _0xf9e65f of _0x317cac){const _0x1d328d=_0x28f080['getRevision'](_0xf9e65f['id']);if(_0x1d328d){if((_0xf9e65f['fromVersion']||_0xf9e65f['toVersion'])&&(_0xf9e65f['diffData']=null),_0x1d328d===this['_revisionTracker']['currentRevision']){const _0x2e4026=Math['max'](_0x1d328d['toVersion'],_0xf9e65f['toVersion']),_0x575eeb=Math['max'](_0x1d328d['fromVersion'],_0xf9e65f['fromVersion']);let _0x857141;_0x1d328d['toVersion']===_0xf9e65f['toVersion']&&_0x1d328d['fromVersion']===_0xf9e65f['fromVersion']?(_0x857141=!0x0,this['_preventResendingRevisionData'](_0xf9e65f)):_0xf9e65f['toVersion']===_0x2e4026&&_0xf9e65f['fromVersion']===_0x575eeb?_0x857141=!0x1:(_0x1d328d['toVersion']===_0x2e4026&&_0x1d328d['fromVersion']===_0x575eeb||this['_fixRevision']({'revision':_0x1d328d,'from':_0x575eeb,'to':_0x2e4026}),_0x857141=!0x0),_0x857141&&(delete _0xf9e65f['fromVersion'],delete _0xf9e65f['toVersion'],delete _0xf9e65f['diffData'],delete _0xf9e65f['createdAt'],delete _0xf9e65f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xf9e65f),this['_preventResendingRevisionData'](_0xf9e65f);}else this['_revisionTracker']['addRevisionData'](_0xf9e65f);}const _0x38f859=_0x28f080['getRevisions']();_0x38f859['reverse']();for(let _0x1600d3=0x0;_0x1600d3<_0x38f859['length']-0x1;_0x1600d3++){const _0x310266=_0x38f859[_0x1600d3],_0x26e3f0=_0x38f859[_0x1600d3+0x1];if(_0x310266['fromVersion']<_0x26e3f0['toVersion']){const _0x26b099=_0x26e3f0['toVersion'],_0x4c8cbf=Math['max'](_0x26b099,_0x310266['toVersion']);this['_fixRevision']({'revision':_0x310266,'from':_0x26b099,'to':_0x4c8cbf});}}}['_fixRevision']({revision:_0x13d3eb,from:_0xf26709,to:_0x2f49a6}={}){const _0x452494=this['editor']['plugins']['get'](_0x3fd63c),_0x32bb9c=this['_revisionTracker']['buildRevisionData']({'revision':_0x13d3eb,'from':_0xf26709,'to':_0x2f49a6});_0x32bb9c['authors']=_0x32bb9c['authorsIds']['map'](_0x11cf2f=>_0x452494['getUser'](_0x11cf2f)),_0x13d3eb['_update'](_0x32bb9c);}['_preventResendingRevisionData'](_0x593ec1){const _0x308c33={};_0x308c33['id']=_0x593ec1['id'];for(const _0x5de737 of Object['keys'](_0x593ec1))'id'!==_0x5de737&&(_0x308c33[_0x5de737]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x308c33['id'],_0x308c33,!0x0);}async['_fetchMissingUsers'](_0x4e534e){const _0x40d55b=this['editor']['plugins']['get'](_0x3fd63c),{connection:_0x4ba34a}=this['editor']['plugins']['get'](n),_0x144b13=new Set();for(const _0x1487a4 of _0x4e534e){for(const _0x29e62 of _0x1487a4['authorsIds'])_0x50d0ed(_0x29e62);_0x1487a4['creatorId']&&_0x50d0ed(_0x1487a4['creatorId']);}if(0x0===_0x144b13['size'])return;const _0x3f3a2b=await ut['getMany'](_0x4ba34a,Array['from'](_0x144b13));for(const _0x47e33c of _0x3f3a2b)_0x40d55b['getUser'](_0x47e33c['id'])||_0x40d55b['addUser'](_0x47e33c);function _0x50d0ed(_0x3f76e4){_0x40d55b['getUser'](_0x3f76e4)||_0x144b13['add'](_0x3f76e4);}}}function Z(_0x2b4188){return _0x2b4188['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2b4188['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b4188['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x3d608a{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x3c4b16{['_collapseAt'];constructor(_0x33fedb,_0x296e2b=0x6){super(_0x33fedb);const _0x3ab7be=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x296e2b,this['bind']('isHidden')['to'](this,'usersCount',_0x26596b=>_0x26596b<_0x296e2b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3ab7be['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x3ab7be['to']('usersCount',_0x2ee86f=>'+'+(_0x2ee86f-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x3c4b16{['items'];['keystrokes'];constructor(_0xb7fc4d){super(_0xb7fc4d);const _0x22e529=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x51fee6(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x22e529['if']('hasPopup'),'aria-expanded':_0x22e529['to']('isExpanded',_0x2923ca=>this['hasPopup']&&String(_0x2923ca)),'aria-label':_0x22e529['to']('hasPopup',_0x53b856=>E(_0xb7fc4d,_0x53b856?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x22e529['to']('hasPopup',_0x47f8fb=>!!_0x47f8fb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x22e529['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x22e529['to'](_0x3ae319=>{const _0x398c2e=_0x3ae319,_0xabb1c2=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1c68d6=document['querySelector']('.ck-balloon-panel_with-arrow');_0xabb1c2?.['contains'](_0x398c2e['relatedTarget'])||_0x1c68d6?.['contains'](_0x398c2e['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3540c7,_0x329709,_0x4e7783)=>{this['element']&&(_0x4e7783?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x3c4b16{['counterView'];['inlineListView'];constructor(_0xf38ce6,_0x13f32c=0x6){super(_0xf38ce6);const _0x59e0e3=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x13f32c),this['inlineListView']=new is(_0xf38ce6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5a1845 of this['inlineListView']['items'])_0x5a1845['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x59e0e3['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x3c4b16{['listWrapperView'];constructor(_0x4f8dd1,_0x19b4e5){super(_0x4f8dd1);const _0x4bad1f=this['bindTemplate'];this['listWrapperView']=new wt(_0x4f8dd1,_0x19b4e5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x4f8dd1,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4bad1f['to'](_0x152e30=>{const _0x1a1759=_0x152e30,_0x227cf5=document['querySelector']('.ck-presence-list__list'),_0x574384=document['querySelector']('.ck-balloon-panel_with-arrow');_0x227cf5?.['contains'](_0x1a1759['relatedTarget'])||_0x574384?.['contains'](_0x1a1759['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x479a71{constructor(_0x1e682b,_0x38dd87){super(_0x1e682b);const _0x3b4bef=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x38dd87?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3b4bef['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3b4bef['to']('role'),'aria-label':_0x3b4bef['to']('ariaLabel'),'aria-labelledby':_0x3b4bef['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x25b73c['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x455f49=this['element'];_0x455f49&&(this['_isScrollable']=Math['max'](_0x455f49['scrollHeight'],_0x455f49['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x164445,_0x24892f,_0x299acb){super(_0x164445);const _0x3c6f17=this['bindTemplate'];this['userView']=new ct(_0x164445,_0x24892f);const _0x3f150a={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x24892f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x24892f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x24892f['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x299acb&&(_0x3f150a['tag']='button',_0x3f150a['on']={'click':_0x3c6f17['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3f150a);}['focus'](){this['element']['focus']();}}class A extends _0x3c4b16{['userView'];['markerView'];constructor(_0x37d4fb,_0x50180d,_0x136f8e){super(_0x37d4fb);const _0x8a03fa=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x37d4fb,_0x50180d),this['markerView']=new lt(_0x37d4fb,_0x50180d);const _0x5ecf0b=new at(_0x37d4fb);_0x5ecf0b['template']['tag']='span',_0x5ecf0b['text']=_0x50180d['name'];const _0xa46ded={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x8a03fa['to']('isFocusable',_0x4167ac=>!!_0x4167ac&&0x0),'aria-labelledby':_0x5ecf0b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x8a03fa['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x8a03fa['to']('hasTooltip',_0x5c3039=>!_0x5c3039),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ecf0b]};_0x136f8e&&(_0xa46ded['tag']='button',_0xa46ded['on']={'click':_0x8a03fa['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xa46ded);}}class lt extends _0x3c4b16{constructor(_0x88b9d9,_0x9cde9b){super(_0x88b9d9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x9cde9b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4c9aab{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5f2e59){super(_0x5f2e59),this['context']['config']['define']('presenceList',x);const _0x15f8b2=_0x5f2e59['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x15f8b2)throw new _0x37827a('presencelist-collapseat-invalid-format',this);if(_0x15f8b2<0x1)throw new _0x37827a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x304626(),this['balloonPanelView']=new _0x42f610(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x3502da of this['_allConnectedUsers'])this['_handleUserAdd'](_0x3502da);this['listenTo'](this['_allConnectedUsers'],'add',(_0xe2e98f,_0x4302d0)=>{this['_handleUserAdd'](_0x4302d0);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x41caf0,_0x357caa)=>{this['_handleUserRemove'](_0x357caa);});}['_createView'](){const _0x42800b=this['context'],_0x200cf5=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x536fcc=this['balloonPanelView'];if(!_0x1f2533(_0x42800b['config']['get']('presenceList.container')))throw new _0x37827a('presencelist-missing-container',this);return _0x200cf5['counterView']['bind']('usersCount')['to'](this),_0x200cf5['bind']('isCollapsed')['to'](this,'usersCount',_0x4f3dbe=>{const {collapseAt:_0x2c9e42}=_0x42800b['config']['get']('presenceList'),_0x172734=_0x4f3dbe>=_0x2c9e42;if(_0x172734&&!_0x200cf5['inlineListView']['items']['find'](_0x43c779=>_0x43c779 instanceof b)){const _0x2d9cae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2d9cae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x200cf5['inlineListView']['items']['add'](_0x200cf5['counterView']);}return _0x172734||this['hideDropdown'](),_0x172734;}),_0x200cf5['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x293154=>{const _0x483492=_0x42800b['config']['get']('presenceList'),_0x6ee95c=new A(_0x42800b['locale'],_0x293154,!!_0x483492['onClick']);return _0x6ee95c['bind']('hasTooltip')['to'](_0x200cf5,'isCollapsed',_0x4a1fb5=>!_0x4a1fb5),_0x6ee95c['bind']('isFocusable')['to'](_0x200cf5,'isCollapsed',_0x2e5e3e=>!_0x2e5e3e),_0x483492['onClick']&&this['listenTo'](_0x6ee95c,'execute',()=>{this['view']['isCollapsed']||_0x483492['onClick'](_0x293154,_0x6ee95c['element']);}),_0x6ee95c;}),this['listenTo'](_0x200cf5['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x200cf5['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x200cf5['inlineListView']['keystrokes']['set']('Enter',(_0x17b9c6,_0x6c1b18)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x6c1b18());}),_0x200cf5['render'](),_0x536fcc['render'](),_0x243732({'emitter':_0x200cf5,'activator':()=>_0x536fcc['isVisible'],'contextElements':[_0x536fcc['element'],_0x200cf5['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42800b['config']['get']('presenceList.container')['appendChild'](_0x200cf5['element']),this['_bodyCollection']=new _0x11e201(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x200cf5;}['_handleUserAdd'](_0x35741){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x35741['isMe'])return;const _0x53a8b2=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x53a8b2-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x52c7c9=_0x35741['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x35741,_0x52c7c9);}['_handleUserRemove'](_0x3f1fe8){this['usersCount']--;const {collapseAt:_0x294a9e}=this['context']['config']['get']('presenceList'),_0x5d726f=this['usersCount']>=_0x294a9e;if(this['currentDisplayedUsers']['get'](_0x3f1fe8['id']))this['currentDisplayedUsers']['remove'](_0x3f1fe8['id']);else{if(_0x5d726f&&this['currentDisplayedUsers']['length']+0x1===_0x294a9e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5d726f?0x1:0x0)<this['usersCount']){for(const _0x5110b1 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5110b1['id'])&&(this['currentDisplayedUsers']['add'](_0x5110b1,Math['min'](this['currentDisplayedUsers']['length']-(_0x5d726f?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5d726f?0x1:0x0)===_0x294a9e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4400ff=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x4400ff['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x15646f}=this['presenceDropdownView'];_0x15646f['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x546a7b=>{if(!_0x4400ff['displayMe']&&_0x546a7b['isMe'])return null;const _0x45ac5d=new j(this['context']['locale'],_0x546a7b,!!_0x4400ff['onClick']);return _0x4400ff['onClick']&&this['listenTo'](_0x45ac5d,'execute',()=>{_0x4400ff['onClick'](_0x546a7b,_0x45ac5d['element']);}),_0x45ac5d;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x15646f['focus'](),_0x15646f['checkIfScrollable']();const _0x5b8bbc=(_0x5ec7d4,_0x47f750)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x47f750();};_0x15646f['keystrokes']['set']('Esc',_0x5b8bbc),_0x15646f['keystrokes']['set']('Shift+Tab',_0x5b8bbc),_0x15646f['keystrokes']['set']('Tab',(_0x987554,_0xdc3d02)=>{!function(_0x138999){const _0x59da71=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x447d58=>_0x447d58+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5f178c=[...document['body']['querySelectorAll'](_0x59da71)]['filter'](_0x312f6a=>_0x312f6a===document['activeElement']||_0x312f6a['offsetWidth']+_0x312f6a['offsetHeight']>0x0)['sort']((_0x21baeb,_0x102651)=>(_0x21baeb['tabIndex']||0x0)-(_0x102651['tabIndex']||0x0)),_0x3ef76d=_0x5f178c['indexOf'](_0x138999),_0x52685f=_0x5f178c[(_0x3ef76d+0x1)%_0x5f178c['length']];_0x52685f&&_0x52685f['focus']();}(this['view']['element']),this['hideDropdown'](),_0xdc3d02();}),_0x15646f['focusTracker']['add'](this['view']['element']),_0x15646f['focusTracker']['on']('change:isFocused',(_0x23a263,_0x348d46,_0x204cc0)=>{_0x204cc0||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x4c9aab{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};