@ckeditor/ckeditor5-real-time-collaboration 47.7.0-alpha.2 → 47.7.0-alpha.3

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 _0xcfca57,Plugin as _0x51e259,PendingActions as _0x1ae22e,Context as _0x3caf40}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x13a0a9,CKEditorError as _0x1ad561,Collection as _0xa42536,global as _0x221dd7,version as nt,uid as _0x5511b8,KeystrokeHandler as _0x17f45a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x167205,View as _0x542b5b,ListView as _0x520492,ListItemView as et,LabelView as it,BalloonPanelView as _0x3fcd28,clickOutsideHandler as _0x1ed94d,BodyCollection as _0x388128}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x350b70,History as _0x32383e,NoOperation as _0x4a7e8b,InsertOperation as _0x24f0ec,MarkerOperation as _0x24bac5,RootAttributeOperation as _0x4e97ca,transformOperationSets as _0x59cf95,OperationFactory as _0x5b3bb9}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x32a08a,CollaborativeEditingService as _0x281104,User as ct,CommentsService as _0x4fbe1e,TrackChangesService as tt,RevisionHistoryService as _0x1d98d3,EditorService as _0xa0c2f8}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x566890,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x548b13}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x20cc7f}from'es-toolkit/compat';class n extends _0xcfca57{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x167205];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x56f9e7){super(_0x56f9e7),this['set']('state',_0x32a08a['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x13a0a9())();}['init'](){const _0xe42136=this['context'],_0x521f35=_0xe42136['plugins']['get']('CloudServices'),_0xff3e58=_0xe42136['plugins']['get'](_0x167205);if(!_0x521f35['token'])throw new _0x1ad561('websocketgateway-missing-token',this);if(!_0x521f35['webSocketUrl'])throw new _0x1ad561('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'](_0x521f35['token'],_0x521f35['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1f3b95=>{if(this['connection']=_0x1f3b95,this['bind']('state')['to'](_0x1f3b95,'state',this,'_isBrowserOffline',(_0x78e139,_0x332d5a)=>('connected'!==_0x78e139&&(this['_shouldPluginsReconnect']=!0x0),_0x332d5a||_0x78e139!==_0x32a08a['CONNECTED']?_0x32a08a['DISCONNECTED']:this['state']==_0x32a08a['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x32a08a['CONNECTING']):_0x32a08a['CONNECTED'])),this['connection']['on']('error',(_0x3fdd7a,_0x2d49d5)=>{if('limitExceeded'!==_0x2d49d5['code'])throw console['error'](_0x2d49d5),new _0x1ad561('cloudservices-init',null,{'originalError':_0x2d49d5});_0xff3e58['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'});}),!_0x1f3b95['me'])return new Promise(_0x554a16=>_0x1f3b95['on']('change:me',_0x554a16));})['catch'](_0x329f43=>{throw console['error'](_0x329f43),new _0x1ad561('cloudservices-init',null,{'originalError':_0x329f43});});}['addToReconnectionStack'](_0x1c7887){if('function'!=typeof _0x1c7887['reconnect'])throw new _0x1ad561('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1c7887))throw new _0x1ad561('websocketgateway-plugin-already-registered',this,{'name':_0x1c7887['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1c7887);}['removeFromReconnectionStack'](_0x55726e){this['_reconnectionStack']['delete'](_0x55726e);}['isInReconnectionStack'](_0x5539ea){return this['_reconnectionStack']['has'](_0x5539ea);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x806f39=>_0x806f39['reconnect']())))['then'](()=>this['state']=_0x32a08a['CONNECTED'])['catch'](_0x514627=>{throw console['error'](_0x514627),new _0x1ad561('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x32a08a['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0xcfca57{['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,_0x566890];}constructor(_0x25f21b){super(_0x25f21b),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xa42536(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x566890);}['init'](){const _0x54fa09=this['context']['plugins']['get'](n);this['listenTo'](_0x54fa09,'change:state',(_0x36e7e3,_0x531ad3,_0x14d7cf)=>{if('connected'!==_0x14d7cf)this['channelSessions']['forEach'](_0x5930e4=>_0x5930e4['clear']()),this['channelConnectedUsers']['forEach'](_0x3bbb8c=>_0x3bbb8c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3a522d,_0x56c9ce]of this['_registeredSessions'])for(const _0x2b21d7 of _0x56c9ce)this['_handleSessionAdd'](_0x3a522d,_0x2b21d7);}}),this['_createUser'](_0x54fa09['connection']['me'],!0x0);}['register'](_0x19b4df,_0x5e8555){if(this['_registeredSessions']['has'](_0x19b4df))throw new _0x1ad561('sessions-register-already-registered',null,{'channelId':_0x19b4df});this['_registeredSessions']['set'](_0x19b4df,_0x5e8555),this['channelSessions']['set'](_0x19b4df,new _0xa42536()),this['channelConnectedUsers']['set'](_0x19b4df,new _0xa42536()),this['listenTo'](_0x5e8555,'add',(_0x2e9aaa,_0x115d99)=>this['_handleSessionAdd'](_0x19b4df,_0x115d99)),this['listenTo'](_0x5e8555,'remove',(_0x3e77a,_0x468e54)=>this['_handleSessionRemove'](_0x19b4df,_0x468e54));for(const _0x372b49 of _0x5e8555)this['_handleSessionAdd'](_0x19b4df,_0x372b49);}['unregister'](_0x2aab0d){if(!this['_registeredSessions']['has'](_0x2aab0d))throw new _0x1ad561('sessions-unregister-not-exist',null,{'channelId':_0x2aab0d});const _0x5c4b62=this['_registeredSessions']['get'](_0x2aab0d);this['stopListening'](_0x5c4b62);for(const _0x47bb80 of _0x5c4b62)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2aab0d,_0x47bb80);this['_registeredSessions']['delete'](_0x2aab0d),this['channelSessions']['delete'](_0x2aab0d),this['channelConnectedUsers']['delete'](_0x2aab0d);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x5628ed){for(const _0x4f8c43 of this['channelSessions']['values']())for(const _0x1ee5ca of _0x4f8c43)if(_0x1ee5ca['id']===_0x5628ed)return _0x1ee5ca['user'];}['getUserSessions'](_0x2ebd6a,_0x1f262d){const _0x1db33f=_0x1f262d?[this['channelSessions']['get'](_0x1f262d)]:this['channelSessions']['values'](),_0xf30eac=new Set();for(const _0x2e64cf of _0x1db33f)for(const _0x5c5eaf of _0x2e64cf)_0x5c5eaf['user']['id']===_0x2ebd6a['id']&&_0xf30eac['add'](_0x5c5eaf['id']);return _0xf30eac;}['getUserRole'](_0x223fa7){for(const _0x3e069b of this['channelSessions']['values']())for(const _0x149be8 of _0x3e069b)if(_0x149be8['user']===_0x223fa7)return _0x149be8['role'];}['_handleSessionAdd'](_0x44694e,_0x5efabd){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x26aa36=_0x5efabd['user'],_0x1656cb=this['_users']['getUser'](_0x26aa36['id'])||this['_createUser'](_0x26aa36),_0x4a0a62=Object['assign']({},_0x5efabd,{'user':_0x1656cb});if(this['channelSessions']['get'](_0x44694e)['add'](_0x4a0a62),!_0x26aa36['hiddenInPresenceList']){const _0xbe9c47=this['channelConnectedUsers']['get'](_0x44694e);_0xbe9c47['has'](_0x1656cb['id'])||_0xbe9c47['add'](_0x1656cb),this['allConnectedUsers']['has'](_0x1656cb['id'])||_0x26aa36['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1656cb,_0x1656cb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x44694e,{'channelId':_0x44694e,'session':_0x4a0a62});}['_handleSessionRemove'](_0x4051c4,_0x1ccc4b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1a6fca=this['channelConnectedUsers']['get'](_0x4051c4),_0x295cf5=_0x1ccc4b['user'];_0x295cf5['id']&&(this['channelSessions']['get'](_0x4051c4)['remove'](_0x1ccc4b['id']),_0x1a6fca['has'](_0x295cf5['id'])&&!this['getUserSessions'](_0x295cf5,_0x4051c4)['size']&&_0x1a6fca['remove'](_0x295cf5['id']),this['allConnectedUsers']['get'](_0x295cf5['id'])&&!this['getUserSessions'](_0x295cf5)['size']&&this['allConnectedUsers']['remove'](_0x295cf5['id']));}['_createUser'](_0x8969a5,_0x2871bc){const _0x1a4c82=this['_users']['addUser'](_0x8969a5);return _0x2871bc&&this['_users']['defineMe'](_0x8969a5['id']),_0x1a4c82['orderNumber']=this['_uniqueUsersCount']++,_0x1a4c82;}}class G extends _0x51e259{['_domEmitter']=new(_0x13a0a9())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1f023f=this['editor'],_0x3ed216=_0x1f023f['plugins']['get'](i);_0x1f023f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x17ec6d,{writer:_0x20b3a2})=>function(_0x55edec,_0xbc4b9c,_0x3b1a43,_0x4f1865){const _0x43fd38=_0x55edec['markerName']['split'](':')[0x2],_0x4d256a=_0x3b1a43['getUserBySessionId'](_0x43fd38);if(!_0x4d256a||_0x43fd38===_0x3b1a43['mySessionId'])return;if(!_0x4f1865['model']['schema']['checkChild'](_0x55edec['markerRange']['start'],'$text'))return;const _0x3081d2={'class':'ck-user__marker\x20'+_0x4d256a['color']['getMarkerClass'](),'data-name':_0x4d256a['name'],'data-session-id':_0x43fd38},_0x1347be=_0x4f1865['model']['markers']['get'](_0x55edec['markerName']),_0x405f2f=_0x1347be['getStart'](),_0x314fe4=_0x405f2f['nodeAfter'],_0x220554=_0x4f1865['model']['schema'];if(_0x314fe4&&_0x220554['isObject'](_0x314fe4)&&_0x220554['isInline'](_0x314fe4)&&!_0x4f1865['model']['markers']['get']('user:range:'+_0x43fd38)['getRange']()['isCollapsed'])return;const _0x4f8161=_0x405f2f['parent'];return _0x4f1865['model']['schema']['isLimit'](_0x4f8161)&&!_0x4f1865['model']['hasContent'](_0x4f8161)&&(_0x3081d2['contenteditable']=!0x1),function(_0x241d43,_0x5d4077,_0x18ee77){const _0x1ac34e=_0x241d43['createUIElement']('span',_0x5d4077);return _0x241d43['setCustomProperty']('userPositionMarker',!0x0,_0x1ac34e),_0x1ac34e['render']=function(_0x2c7f44){const _0x15ef6d=this['toDomElement'](_0x2c7f44),_0x36d911=document['createElement']('span');return _0x36d911['classList']['add']('ck-user__marker-tooltip'),_0x36d911['setAttribute']('contenteditable','false'),_0x36d911['setAttribute']('spellcheck','false'),_0x36d911['textContent']=_0x18ee77['name'],_0x15ef6d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x36d911['outerHTML']+'⁠',_0x15ef6d['addEventListener']('mouseenter',()=>{_0x15ef6d['classList']['add']('ck-user__marker_hovered');}),_0x15ef6d['addEventListener']('mouseleave',()=>{_0x15ef6d['classList']['remove']('ck-user__marker_hovered');}),_0x15ef6d;},_0x1ac34e['isSimilar']=function(_0x8e0a39){return!(!this['getCustomProperty']('userPositionMarker')||!_0x8e0a39['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x8e0a39['getAttribute']('data-session-id'));},_0x1ac34e;}(_0xbc4b9c,_0x3081d2,_0x4d256a);}(_0x17ec6d,_0x20b3a2,_0x3ed216,_0x1f023f)}),_0x1f023f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4fd4b5=>function(_0x267be4,_0x526350){const _0x91c0e0=_0x267be4['markerName']['split'](':')[0x2];if(_0x91c0e0===_0x526350['mySessionId'])return null;const _0x22cc37=_0x526350['getUserBySessionId'](_0x91c0e0);if(!_0x22cc37)return{'id':_0x91c0e0,'classes':[]};return{'id':_0x91c0e0,'classes':['ck-user__selection',_0x22cc37['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x91c0e0},'priority':0x7d0+_0x22cc37['orderNumber']};}(_0x4fd4b5,_0x3ed216)}),function(_0x73b69e){const _0x19b98f=_0x73b69e['model'],_0x103586=new Map(),_0xbf567e=_0x73b69e['plugins']['get'](i);_0x19b98f['markers']['on']('update:user:range',(_0x2a87fc,_0x4f1107,_0xc4a2a1,_0x305c77)=>{if(!_0x305c77&&_0x103586['get'](_0x4f1107['name']))return _0x103586['get'](_0x4f1107['name'])['detach'](),void _0x103586['delete'](_0x4f1107['name']);const _0x53bf03=_0x4f1107['name']['split'](':')[0x2];if(_0x53bf03===_0xbf567e['mySessionId'])return;const _0x5f3dae='user:position:'+_0x53bf03;_0x19b98f['markers']['has'](_0x5f3dae)&&_0x73b69e['editing']['reconvertMarker'](_0x5f3dae),_0x4f1107['on']('change:range',(_0x506d49,_0x531cef,_0x176d69)=>{if('$graveyard'!=_0x531cef['root']['rootName']&&'$graveyard'==_0x4f1107['getRange']()['root']['rootName']&&!_0x103586['has'](_0x4f1107['name'])){const _0x54cfd8=_0x19b98f['schema']['getNearestSelectionRange'](_0x176d69['deletionPosition']);if(_0x54cfd8){const _0x1c49c9=_0x350b70['fromRange'](_0x54cfd8);_0x103586['set'](_0x4f1107['name'],_0x1c49c9),_0x1c49c9['on']('change:range',(_0x59cb61,_0x41a2f4,_0x1d9628)=>{if('$graveyard'==_0x1c49c9['root']['rootName']){const _0x24c641=_0x19b98f['schema']['getNearestSelectionRange'](_0x1d9628['deletionPosition']);_0x24c641?(_0x1c49c9['start']=_0x24c641['start'],_0x1c49c9['end']=_0x24c641['end']):(_0x103586['delete'](_0x4f1107['name']),_0x1c49c9['detach']());}});}}});}),_0x19b98f['document']['on']('change',()=>{_0x103586['size']>0x0&&_0x19b98f['enqueueChange']({'isUndoable':!0x1},_0x2813d0=>{for(const [_0x3f0f8c,_0x3bb17d]of _0x103586)'$graveyard'==_0x19b98f['markers']['get'](_0x3f0f8c)['getRange']()['root']['rootName']&&(te(_0x3f0f8c['split'](':')[0x2],_0x3bb17d['toRange'](),_0x19b98f,_0x2813d0),_0x3bb17d['detach']());_0x103586['clear']();});});}(_0x1f023f),this['_domEmitter']['listenTo'](_0x221dd7['document'],'keydown',(_0x83b21d,{key:_0x563e43})=>{'Escape'===_0x563e43&&function(_0x548c85){_0x548c85['editing']['view']['change'](_0x4e3ceb=>{for(const _0x91027 of _0x548c85['model']['markers']){if(!_0x91027['name']['startsWith']('user:position'))continue;const _0x5abcb2=_0x548c85['editing']['mapper']['markerNameToElements'](_0x91027['name']);if(_0x5abcb2){for(const _0x33bd01 of _0x5abcb2)_0x4e3ceb['removeClass']('ck-user__marker_hovered',_0x33bd01);}}});}(_0x1f023f);},{'useCapture':!0x0});}['afterInit'](){const _0x450b0f=this['editor'],_0x26eed3=_0x450b0f['commands']['get']('undo');_0x26eed3&&_0x450b0f['model']['on']('applyOperation',(_0x1ecb1d,_0x4fdee9)=>{const _0x116c7b=_0x4fdee9[0x0];if(!_0x116c7b['isDocumentOperation'])return;if('marker'!=_0x116c7b['type']||!_0x116c7b['name']['startsWith']('user:'))return;const _0x3e6e33=_0x116c7b['batch'];_0x26eed3['_createdBatches']['has'](_0x3e6e33)&&(_0x116c7b['newRange']=_0x116c7b['oldRange']?_0x450b0f['model']['createRange'](_0x116c7b['oldRange']['start'],_0x116c7b['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xc55a43=this['editor'],_0x5509b8=_0xc55a43['model']['document'],_0x28733a=_0xc55a43['plugins']['get'](i);_0xc55a43['model']['enqueueChange']({'isUndoable':!0x1},_0x29c175=>{const _0x50b655='user:range:'+_0x28733a['mySessionId'],_0x3fda4e='user:position:'+_0x28733a['mySessionId'],_0x324a96=_0xc55a43['model']['markers']['has'](_0x50b655);_0xc55a43['editing']['view']['hasDomSelection']?te(_0x28733a['mySessionId'],_0x5509b8['selection']['getFirstRange'](),_0xc55a43['model'],_0x29c175):_0x324a96&&(_0x29c175['removeMarker'](_0x50b655),_0x29c175['removeMarker'](_0x3fda4e));});}}function te(_0x1ae23a,_0x47e1ab,_0x1ca5c7,_0x5e6a7b){const _0xfccc28='user:range:'+_0x1ae23a,_0x129013='user:position:'+_0x1ae23a,_0x334d22=_0x47e1ab['getContainedElement']();let _0x2a4251=_0x47e1ab['start'];if(_0x334d22&&_0x334d22['is']('element','tableCell')){const _0x1f6c04=function(_0x477380,_0xc71791){for(const _0x4e809e of _0x477380['getPositions']())if(_0xc71791['schema']['checkChild'](_0x4e809e,'$text'))return _0x4e809e;}(_0x47e1ab,_0x1ca5c7);_0x1f6c04&&(_0x2a4251=_0x1f6c04,_0x47e1ab=_0x5e6a7b['createRange'](_0x2a4251));}const _0x4d5f5d=_0x5e6a7b['createRange'](_0x2a4251);_0x1ca5c7['markers']['has'](_0xfccc28)?(_0x5e6a7b['updateMarker'](_0xfccc28,{'range':_0x47e1ab}),_0x5e6a7b['updateMarker'](_0x129013,{'range':_0x4d5f5d})):(_0x5e6a7b['addMarker'](_0xfccc28,{'range':_0x47e1ab,'usingOperation':!0x0}),_0x5e6a7b['addMarker'](_0x129013,{'range':_0x4d5f5d,'usingOperation':!0x0}));}function $(_0xd5413c,_0x2dbaa3,_0x32da00){const _0x50e443=_0xd5413c['t'],t=_0xd5413c['t'];switch(_0x2dbaa3){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 _0x50e443({'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'},_0x32da00);default:return'';}}let Q=0x1;class l extends _0x51e259{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x281104)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x1ae22e,_0x566890,_0x167205];}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 _0x4c05f9=this['serverHistory']['getOperations']();for(let _0x40a006=_0x4c05f9['length']-0x1;_0x40a006>=0x0;_0x40a006--){const _0x31ef8e=_0x4c05f9[_0x40a006];if(!this['_disconnectionOperations']['has'](_0x31ef8e))return _0x31ef8e['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2976f9){if(super(_0x2976f9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x32383e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ad561('collaboration-missing-channelid',this);const _0x334398=_0x2976f9['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x334398,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x548b13(),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 Z(this['_disconnectionOperations']);}['init'](){const _0x3e78a7=this['editor'],_0x38d9f8=_0x3e78a7['plugins']['get'](_0x566890),_0x5bb675=_0x3e78a7['plugins']['get'](n);this['listenTo'](_0x38d9f8,'getOperationAuthor',(_0x56b271,_0x567d43)=>{const _0x5a77bd=_0x567d43[0x0];_0x5a77bd['_authorId']&&(_0x56b271['return']=_0x38d9f8['getUser'](_0x5a77bd['_authorId']),_0x56b271['stop']()),null===_0x5a77bd['_authorId']&&(_0x56b271['return']=null,_0x56b271['stop']());},{'priority':'high'}),this['listenTo'](_0x3e78a7['model']['document']['selection'],'change:range',(_0x56e2db,_0x3b275c)=>{_0x3b275c['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3e78a7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3e78a7['model']['on']('applyOperation',(_0x1e9a95,_0x2091df)=>{const _0x37c87e=_0x2091df[0x0];_0x37c87e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x37c87e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5bb675,'state',this,'_hasSynchronizationProblem',(_0x219fd9,_0x4ad8ec)=>'connected'===_0x219fd9&&!_0x4ad8ec),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3e78a7['disableReadOnlyMode']('rtc-offline'):_0x3e78a7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3e78a7['disableReadOnlyMode']('rtc-offline'):_0x3e78a7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x508bc9=this['editor']['plugins']['get'](i),_0x3037b7=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x508bc9['unregister'](this['_channelId']);const _0x4d58b4=await this['_service']['reconnect'](_0x3037b7['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4d58b4)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x139a49=await this['_service']['getConnectedSessions']();_0x508bc9['register'](this['_channelId'],_0x139a49),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x39bd77){if(function(_0x1ac0fb){return'404'===_0x1ac0fb['code'];}(_0x39bd77)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1783f7){return'409'===_0x1783f7['code'];}(_0x39bd77)){const _0x2f9df8=$(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'](_0x2f9df8);}else{if(!(_0x39bd77 instanceof X))throw _0x39bd77;this['_handleReconnectionError']();}}}}['destroy'](){const _0xeeb436=this['editor']['plugins']['get'](n),_0x3fc645=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3fc645['channelSessions']['has'](this['_channelId'])&&_0x3fc645['unregister'](this['_channelId']),_0xeeb436['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5411bd){if(this['sessionId']!==_0x5411bd['sessionId']&&this['_lastSyncedOperationId']!==_0x5411bd['lastOperationId'])throw new X();return this['sessionId']=_0x5411bd['sessionId'],this['_handleServerResponse']([],{..._0x5411bd,'wereChangesApplied':!0x1,'data':_0x5411bd['data']},'reconnect');}async['_connectService'](_0x4ba58f,_0x529fba=!0x1){const {connection:_0x1d99de}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x1d99de,this['_channelId'])['then'](_0x4f8936=>this['_initSessionsHandling'](_0x4f8936))['catch'](_0x3bc733=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3bc733);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5f11ad,_0x31a598)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x31a598);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xb531d8=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4ba58f);this['_isPendingUpdate']=!0x0;const _0x274f03=await this['_service']['connect'](_0x1d99de,this['_compressOperations'](_0x4ba58f),_0xb531d8);if(this['sessionId']=_0x274f03['sessionId'],_0x529fba){if(!_0x274f03['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x274f03['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4ba58f,_0x274f03,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x274f03,_0x4ba58f);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2f2f54=this['editor']['plugins']['get'](i),_0x55b260=this['editor']['plugins']['get'](G),_0x49fdd8=_0x2f2f54['channelSessions']['get'](this['_channelId']);_0x49fdd8&&_0x49fdd8['length']>0x1?_0x55b260['createUserMarkerOperations']():this['listenTo'](_0x2f2f54,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2f2f54['channelSessions']['get'](this['_channelId'])['length']&&_0x55b260['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x19b457,_0x55262e,_0x344b98,_0x2d9ac6){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x55262e){const _0x43aec5=this['_decompressOperations'](_0x344b98,_0x2d9ac6);await this['_fetchMissingUsers'](_0x43aec5),this['_handleExternalOperations'](_0x43aec5,_0x55262e,_0x344b98['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4a3e44}=this['editor'];let _0x2aac9f;try{_0x2aac9f=await this['_service']['getDocumentDetails']();}catch{const _0x34046f=$(_0x4a3e44,'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'](_0x34046f);}const _0x59131f=_0x2aac9f['currentDocumentSession']||_0x2aac9f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x59131f['lastOperationId']){const _0x1f41d9=$(_0x4a3e44,'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'](_0x1f41d9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2c0f45){const _0x5b7692=this['editor']['plugins']['get'](i);this['listenTo'](_0x5b7692,'sessionAdd:'+this['_channelId'],(_0x5cce27,{session:_0x289ca8})=>{if(_0x289ca8['id']===_0x5b7692['mySessionId']){_0x5cce27['off']();const _0x185a3d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x59cf01=_0x289ca8['permissions'];_0x185a3d&&_0x185a3d['isEnabled']&&(_0x59cf01=_0x59cf01['filter'](_0x17613f=>'document:write'!==_0x17613f)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x59cf01,this['_channelId']);}}),_0x5b7692['register'](this['_channelId'],_0x2c0f45);}['_initThrowingOnDataSet'](){const _0x2a9e02=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2b3664)=>{if(!_0x2b3664[_0x2b3664['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ad561('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2a9e02['apply'](this['editor']['data'],_0x2b3664);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x61423b,[_0x1c41af])=>{if(this['_document']['version'])throw new _0x1ad561('realtimecollaborationclient-init-document-already-initialized',this);_0x61423b['stop'](),this['_setPendingAction']();const _0x1f870b=this['editor']['config']['get']('rootsAttributes'),_0x1b1c7e=this['_getOperationsFromInitData'](_0x1c41af,_0x1f870b);0x0==_0x1b1c7e['length']&&_0x1b1c7e['push'](new _0x4a7e8b(0x0)),_0x61423b['return']=this['_connectService'](_0x1b1c7e)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x465d6e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x465d6e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x124893,[_0x107ac3,_0x72900])=>{_0x124893['stop']();const _0x3eaddb=this['editor']['model']['document']['getRoot'](_0x107ac3);if(!this['_knownRootNames']['has'](_0x107ac3)){const _0x65f5e7=_0x72900&&_0x72900['data']?_0x72900['data']:'',_0xdfa2e6=_0x72900&&_0x72900['attributes']?_0x72900['attributes']:{};await this['_loadRoot'](_0x107ac3,_0x65f5e7,_0xdfa2e6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3eaddb['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3eaddb);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x1eef08){const _0x47f9a4=this['editor']['plugins']['get'](_0x566890),{connection:_0xbaf262}=this['editor']['plugins']['get'](n),_0x1d4d87=new Set();for(const _0x35118a of _0x1eef08){const _0x236f2b=_0x35118a['_authorId'];_0x236f2b&&!_0x47f9a4['getUser'](_0x236f2b)&&_0x1d4d87['add'](_0x236f2b);}if(0x0===_0x1d4d87['size'])return;const _0x3e2bc2=await ct['getMany'](_0xbaf262,Array['from'](_0x1d4d87));for(const _0x15cbc6 of _0x3e2bc2)_0x47f9a4['getUser'](_0x15cbc6['id'])||_0x47f9a4['addUser'](_0x15cbc6);}['_getOperationsFromInitData'](_0x16a653,_0x3f4732={}){const _0x176aea=this['editor']['model'],_0x3804fb=[];let _0x18a51f=0x0;const _0x5a067e='string'==typeof _0x16a653?{'main':_0x16a653}:_0x16a653;for(const _0x176720 of Object['keys'](_0x5a067e)){if(!this['_document']['roots']['has'](_0x176720))throw new _0x1ad561('realtimecollaborationclient-init-non-existent-root',this);const _0x3b412f=this['editor']['data']['parse'](_0x5a067e[_0x176720]),_0x118aa4=this['_document']['getRoot'](_0x176720),_0x1e4781=new _0x24f0ec(_0x176aea['createPositionAt'](_0x118aa4,0x0),_0x3b412f,_0x18a51f++);_0x3804fb['push'](_0x1e4781);for(const [_0x48ecb6,_0x58a4e2]of _0x3b412f['markers']){const _0xe2cb8c=_0x176aea['createRange'](_0x176aea['createPositionFromPath'](_0x118aa4,_0x58a4e2['start']['path']['slice']()),_0x176aea['createPositionFromPath'](_0x118aa4,_0x58a4e2['end']['path']['slice']())),_0x3d9c4e=new _0x24bac5(_0x48ecb6,null,_0xe2cb8c,_0x176aea['markers'],!0x0,_0x18a51f++);_0x3804fb['push'](_0x3d9c4e);}}if(_0x3f4732)for(const [_0x4b2a75,_0x5b7a9b]of Object['entries'](_0x3f4732)){const _0x24d25d=_0x176aea['document']['getRoot'](_0x4b2a75);if(!_0x24d25d)throw new _0x1ad561('multi-root-editor-root-attributes-no-root',null);for(const [_0x1db028,_0x5a6754]of Object['entries'](_0x5b7a9b))if(null!==_0x5a6754){const _0x5a3c8d=new _0x4e97ca(_0x24d25d,_0x1db028,null,_0x5a6754,_0x18a51f++);_0x3804fb['push'](_0x5a3c8d);}}return _0x3804fb;}async['_loadRoot'](_0x3d8ed2,_0x511160,_0x472b46){this['_getOperationsFromInitData']({[_0x3d8ed2]:_0x511160},{[_0x3d8ed2]:_0x472b46})['forEach']((_0x1638eb,_0x31aef4)=>{_0x1638eb['baseVersion']=this['_document']['version']+_0x31aef4,_0x1638eb['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1638eb);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4e8295,_0x1f742d){let _0x24aace;this['_offset']=_0x4e8295['offset'];const _0x4a4a9d=_0x4e8295['wereChangesApplied']&&!_0x4e8295['initData'],_0x5e974b=_0x4a4a9d?0x0:_0x4e8295['data']['baseVersion'];if(_0x1f742d['forEach'](_0x161b46=>{_0x161b46['_isInit']=!0x0,_0x161b46['createdAt']=_0x4e8295['sessionCreatedAt'],_0x161b46['_authorId']=null;}),_0x4a4a9d)_0x24aace=_0x1f742d,this['_applyOperationsSet'](_0x24aace,_0x4a4a9d);else{if(_0x4e8295['initData']){const _0x5c4f2f=this['_getOperationsFromInitData'](_0x4e8295['initData']);this['_document']['history']['version']=-_0x5c4f2f['length'],_0x5c4f2f['forEach'](_0x321d0e=>{_0x321d0e['baseVersion']-=_0x5c4f2f['length'],_0x321d0e['createdAt']=_0x4e8295['sessionCreatedAt'],_0x321d0e['_isInit']=!0x0,_0x321d0e['_authorId']=null;}),this['_applyOperationsSet'](_0x5c4f2f,!0x0),this['serverHistory']['version']=-_0x5c4f2f['length']+this['_offset'],this['_updateServerHistory'](_0x5c4f2f);}this['_document']['history']['version']=_0x5e974b,_0x24aace=this['_decompressOperations'](_0x4e8295['data'],_0x4e8295['metadata']),await this['_fetchMissingUsers'](_0x24aace),this['_applyOperationsSet'](_0x24aace,_0x4a4a9d);}_0x4e8295['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x24aace,_0x4e8295['lastOperationId']),this['_lastSyncedOperationId']=_0x4e8295['lastOperationId']),this['serverHistory']['version']=_0x5e974b+this['_offset'],this['_updateServerHistory'](_0x24aace),_0x1f742d['filter'](_0x3c0b6a=>{const _0x2c8ab6=this['_getAffectedRoot'](_0x3c0b6a);return _0x2c8ab6&&!this['_knownRootNames']['has'](_0x2c8ab6);})['forEach']((_0x296744,_0x3942ae)=>{_0x296744['baseVersion']=this['_document']['version']+_0x3942ae,this['_saveOperationInBuffer'](_0x296744);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4111a9,_0x338794){const _0x27292c=_0x338794&&_0x338794['message'];if(_0x27292c&&_0x27292c['startsWith']('realtimecollaborationclient'))throw _0x338794;const _0x148b72=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x148b72['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ad561(_0x4111a9,this['editor'],_0x27292c?{'originalError':_0x27292c}:void 0x0);}['_saveOperationInBuffer'](_0x3ff313){this['_knownOperations']['has'](_0x3ff313)||(this['_knownOperations']['add'](_0x3ff313),this['_bufferedOperations']['push'](_0x3ff313),this['_pendingAction']||'marker'==_0x3ff313['type']&&!_0x3ff313['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x12a40f=!0x1){!_0x12a40f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1349fe=>{_0x1349fe&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1a9f43=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1b8766){return _0x1b8766['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1b8766['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1b8766['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1a9f43)||this['_crash'](_0x1a9f43['message'],_0x1a9f43);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1920a9=>{this['on']('change:_isPendingUpdate',()=>{_0x1920a9();});});}async['_sendBufferedOperations'](){const _0x264474=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x264474['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xeca3d1=[...this['_bufferedOperations']];for(const _0x2676ff of _0xeca3d1)_0x2676ff['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2676ff);const _0x3eca57=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xeca3d1),_0x39b0d5=Q++,_0x5da572=this['_compressOperations'](_0xeca3d1),_0x2178e4=await this['_service']['sendOperations'](_0x5da572,_0x5da572['baseVersion'],_0x3eca57);try{return await this['_handleServerResponse'](_0xeca3d1,_0x2178e4,_0x39b0d5);}catch(_0x92a837){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x92a837);}}async['_handleServerResponse'](_0x59dfc7,_0xc335e6,_0x39cd47){if('error'in _0xc335e6)throw _0xc335e6['error'];let _0x15ce6f=!0x1;if(_0xc335e6['wereChangesApplied']){_0xc335e6['lastOperationId']&&(this['_lastSyncedOperationId']=_0xc335e6['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1dcf1f=>!_0x59dfc7['includes'](_0x1dcf1f));for(const _0x1136a1 of _0x59dfc7)_0x1136a1['createdAt']='lastOperationAcceptedAt'in _0xc335e6&&_0xc335e6['lastOperationAcceptedAt']||void 0x0;Y(_0x59dfc7,_0xc335e6['version']-_0x59dfc7['length']),this['_updateServerHistory'](_0x59dfc7);const _0x301784=_0x59dfc7['filter'](_0x55ea86=>{if(!_0x55ea86['_isInit'])return!0x1;const _0x4e6508=this['_getAffectedRoot'](_0x55ea86);return _0x4e6508&&!this['_knownRootNames']['has'](_0x4e6508);});Y(_0x301784,this['_document']['version']),this['_applyOperationsSet'](_0x301784),_0x15ce6f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4e438e=this['_decompressOperations'](_0xc335e6['data'],_0xc335e6['metadata'])['filter'](_0x36b218=>_0x36b218['baseVersion']>=this['_lastServerVersion']);_0x4e438e['forEach'](_0x5d9c8a=>this['_addKnownRoot'](_0x5d9c8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x18ea08=>!_0x18ea08['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x18ea08))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4e438e),_0x15ce6f=this['_handleExternalOperations'](_0x4e438e,_0xc335e6['version'],_0xc335e6['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x15ce6f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1f9c96,_0x4cb74b,_0x48b43c){try{const _0x9aea1d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x282e8c,operationsB:_0x101b0d,originalOperations:_0x28a126}=_0x59cf95(_0x1f9c96,this['_bufferedOperations'],_0x9aea1d);Y(_0x282e8c,this['_document']['version']),Y(_0x101b0d,_0x4cb74b);for(const _0x27ef4b of _0x282e8c){const _0x5bef19=_0x28a126['get'](_0x27ef4b);_0x27ef4b['_authorId']=_0x5bef19?_0x5bef19['_authorId']:null;}_0x48b43c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f9c96,_0x48b43c),this['_lastSyncedOperationId']=_0x48b43c),this['_bufferedOperations']=[..._0x101b0d],this['_applyOperationsSet'](_0x282e8c),this['_updateServerHistory'](_0x1f9c96);}catch(_0x24c59c){return console['error'](_0x24c59c),!0x1;}return!0x0;}['_applyOperationsSet'](_0x221b34,_0xfd0e53=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1380fd=>{for(const _0x589623 of _0x221b34)this['_knownOperations']['add'](_0x589623),this['_addKnownRoot'](_0x589623),_0x1380fd['batch']['addOperation'](_0x589623),this['editor']['model']['applyOperation'](_0x589623);});}['_addKnownRoot'](_0x19a6ab){const _0x75a04=this['_getAffectedRoot'](_0x19a6ab);_0x75a04&&this['_knownRootNames']['add'](_0x75a04);}['_getAffectedRoot'](_0x2be771){let _0x21562d,_0x1e6b34;switch(_0x2be771['type']){case'insert':_0x21562d=_0x2be771['position']['root'];break;case'marker':if(_0x1e6b34=_0x2be771['newRange'],!_0x1e6b34)return null;_0x21562d=_0x1e6b34['root'];break;case'addRootAttribute':_0x21562d=_0x2be771['root'];break;case'addRoot':_0x21562d=_0x2be771['affectedSelectable'];break;case'move':_0x21562d=_0x2be771['targetPosition']['root'];break;default:return null;}return _0x21562d['rootName'];}['_updateServerHistory'](_0x4f3409){_0x4f3409['forEach'](_0x3c4398=>{const _0x519e10=_0x3c4398['clone']();_0x519e10['_authorId']=_0x3c4398['_authorId'],_0x519e10['_isInit']=!!_0x3c4398['_isInit'],_0x519e10['createdAt']=_0x3c4398['createdAt'],_0x519e10['baseVersion']+=this['_offset'],_0x3c4398['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x519e10),this['serverHistory']['addOperation'](_0x519e10);});}['_handleReconnectionError'](_0xbf37c6){const _0x3fcdb3=this['editor']['plugins']['get']('Notification'),_0x392d0f=this['editor']['locale'];_0xbf37c6||(_0xbf37c6=$(_0x392d0f,'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.')),_0x3fcdb3['showWarning'](_0xbf37c6,{'title':$(_0x392d0f,'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'](_0x1ae22e)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1ae22e)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x30b193){const _0x181de5=_0x30b193['map'](_0x5a92a4=>_0x5a92a4['toJSON']());return this['_compressor']['compress'](_0x181de5);}['_decompressOperations'](_0x363c8f,_0x421dad){return this['_compressor']['decompress'](_0x363c8f)['map']((_0x5db0e4,_0x232803)=>{const _0x1420a1='init'==_0x421dad[_0x232803]['type'];if('InsertOperation'==_0x5db0e4['__className']){const _0x706ae9=_0x5db0e4['position']['root'];!this['_document']['getRoot'](_0x706ae9)&&(this['_document']['createRoot']('$root',_0x706ae9)['_isAttached']=!0x1);}const _0x1bc2aa=_0x5b3bb9['fromJSON'](_0x5db0e4,this['_document']);return _0x1bc2aa['wasUndone']=_0x5db0e4['wasUndone'],_0x1bc2aa['_isInit']=_0x1420a1,_0x1bc2aa['_authorId']=_0x1420a1?null:_0x421dad[_0x232803]['userId'],_0x1bc2aa['_isDisconnection']='cs:removeUser'===_0x421dad[_0x232803]['type'],_0x1bc2aa['createdAt']=_0x421dad[_0x232803]['createdAt'],_0x1bc2aa;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x320748=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x320748&&_0x320748['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x51632e,_0x5545c0){for(const _0x8ece46 of _0x51632e)_0x8ece46['baseVersion']=_0x5545c0++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x495375){this['_ignoredOperations']=_0x495375,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x37bfc1){let _0xdf4348=_0x37bfc1['length'];for(;_0xdf4348--;){const _0x404309=_0x37bfc1[_0xdf4348];if(!this['_ignoredOperations']['has'](_0x404309)){if(!this['_operationToId']['has'](_0x404309)){const _0x3ba340=_0x5511b8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x404309,_0x3ba340);}return this['_operationToId']['get'](_0x404309);}}}['setIdForTheLastOperation'](_0x364876,_0x55c74b){if(!_0x55c74b)return;let _0x295ebf=_0x364876['length'];for(;_0x295ebf--;){const _0x547575=_0x364876[_0x295ebf];this['_ignoredOperations']['has'](_0x547575)||this['_operationToId']['set'](_0x547575,_0x55c74b);}}}class a extends _0x51e259{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0xcfca57{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x4fbe1e)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x566890];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x367396){super(_0x367396),this['_services']=new Map();}async['init'](){const _0x5eee32=this['context'],_0x2b4c0f=_0x5eee32['plugins']['get']('CommentsRepository');if(_0x5eee32['plugins']['get'](n)['addToReconnectionStack'](this),_0x2b4c0f['adapter']={'addCommentThread':async({channelId:_0xf6dc1f,threadId:_0x103a30,comments:_0x11c3d9,resolvedAt:_0x104785,resolvedBy:_0x12bb8b,context:_0x32887d,attributes:_0x12f28c})=>{const _0x3afb03=await this['_getService'](_0xf6dc1f)['addCommentThread']({'commentThreadId':_0x103a30,'comments':_0x11c3d9['map'](_0x3a6646=>function(_0x8f57de,_0x3460ba,_0x456e5a){return{'commentThreadId':_0x456e5a,'commentId':_0x8f57de['commentId'],'userId':_0x8f57de['authorId'],'content':_0x8f57de['content'],'documentId':_0x3460ba,'createdAt':_0x8f57de['createdAt'],'attributes':_0x8f57de['attributes']||{}};}(_0x3a6646,_0xf6dc1f,_0x103a30)),'resolvedAt':_0x104785,'resolvedBy':_0x12bb8b,'context':_0x32887d,'attributes':_0x12f28c})['catch'](at);return{'threadId':_0x3afb03['commentThreadId'],'comments':_0x3afb03['comments']};},'getCommentThread':async({channelId:_0x3ce83c,threadId:_0x1c5518})=>{const _0x8c0362=await this['_getService'](_0x3ce83c)['getCommentThread'](_0x1c5518)['catch'](f)['catch'](at);return _0x8c0362?_0x8c0362['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x8c0362]),{'threadId':_0x8c0362['commentThreadId'],'comments':_0x8c0362['comments']['map'](p),'context':_0x8c0362['context'],'resolvedAt':_0x8c0362['resolvedAt'],'resolvedBy':_0x8c0362['resolvedBy'],'attributes':_0x8c0362['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x39716d,threadId:_0x20702d,context:_0x1bcc8a,unlinkedAt:_0x2b46e7,attributes:_0x21a344})=>this['_getService'](_0x39716d)['updateCommentThread']({'commentThreadId':_0x20702d,'context':_0x1bcc8a,'attributes':_0x21a344,'unlinkedAt':_0x2b46e7})['catch'](f)['catch'](at),'resolveCommentThread':async({channelId:_0x1aafad,threadId:_0x4d36ef})=>{const _0xf36deb=await this['_getService'](_0x1aafad)['resolveCommentThread'](_0x4d36ef)['catch'](f)['catch'](at);return{'threadId':_0xf36deb['commentThreadId'],'resolvedAt':_0xf36deb['resolvedAt'],'resolvedBy':_0xf36deb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3ceded,threadId:_0x2d7b11})=>this['_getService'](_0x3ceded)['reopenCommentThread'](_0x2d7b11)['catch'](f)['catch'](at),'removeCommentThread':({channelId:_0x1acffb,threadId:_0x24715d})=>this['_getService'](_0x1acffb)['removeCommentThread'](_0x24715d)['catch'](f)['catch'](at),'addComment':({channelId:_0x508036,threadId:_0x3e39af,commentId:_0x539ccb,content:_0x3a3555,attributes:_0xd69938})=>this['_getService'](_0x508036)['addComment'](_0x3e39af,_0x539ccb,_0x3a3555,_0xd69938)['catch'](at),'updateComment':({channelId:_0x48af6a,threadId:_0x8ca85e,commentId:_0x143699,content:_0x48767a,attributes:_0x13994b})=>this['_getService'](_0x48af6a)['updateComment'](_0x8ca85e,_0x143699,_0x48767a,_0x13994b)['catch'](f)['catch'](at),'removeComment':({channelId:_0x140cad,threadId:_0x459b62,commentId:_0x29355d})=>this['_getService'](_0x140cad)['removeComment'](_0x459b62,_0x29355d)['catch'](f)['catch'](at)},_0x5eee32 instanceof _0x3caf40){const _0x572fb7=_0x5eee32['config']['get']('collaboration.channelId'),_0x66423e=_0x5eee32['plugins']['get'](i);await this['_setUpService'](_0x572fb7);const _0x502364=await this['_services']['get'](_0x572fb7)['getConnectedSessions']();this['listenTo'](_0x66423e,'sessionAdd:'+_0x572fb7,(_0x4bd9de,{session:_0x2aff8d})=>{_0x2aff8d['id']===_0x66423e['mySessionId']&&(_0x4bd9de['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2aff8d['permissions'],_0x572fb7));}),_0x66423e['register'](_0x572fb7,_0x502364);}}async['_setUpService'](_0x2e300a){if(this['_services']['has'](_0x2e300a))throw new _0x1ad561('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2e300a});const _0xdc58f2=this['context']['plugins']['get']('CommentsRepository'),_0x561e43=new s['CommentsService'](_0x2e300a);this['_services']['set'](_0x2e300a,_0x561e43),this['listenTo'](_0x561e43,'commentThreadAdded',(_0x5df8ba,_0x3e3c3c)=>{const {commentThreadId:_0x40abac,documentId:_0xb7c14c,context:_0x4b8785,attributes:_0x3e23a2,resolvedAt:_0x7b65fc,resolvedBy:_0x290062,comments:_0x1c9ed7}=_0x3e3c3c;_0xdc58f2['getCommentThread'](_0x40abac)||_0xdc58f2['addCommentThread']({'threadId':_0x40abac,'channelId':_0xb7c14c,'comments':_0x1c9ed7?_0x1c9ed7['map'](p):[],'context':_0x4b8785,'attributes':_0x3e23a2,'resolvedAt':_0x7b65fc,'resolvedBy':_0x290062,'isFromAdapter':!0x0});}),this['listenTo'](_0x561e43,'commentThreadUpdated',(_0x395f95,{commentThreadId:_0x1476d6,documentId:_0x38eacf,context:_0x22d999,unlinkedAt:_0x5a04cc,attributes:_0x31619a})=>{_0xdc58f2['getCommentThread'](_0x1476d6)&&_0xdc58f2['updateCommentThread']({'threadId':_0x1476d6,'channelId':_0x38eacf,'context':_0x22d999,'unlinkedAt':_0x5a04cc,'attributes':_0x31619a,'isFromAdapter':!0x0});}),this['listenTo'](_0x561e43,'commentThreadResolved',(_0xb3214b,{commentThreadId:_0x33addf,resolvedBy:_0x16bbc0,resolvedAt:_0x5d1114})=>{const _0x294105=_0xdc58f2['getCommentThread'](_0x33addf);_0x294105&&_0x294105['resolve']({'resolvedBy':_0x16bbc0,'resolvedAt':_0x5d1114,'isFromAdapter':!0x0});}),this['listenTo'](_0x561e43,'commentThreadReopened',(_0x5a1345,{commentThreadId:_0x57fb22})=>{const _0x795cfe=_0xdc58f2['getCommentThread'](_0x57fb22);_0x795cfe&&_0x795cfe['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x561e43,'commentThreadRemoved',(_0x30cbee,{commentThreadId:_0x2bc3ae})=>{const _0x4518f3=_0xdc58f2['getCommentThread'](_0x2bc3ae);_0x4518f3&&_0x4518f3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x561e43,'commentAdded',(_0x39237f,_0x4fe82f)=>{const _0x5bc8e8=_0x4fe82f['commentThreadId'],_0x51f674=_0xdc58f2['getCommentThread'](_0x5bc8e8);_0x51f674&&_0x51f674['addComment']({...p(_0x4fe82f),'isFromAdapter':!0x0});}),this['listenTo'](_0x561e43,'commentUpdated',(_0x19c1fc,{commentThreadId:_0x49697b,commentId:_0x20000e,content:_0x36648a,attributes:_0x2035e5})=>{const _0x5f1f0d=_0xdc58f2['getCommentThread'](_0x49697b);if(_0x5f1f0d){const _0x4675d7=_0x5f1f0d['getComment'](_0x20000e);_0x4675d7&&_0x4675d7['update']({'content':_0x36648a,'attributes':_0x2035e5,'isFromAdapter':!0x0});}}),this['listenTo'](_0x561e43,'commentRemoved',(_0x24ca11,{commentThreadId:_0x1779c3,commentId:_0x170260})=>{const _0x16d4e3=_0xdc58f2['getCommentThread'](_0x1779c3);if(_0x16d4e3){const _0x2a5e6e=_0x16d4e3['getComment'](_0x170260);_0x2a5e6e&&_0x2a5e6e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2e300a);}['destroy'](){if(this['context']instanceof _0x3caf40){const _0x4002c9=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4002c9);}}['_terminateService'](_0x49ecd8){if(!this['_services']['has'](_0x49ecd8))throw new _0x1ad561('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x49ecd8});this['_getService'](_0x49ecd8)['disconnect'](),this['_services']['delete'](_0x49ecd8);}async['reconnect'](){for(const _0x1c1eec of this['_services']['keys']())await this['_connectService'](_0x1c1eec);if(this['context']instanceof _0x3caf40){const _0x325e80=this['context']['config']['get']('collaboration.channelId'),_0x3091f0=this['context']['plugins']['get'](i);_0x3091f0['unregister'](_0x325e80);const _0x3737b9=await this['_services']['get'](_0x325e80)['getConnectedSessions']();_0x3091f0['register'](_0x325e80,_0x3737b9);}}async['_connectService'](_0x4f8df6){const {connection:_0x278689}=this['context']['plugins']['get'](n),_0x3eee4a=this['context']['plugins']['get']('CommentsRepository'),_0x3d2cad=this['_services']['get'](_0x4f8df6),_0xe0a349=await _0x3d2cad['connect'](_0x278689);await this['_fetchMissingUsersForThreads'](_0xe0a349);const _0x142c6d=new Set(Array['from'](_0x3eee4a['getCommentThreads']({'channelId':_0x4f8df6}),_0x5d479b=>_0x5d479b['id']));for(const _0xf16730 of _0xe0a349)_0xf16730['deletedAt']||_0x142c6d['delete'](_0xf16730['commentThreadId']);for(const _0x5dfc02 of _0x142c6d)_0x3eee4a['getCommentThread'](_0x5dfc02)['remove']({'isFromAdapter':!0x0});for(const _0x5421e1 of _0xe0a349){let _0x53aefb=_0x3eee4a['getCommentThread'](_0x5421e1['commentThreadId']);const {commentThreadId:_0x29ad16,context:_0x39c843,attributes:_0x244ea3,resolvedBy:_0x29a476,resolvedAt:_0x2a51f4,unlinkedAt:_0x29014e,deletedAt:_0x1dd24d}=_0x5421e1;if(_0x1dd24d)continue;_0x53aefb||(_0x53aefb=_0x3eee4a['addCommentThread']({'channelId':_0x4f8df6,'threadId':_0x29ad16,'context':_0x39c843,'attributes':_0x244ea3||{},'resolvedBy':_0x29a476,'resolvedAt':_0x2a51f4,'unlinkedAt':_0x29014e,'isFromAdapter':!0x0}));const _0x110d74=new Set(Array['from'](_0x53aefb['comments'],_0x4afbb5=>_0x4afbb5['id']));for(const _0x4ed63b of _0x5421e1['comments'])_0x110d74['delete'](_0x4ed63b['commentId']);for(const _0x40f3f4 of _0x110d74)_0x53aefb['getComment'](_0x40f3f4)['remove']({'isFromAdapter':!0x0});for(const _0x3c67dd of _0x5421e1['comments']){const _0x1dcd83=_0x53aefb['getComment'](_0x3c67dd['commentId']);_0x1dcd83?_0x1dcd83['content']!==_0x3c67dd['content']&&_0x1dcd83['update']({'content':_0x3c67dd['content'],'isFromAdapter':!0x0}):_0x53aefb['addComment'](Object['assign'](p(_0x3c67dd),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3a2dd0){if(!this['_services']['has'](_0x3a2dd0))throw new _0x1ad561('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3a2dd0});return this['_services']['get'](_0x3a2dd0);}async['_fetchMissingUsersForThreads'](_0x4d07e9){const _0x27d2fb=this['context']['plugins']['get'](_0x566890),{connection:_0x2308ab}=this['context']['plugins']['get'](n),_0x11ce69=new Set();for(const {resolvedBy:_0x1f1b95,comments:_0x2d108a}of _0x4d07e9){_0x1f1b95&&!_0x27d2fb['getUser'](_0x1f1b95)&&_0x11ce69['add'](_0x1f1b95);for(const {userId:_0x1c95b8}of _0x2d108a)_0x27d2fb['getUser'](_0x1c95b8)||_0x11ce69['add'](_0x1c95b8);}if(0x0===_0x11ce69['size'])return;const _0x49dc7c=await ct['getMany'](_0x2308ab,Array['from'](_0x11ce69));for(const _0x23ded2 of _0x49dc7c)_0x27d2fb['getUser'](_0x23ded2['id'])||_0x27d2fb['addUser'](_0x23ded2);}}async function f(_0x38b2ca){if('404'!==_0x38b2ca['code'])throw _0x38b2ca;}function at(_0x5c1c10){if((_0x362c84=_0x5c1c10)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x362c84['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x362c84['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x362c84;throw _0x5c1c10;}function p(_0x59f4e4){return{'threadId':_0x59f4e4['commentThreadId'],'commentId':_0x59f4e4['commentId'],'content':_0x59f4e4['content'],'createdAt':_0x59f4e4['createdAt'],'authorId':_0x59f4e4['userId'],'attributes':_0x59f4e4['attributes']||{}};}class m extends _0x51e259{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_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(_0x494746){super(_0x494746);const _0x58436b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x58436b);}['init'](){const _0x5ef32d=this['editor']['plugins']['get'](n),_0xfe10d7=this['editor']['plugins']['get']('TrackChangesEditing');return _0xfe10d7['adapter']={'getSuggestion':async _0x126124=>{await this['_waitForServiceReady']();const _0x45296a=await this['_trackChangesService']['get'](_0x126124)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x45296a]),_0x45296a;},'addSuggestion':async({id:_0xa2232d,type:_0x535579,data:_0x3fca48,originalSuggestionId:_0x246dff,attributes:_0x322d35})=>{await this['_waitForServiceReady']();const _0x13ca0c={'id':_0xa2232d,'type':_0x535579,'data':_0x3fca48,'originalSuggestionId':_0x246dff,'attributes':_0x322d35},_0x163270=await this['_trackChangesService']['add'](_0xa2232d,_0x535579,_0x3fca48,_0x246dff,_0x322d35)['catch'](_0x5ebb5a=>{if(ht(_0x5ebb5a))return new Promise(_0x497fd2=>{this['_bufferedRequests']['set'](_0xa2232d,{'resolve':_0x497fd2,'suggestionData':_0x13ca0c});});throw _0x5ebb5a;});return this['_bufferedRequests']['delete'](_0xa2232d),_0x163270;},'updateSuggestion':async(_0x149712,_0xb99f30)=>{if(await this['_waitForServiceReady'](),'open'!==_0xb99f30['state'])return this['_trackChangesService']['update'](_0x149712,_0xb99f30)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x41307f,_0x56001e)=>{_0xfe10d7['hasSuggestion'](_0x56001e['id'])&&(_0xfe10d7['getSuggestion'](_0x56001e['id'])['attributes']=_0x56001e['attributes']);}),this['_trackChangesService']['connect'](_0x5ef32d['connection'])['then'](_0x45cfa7=>(_0x5ef32d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x45cfa7)['then'](()=>{for(const _0x5472db of _0x45cfa7){_0xfe10d7['addSuggestionData'](_0x5472db)['_saved']=!0x0;}})));}async['reconnect'](){const _0x12f170=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xdc1a35}=this['editor']['plugins']['get'](n),_0x4e9ee9=await this['_trackChangesService']['connect'](_0xdc1a35);await this['_fetchMissingUsersForThreads'](_0x4e9ee9);for(const {suggestionData:_0x1acb52,resolve:_0x57902a}of this['_bufferedRequests']['values']()){let _0x16f617=_0x4e9ee9['find'](_0x2b3cd8=>_0x2b3cd8['id']===_0x1acb52['id']);_0x16f617||(_0x16f617=await this['_trackChangesService']['add'](_0x1acb52['id'],_0x1acb52['type'],_0x1acb52['data'],_0x1acb52['originalSuggestionId'])),_0x57902a(_0x16f617);}for(const _0x552eb2 of _0x4e9ee9)_0x12f170['hasSuggestion'](_0x552eb2['id'])||_0x12f170['addSuggestionData'](_0x552eb2);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3e19e9=>{this['listenTo'](this['_trackChangesService'],'connected',_0x248fe9=>{_0x248fe9['off'](),_0x3e19e9();});});}async['_fetchMissingUsersForThreads'](_0x171fdb){const _0x3cc46f=this['editor']['plugins']['get'](_0x566890),{connection:_0x464d37}=this['editor']['plugins']['get'](n),_0x2a7d6f=new Set();for(const {authorId:_0x4cd850}of _0x171fdb)_0x3cc46f['getUser'](_0x4cd850)||_0x2a7d6f['add'](_0x4cd850);if(0x0===_0x2a7d6f['size'])return;const _0x35c967=await ct['getMany'](_0x464d37,Array['from'](_0x2a7d6f));for(const _0x4fbd2c of _0x35c967)_0x3cc46f['getUser'](_0x4fbd2c['id'])||_0x3cc46f['addUser'](_0x4fbd2c);}}function A(_0x48264d){if(ht(_0x48264d))return new Promise(()=>{});throw _0x48264d;}function ht(_0x13c9a2){return _0x13c9a2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x13c9a2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x51e259{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 _0x3ab2d5=this['editor']['plugins']['get'](n),_0x28ece4=this['editor']['plugins']['get']('CommentsEditing'),_0x8d98af=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3ab2d5,'change:state',(_0x5d6f37,_0x21bb7b,_0x413af8)=>{_0x28ece4['isThreadsLoadingPaused']='connected'!==_0x413af8;});}),this['listenTo'](_0x3ab2d5,'change:state',(_0x226a03,_0x59ba0c,_0x1b5334)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x1b5334);}),_0x8d98af['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x51e259{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 _0x51e259{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x1d98d3)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x566890];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5c16b3){super(_0x5c16b3);const _0x3b7211=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x3b7211);}async['init'](){const _0x463e30=this['editor']['plugins']['get'](l),_0x1525a6=_0x463e30['serverHistory'],_0x27a732=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1525a6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x463e30['sessionId']});const _0x49659e=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x523a64=await _0xa0c2f8['isBundleUploaded'](_0x27a732['connection'],_0x49659e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x49a786})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x49a786)),'updateRevisions':async _0x5448d9=>{await this['_waitForServiceReady']();const _0x160545=this['_revisionTracker']['currentRevision'];if(_0x523a64&&0x1===_0x5448d9['length']&&_0x5448d9[0x0]['id']===_0x160545['id'])return _0x5448d9;for(const _0x100f33 of _0x5448d9)_0x100f33['id']===_0x160545['id']&&(_0x100f33['isEmptyCurrent']=_0x100f33['fromVersion']===_0x100f33['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5448d9,this['_lastRequestId'])['then'](_0x2a2cb6=>(this['_lastRequestId']=_0x2a2cb6,_0x5448d9))['catch'](_0x1c11bb=>{if(b(_0x1c11bb)||'400'===_0x1c11bb['code']&&void 0x0!==_0x1c11bb['data']['wrongRequestId']){for(const _0x1da98e of _0x5448d9){!this['_revisionTracker']['repository']['getRevision'](_0x1da98e['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1da98e['id'],_0x1da98e,!0x1);}if(b(_0x1c11bb))throw _0x1c11bb;return _0x5448d9;}throw _0x1c11bb;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x51b592,{revisionsData:_0x114a0b,requestId:_0x3bda66})=>{Math['max'](..._0x114a0b['map'](_0x5e62c1=>_0x5e62c1['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x114a0b,_0x3bda66);}):this['_handleRevisionsUpdate'](_0x114a0b,_0x3bda66);});const {revisions:_0x2a7d2d,requestId:_0x41215b}=await this['_revisionHistoryService']['connect'](_0x27a732['connection']);_0x27a732['addToReconnectionStack'](this),this['_lastRequestId']=_0x41215b,await this['_fetchMissingUsers'](_0x2a7d2d);for(const _0x381d52 of _0x2a7d2d)this['_revisionTracker']['addRevisionData'](_0x381d52);this['listenTo'](_0x463e30,'change:_isConnected',(_0xf6c8dc,_0x490895,_0x184d3d)=>{_0x184d3d&&(this['_oldOffset']=_0x463e30['_offset'],_0xf6c8dc['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x27a732,'state',_0x3191a4=>_0x3191a4===_0x32a08a['CONNECTED']);}async['reconnect'](){const _0x440a7f=this['editor']['plugins']['get'](n),_0x3368e9=this['editor']['plugins']['get'](l),_0x5eb504=async()=>{const _0x2c8d2c=this['_revisionTracker']['currentRevision'],_0x2ef1a9=_0x2c8d2c['id'],_0x47f5ac=_0x2ef1a9!==_0x3368e9['sessionId'];if(_0x47f5ac){const _0x44718e=_0x3368e9['_offset']-this['_oldOffset'],_0x5e2790=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2c8d2c['toVersion']+_0x44718e!==_0x5e2790){const _0x3f019c=_0x2c8d2c['fromVersion']+_0x44718e,_0x5c5262=this['editor']['plugins']['get'](_0x566890),_0x53fcba=this['_revisionTracker']['buildRevisionData']({'revision':_0x2c8d2c,'from':_0x3f019c,'to':_0x5e2790});_0x53fcba['id']=_0x2c8d2c['id'];const _0x202159=_0x53fcba['authorsIds']['map'](_0x449346=>_0x5c5262['getUser'](_0x449346));_0x2c8d2c['_update']({..._0x53fcba,'authors':_0x202159},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2c8d2c['id'],_0x53fcba,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5e2790,(_0x2c8d2c['toVersion']===_0x2c8d2c['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2ef1a9)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2ef1a9),this['_revisionTracker']['_createCurrentRevision'](_0x5e2790));}const {revisions:_0x20c9b2,requestId:_0x511f2f}=await this['_revisionHistoryService']['reconnect'](_0x440a7f['connection'],this['_lastRequestId']);_0x47f5ac&&_0x20c9b2['length']>0x0?_0x3368e9['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x20c9b2),this['_handleRevisionsUpdate'](_0x20c9b2,_0x511f2f),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3368e9['_isConnected']?_0x5eb504():new Promise((_0x4514b4,_0x3d8ebd)=>{_0x3368e9['once']('change:_isConnected',()=>{_0x5eb504()['then'](_0x4514b4)['catch'](_0x3d8ebd);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4b6f37=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1bd764=>{_0x1bd764['off'](),_0x4b6f37();});});}['_getLatestVersionFromServerOperations'](){const _0x41f931=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x103a46 of _0x41f931)if('marker'!==_0x103a46['type']||_0x103a46['affectsData'])return _0x103a46['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3aa8bb=this['editor']['plugins']['get'](l);return new Promise(_0xdb7dec=>{_0x3aa8bb['_isPendingUpdate']?_0x3aa8bb['once']('change:_isPendingUpdate',()=>{_0xdb7dec(this['_getLatestVersionFromServerOperations']());}):_0xdb7dec(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3f393a,_0x74e07c){const _0x511397=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x74e07c;for(const _0x4abc0b of _0x3f393a){const _0x6bfd7e=_0x511397['getRevision'](_0x4abc0b['id']);if(_0x6bfd7e){if((_0x4abc0b['fromVersion']||_0x4abc0b['toVersion'])&&(_0x4abc0b['diffData']=null),_0x6bfd7e===this['_revisionTracker']['currentRevision']){const _0x5328ee=Math['max'](_0x6bfd7e['toVersion'],_0x4abc0b['toVersion']),_0x110d98=Math['max'](_0x6bfd7e['fromVersion'],_0x4abc0b['fromVersion']);let _0x2920d2;_0x6bfd7e['toVersion']===_0x4abc0b['toVersion']&&_0x6bfd7e['fromVersion']===_0x4abc0b['fromVersion']?(_0x2920d2=!0x0,this['_preventResendingRevisionData'](_0x4abc0b)):_0x4abc0b['toVersion']===_0x5328ee&&_0x4abc0b['fromVersion']===_0x110d98?_0x2920d2=!0x1:(_0x6bfd7e['toVersion']===_0x5328ee&&_0x6bfd7e['fromVersion']===_0x110d98||this['_fixRevision']({'revision':_0x6bfd7e,'from':_0x110d98,'to':_0x5328ee}),_0x2920d2=!0x0),_0x2920d2&&(delete _0x4abc0b['fromVersion'],delete _0x4abc0b['toVersion'],delete _0x4abc0b['diffData'],delete _0x4abc0b['createdAt'],delete _0x4abc0b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4abc0b),this['_preventResendingRevisionData'](_0x4abc0b);}else this['_revisionTracker']['addRevisionData'](_0x4abc0b);}const _0x1de027=_0x511397['getRevisions']();_0x1de027['reverse']();for(let _0x40d30c=0x0;_0x40d30c<_0x1de027['length']-0x1;_0x40d30c++){const _0x44853a=_0x1de027[_0x40d30c],_0x52d552=_0x1de027[_0x40d30c+0x1];if(_0x44853a['fromVersion']<_0x52d552['toVersion']){const _0x52c172=_0x52d552['toVersion'],_0x15f75e=Math['max'](_0x52c172,_0x44853a['toVersion']);this['_fixRevision']({'revision':_0x44853a,'from':_0x52c172,'to':_0x15f75e});}}}['_fixRevision']({revision:_0x5432ed,from:_0x5794b2,to:_0x512582}={}){const _0xf08ad5=this['editor']['plugins']['get'](_0x566890),_0x42d78c=this['_revisionTracker']['buildRevisionData']({'revision':_0x5432ed,'from':_0x5794b2,'to':_0x512582});_0x42d78c['authors']=_0x42d78c['authorsIds']['map'](_0x302c86=>_0xf08ad5['getUser'](_0x302c86)),_0x5432ed['_update'](_0x42d78c);}['_preventResendingRevisionData'](_0x140650){const _0x14b14={};_0x14b14['id']=_0x140650['id'];for(const _0x1f3c1f of Object['keys'](_0x140650))'id'!==_0x1f3c1f&&(_0x14b14[_0x1f3c1f]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x14b14['id'],_0x14b14,!0x0);}async['_fetchMissingUsers'](_0x4e1c19){const _0x292765=this['editor']['plugins']['get'](_0x566890),{connection:_0x15cc17}=this['editor']['plugins']['get'](n),_0x142f5c=new Set();for(const _0xb7763e of _0x4e1c19){for(const _0x484402 of _0xb7763e['authorsIds'])_0x505192(_0x484402);_0xb7763e['creatorId']&&_0x505192(_0xb7763e['creatorId']);}if(0x0===_0x142f5c['size'])return;const _0x57f108=await ct['getMany'](_0x15cc17,Array['from'](_0x142f5c));for(const _0x4850fe of _0x57f108)_0x292765['getUser'](_0x4850fe['id'])||_0x292765['addUser'](_0x4850fe);function _0x505192(_0x5166bf){_0x292765['getUser'](_0x5166bf)||_0x142f5c['add'](_0x5166bf);}}}function b(_0x32edab){return _0x32edab['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x32edab['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x32edab['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x51e259{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class U extends _0x542b5b{['_collapseAt'];constructor(_0x25495a,_0x36a912=0x6){super(_0x25495a);const _0x2dfa21=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x36a912,this['bind']('isHidden')['to'](this,'usersCount',_0x26374b=>_0x26374b<_0x36a912),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2dfa21['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':_0x2dfa21['to']('usersCount',_0xb1dbb1=>'+'+(_0xb1dbb1-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x542b5b{['items'];['keystrokes'];constructor(_0x2c651c){super(_0x2c651c);const _0x1bfff1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x17f45a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1bfff1['if']('hasPopup'),'aria-expanded':_0x1bfff1['to']('isExpanded',_0x2aaefd=>this['hasPopup']&&String(_0x2aaefd)),'aria-label':_0x1bfff1['to']('hasPopup',_0xb97717=>$(_0x2c651c,_0xb97717?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1bfff1['to']('hasPopup',_0x59db04=>!!_0x59db04&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x1bfff1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x1bfff1['to'](_0x48eb32=>{const _0x1d0cf5=_0x48eb32,_0x9bbadc=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1fbe09=document['querySelector']('.ck-balloon-panel_with-arrow');_0x9bbadc?.['contains'](_0x1d0cf5['relatedTarget'])||_0x1fbe09?.['contains'](_0x1d0cf5['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2b2c5c,_0x49d3cb,_0x78d573)=>{this['element']&&(_0x78d573?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 P extends _0x542b5b{['counterView'];['inlineListView'];constructor(_0x13ee9e,_0x233ec0=0x6){super(_0x13ee9e);const _0x368290=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new U(this['locale'],_0x233ec0),this['inlineListView']=new is(_0x13ee9e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2dc793 of this['inlineListView']['items'])_0x2dc793['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',_0x368290['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class D extends _0x542b5b{['listWrapperView'];constructor(_0x5132cd,_0x3bb157){super(_0x5132cd);const _0x1c70eb=this['bindTemplate'];this['listWrapperView']=new ut(_0x5132cd,_0x3bb157),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x5132cd,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1c70eb['to'](_0x5f3809=>{const _0x509465=_0x5f3809,_0x4ea319=document['querySelector']('.ck-presence-list__list'),_0x41edd7=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4ea319?.['contains'](_0x509465['relatedTarget'])||_0x41edd7?.['contains'](_0x509465['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x520492{constructor(_0x1fe3c3,_0x3c29f0){super(_0x1fe3c3);const _0x415370=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3c29f0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x415370['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x415370['to']('role'),'aria-label':_0x415370['to']('ariaLabel'),'aria-labelledby':_0x415370['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x221dd7['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x489f72=this['element'];_0x489f72&&(this['_isScrollable']=Math['max'](_0x489f72['scrollHeight'],_0x489f72['clientHeight'])>0.8*window['innerHeight']);}}class V extends et{['userView'];constructor(_0x4806c9,_0x4949e2,_0x239699){super(_0x4806c9);const _0x78d0b0=this['bindTemplate'];this['userView']=new st(_0x4806c9,_0x4949e2);const _0x13ea81={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4949e2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4949e2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4949e2['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x239699&&(_0x13ea81['tag']='button',_0x13ea81['on']={'click':_0x78d0b0['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x13ea81);}['focus'](){this['element']['focus']();}}class E extends _0x542b5b{['userView'];['markerView'];constructor(_0x2c4bbb,_0x39de82,_0x5b6edd){super(_0x2c4bbb);const _0x298d7c=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x2c4bbb,_0x39de82),this['markerView']=new ot(_0x2c4bbb,_0x39de82);const _0x1ad00d=new it(_0x2c4bbb);_0x1ad00d['template']['tag']='span',_0x1ad00d['text']=_0x39de82['name'];const _0x3e0c54={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x298d7c['to']('isFocusable',_0x2988e5=>!!_0x2988e5&&0x0),'aria-labelledby':_0x1ad00d['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x298d7c['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x298d7c['to']('hasTooltip',_0xa9a319=>!_0xa9a319),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1ad00d]};_0x5b6edd&&(_0x3e0c54['tag']='button',_0x3e0c54['on']={'click':_0x298d7c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e0c54);}}class ot extends _0x542b5b{constructor(_0x266dcb,_0x420a8c){super(_0x266dcb),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x420a8c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const M={'collapseAt':0x6,'displayMe':!0x0};class r extends _0xcfca57{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3c8925){super(_0x3c8925),this['context']['config']['define']('presenceList',M);const _0x260f47=_0x3c8925['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x260f47)throw new _0x1ad561('presencelist-collapseat-invalid-format',this);if(_0x260f47<0x1)throw new _0x1ad561('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xa42536(),this['balloonPanelView']=new _0x3fcd28(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x172a4c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x172a4c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5ca858,_0x24e576)=>{this['_handleUserAdd'](_0x24e576);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2a5ae4,_0x4ea6a5)=>{this['_handleUserRemove'](_0x4ea6a5);});}['_createView'](){const _0x53e595=this['context'],_0x361a86=new P(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x130d6c=this['balloonPanelView'];if(!_0x20cc7f(_0x53e595['config']['get']('presenceList.container')))throw new _0x1ad561('presencelist-missing-container',this);return _0x361a86['counterView']['bind']('usersCount')['to'](this),_0x361a86['bind']('isCollapsed')['to'](this,'usersCount',_0x4a5e9c=>{const {collapseAt:_0xcff525}=_0x53e595['config']['get']('presenceList'),_0x33948b=_0x4a5e9c>=_0xcff525;if(_0x33948b&&!_0x361a86['inlineListView']['items']['find'](_0x3973ed=>_0x3973ed instanceof U)){const _0xdbc0ab=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0xdbc0ab&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x361a86['inlineListView']['items']['add'](_0x361a86['counterView']);}return _0x33948b||this['hideDropdown'](),_0x33948b;}),_0x361a86['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x46e1d5=>{const _0x3aba94=_0x53e595['config']['get']('presenceList'),_0x494f1e=new E(_0x53e595['locale'],_0x46e1d5,!!_0x3aba94['onClick']);return _0x494f1e['bind']('hasTooltip')['to'](_0x361a86,'isCollapsed',_0xae1031=>!_0xae1031),_0x494f1e['bind']('isFocusable')['to'](_0x361a86,'isCollapsed',_0x1706af=>!_0x1706af),_0x3aba94['onClick']&&this['listenTo'](_0x494f1e,'execute',()=>{this['view']['isCollapsed']||_0x3aba94['onClick'](_0x46e1d5,_0x494f1e['element']);}),_0x494f1e;}),this['listenTo'](_0x361a86['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x361a86['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x361a86['inlineListView']['keystrokes']['set']('Enter',(_0x586158,_0x299e15)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x299e15());}),_0x361a86['render'](),_0x130d6c['render'](),_0x1ed94d({'emitter':_0x361a86,'activator':()=>_0x130d6c['isVisible'],'contextElements':[_0x130d6c['element'],_0x361a86['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x53e595['config']['get']('presenceList.container')['appendChild'](_0x361a86['element']),this['_bodyCollection']=new _0x388128(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x361a86;}['_handleUserAdd'](_0x389337){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x389337['isMe'])return;const _0x4bb421=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4bb421-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x483690=_0x389337['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x389337,_0x483690);}['_handleUserRemove'](_0x472e18){this['usersCount']--;const {collapseAt:_0x201730}=this['context']['config']['get']('presenceList'),_0x4c3118=this['usersCount']>=_0x201730;if(this['currentDisplayedUsers']['get'](_0x472e18['id']))this['currentDisplayedUsers']['remove'](_0x472e18['id']);else{if(_0x4c3118&&this['currentDisplayedUsers']['length']+0x1===_0x201730-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4c3118?0x1:0x0)<this['usersCount']){for(const _0x5e9051 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5e9051['id'])&&(this['currentDisplayedUsers']['add'](_0x5e9051,Math['min'](this['currentDisplayedUsers']['length']-(_0x4c3118?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4c3118?0x1:0x0)===_0x201730-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xd909db=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new D(this['context']['locale'],!!_0xd909db['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x85c6c4}=this['presenceDropdownView'];_0x85c6c4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5b9508=>{if(!_0xd909db['displayMe']&&_0x5b9508['isMe'])return null;const _0x57eb66=new V(this['context']['locale'],_0x5b9508,!!_0xd909db['onClick']);return _0xd909db['onClick']&&this['listenTo'](_0x57eb66,'execute',()=>{_0xd909db['onClick'](_0x5b9508,_0x57eb66['element']);}),_0x57eb66;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x85c6c4['focus'](),_0x85c6c4['checkIfScrollable']();const _0x47d3f7=(_0x4b51e5,_0x139631)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x139631();};_0x85c6c4['keystrokes']['set']('Esc',_0x47d3f7),_0x85c6c4['keystrokes']['set']('Shift+Tab',_0x47d3f7),_0x85c6c4['keystrokes']['set']('Tab',(_0x1ef784,_0x470db9)=>{!function(_0x161c8e){const _0x3a4af8=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x57b434=>_0x57b434+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x51fe59=[...document['body']['querySelectorAll'](_0x3a4af8)]['filter'](_0x32737f=>_0x32737f===document['activeElement']||_0x32737f['offsetWidth']+_0x32737f['offsetHeight']>0x0)['sort']((_0x353efd,_0x57c5f2)=>(_0x353efd['tabIndex']||0x0)-(_0x57c5f2['tabIndex']||0x0)),_0x46d51f=_0x51fe59['indexOf'](_0x161c8e),_0x238796=_0x51fe59[(_0x46d51f+0x1)%_0x51fe59['length']];_0x238796&&_0x238796['focus']();}(this['view']['element']),this['hideDropdown'](),_0x470db9();}),_0x85c6c4['focusTracker']['add'](this['view']['element']),_0x85c6c4['focusTracker']['on']('change:isFocused',(_0x1d19ec,_0x3fcb02,_0x174343)=>{_0x174343||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 ft extends _0xcfca57{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,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x2a8ba5,Plugin as _0x59a1de,PendingActions as _0x4d6cee,Context as _0x263458}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2b04e4,CKEditorError as _0x9ea68e,Collection as _0x12113e,global as _0x4d5004,version as nt,uid as _0x1c0d63,KeystrokeHandler as _0x10082a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x44c5ff,View as _0x3e4f4b,ListView as _0x2cdcca,ListItemView as et,LabelView as it,BalloonPanelView as _0x3e6403,clickOutsideHandler as _0x4f04e3,BodyCollection as _0x7b67c4}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x334593,History as _0x2cea37,NoOperation as _0x5462c8,InsertOperation as _0x3e591a,MarkerOperation as _0x264a9c,RootAttributeOperation as _0x272fd0,transformOperationSets as _0x528e7b,OperationFactory as _0x1d069c}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x41e887,CollaborativeEditingService as _0x35a5fe,User as ct,CommentsService as _0x353fb0,TrackChangesService as _0x548ab5,RevisionHistoryService as _0x3b5370,EditorService as _0x5d90dd}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x32e680,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x44295a}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x5f07b6}from'es-toolkit/compat';class n extends _0x2a8ba5{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x44c5ff];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x198bc7){super(_0x198bc7),this['set']('state',_0x41e887['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2b04e4())();}['init'](){const _0x43b816=this['context'],_0x539f8f=_0x43b816['plugins']['get']('CloudServices'),_0x3a3cd5=_0x43b816['plugins']['get'](_0x44c5ff);if(!_0x539f8f['token'])throw new _0x9ea68e('websocketgateway-missing-token',this);if(!_0x539f8f['webSocketUrl'])throw new _0x9ea68e('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'](_0x539f8f['token'],_0x539f8f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3b7d72=>{if(this['connection']=_0x3b7d72,this['bind']('state')['to'](_0x3b7d72,'state',this,'_isBrowserOffline',(_0x421826,_0x43a77b)=>('connected'!==_0x421826&&(this['_shouldPluginsReconnect']=!0x0),_0x43a77b||_0x421826!==_0x41e887['CONNECTED']?_0x41e887['DISCONNECTED']:this['state']==_0x41e887['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x41e887['CONNECTING']):_0x41e887['CONNECTED'])),this['connection']['on']('error',(_0x656740,_0x118ed5)=>{if('limitExceeded'!==_0x118ed5['code'])throw console['error'](_0x118ed5),new _0x9ea68e('cloudservices-init',null,{'originalError':_0x118ed5});_0x3a3cd5['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'});}),!_0x3b7d72['me'])return new Promise(_0x255abe=>_0x3b7d72['on']('change:me',_0x255abe));})['catch'](_0x15a4eb=>{throw console['error'](_0x15a4eb),new _0x9ea68e('cloudservices-init',null,{'originalError':_0x15a4eb});});}['addToReconnectionStack'](_0x3537b6){if('function'!=typeof _0x3537b6['reconnect'])throw new _0x9ea68e('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3537b6))throw new _0x9ea68e('websocketgateway-plugin-already-registered',this,{'name':_0x3537b6['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3537b6);}['removeFromReconnectionStack'](_0x431577){this['_reconnectionStack']['delete'](_0x431577);}['isInReconnectionStack'](_0x4ca788){return this['_reconnectionStack']['has'](_0x4ca788);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1bc0da=>_0x1bc0da['reconnect']())))['then'](()=>this['state']=_0x41e887['CONNECTED'])['catch'](_0x11e171=>{throw console['error'](_0x11e171),new _0x9ea68e('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x41e887['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2a8ba5{['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,_0x32e680];}constructor(_0x1b6dc2){super(_0x1b6dc2),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x12113e(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x32e680);}['init'](){const _0x4db6b0=this['context']['plugins']['get'](n);this['listenTo'](_0x4db6b0,'change:state',(_0x5ae07b,_0x1655c8,_0x1bcbbf)=>{if('connected'!==_0x1bcbbf)this['channelSessions']['forEach'](_0x1ce220=>_0x1ce220['clear']()),this['channelConnectedUsers']['forEach'](_0x2e3ab9=>_0x2e3ab9['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5ecb04,_0x2af292]of this['_registeredSessions'])for(const _0x3f6db2 of _0x2af292)this['_handleSessionAdd'](_0x5ecb04,_0x3f6db2);}}),this['_createUser'](_0x4db6b0['connection']['me'],!0x0);}['register'](_0x57c23a,_0x3a3bad){if(this['_registeredSessions']['has'](_0x57c23a))throw new _0x9ea68e('sessions-register-already-registered',null,{'channelId':_0x57c23a});this['_registeredSessions']['set'](_0x57c23a,_0x3a3bad),this['channelSessions']['set'](_0x57c23a,new _0x12113e()),this['channelConnectedUsers']['set'](_0x57c23a,new _0x12113e()),this['listenTo'](_0x3a3bad,'add',(_0x20ff3b,_0x4ef659)=>this['_handleSessionAdd'](_0x57c23a,_0x4ef659)),this['listenTo'](_0x3a3bad,'remove',(_0x59c7ae,_0x345a74)=>this['_handleSessionRemove'](_0x57c23a,_0x345a74));for(const _0x5827d3 of _0x3a3bad)this['_handleSessionAdd'](_0x57c23a,_0x5827d3);}['unregister'](_0x482060){if(!this['_registeredSessions']['has'](_0x482060))throw new _0x9ea68e('sessions-unregister-not-exist',null,{'channelId':_0x482060});const _0x335e24=this['_registeredSessions']['get'](_0x482060);this['stopListening'](_0x335e24);for(const _0x443ae5 of _0x335e24)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x482060,_0x443ae5);this['_registeredSessions']['delete'](_0x482060),this['channelSessions']['delete'](_0x482060),this['channelConnectedUsers']['delete'](_0x482060);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0xe153fe){for(const _0x5df2ec of this['channelSessions']['values']())for(const _0x36c2f8 of _0x5df2ec)if(_0x36c2f8['id']===_0xe153fe)return _0x36c2f8['user'];}['getUserSessions'](_0x1c5f0e,_0x20eab7){const _0xf41933=_0x20eab7?[this['channelSessions']['get'](_0x20eab7)]:this['channelSessions']['values'](),_0x4a9ff1=new Set();for(const _0x335096 of _0xf41933)for(const _0x1db2f4 of _0x335096)_0x1db2f4['user']['id']===_0x1c5f0e['id']&&_0x4a9ff1['add'](_0x1db2f4['id']);return _0x4a9ff1;}['getUserRole'](_0x2cc661){for(const _0xe8753c of this['channelSessions']['values']())for(const _0x4bf7ab of _0xe8753c)if(_0x4bf7ab['user']===_0x2cc661)return _0x4bf7ab['role'];}['_handleSessionAdd'](_0xaa45cb,_0x4bee67){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1f9b26=_0x4bee67['user'],_0x302d68=this['_users']['getUser'](_0x1f9b26['id'])||this['_createUser'](_0x1f9b26),_0x2d9e26=Object['assign']({},_0x4bee67,{'user':_0x302d68});if(this['channelSessions']['get'](_0xaa45cb)['add'](_0x2d9e26),!_0x1f9b26['hiddenInPresenceList']){const _0x2d23d7=this['channelConnectedUsers']['get'](_0xaa45cb);_0x2d23d7['has'](_0x302d68['id'])||_0x2d23d7['add'](_0x302d68),this['allConnectedUsers']['has'](_0x302d68['id'])||_0x1f9b26['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x302d68,_0x302d68['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0xaa45cb,{'channelId':_0xaa45cb,'session':_0x2d9e26});}['_handleSessionRemove'](_0x8a197,_0x27b0da){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x2ecdea=this['channelConnectedUsers']['get'](_0x8a197),_0x2670f2=_0x27b0da['user'];_0x2670f2['id']&&(this['channelSessions']['get'](_0x8a197)['remove'](_0x27b0da['id']),_0x2ecdea['has'](_0x2670f2['id'])&&!this['getUserSessions'](_0x2670f2,_0x8a197)['size']&&_0x2ecdea['remove'](_0x2670f2['id']),this['allConnectedUsers']['get'](_0x2670f2['id'])&&!this['getUserSessions'](_0x2670f2)['size']&&this['allConnectedUsers']['remove'](_0x2670f2['id']));}['_createUser'](_0x5ae3ff,_0xcccb9e){const _0x50e814=this['_users']['addUser'](_0x5ae3ff);return _0xcccb9e&&this['_users']['defineMe'](_0x5ae3ff['id']),_0x50e814['orderNumber']=this['_uniqueUsersCount']++,_0x50e814;}}class $ extends _0x59a1de{['_domEmitter']=new(_0x2b04e4())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x35c2af=this['editor'],_0x24ca87=_0x35c2af['plugins']['get'](i);_0x35c2af['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5bd5d1,{writer:_0x3e80d1})=>function(_0x5184c6,_0x1e6418,_0x3c90c1,_0x4c5a4b){const _0x7cebc0=_0x5184c6['markerName']['split'](':')[0x2],_0x470ebe=_0x3c90c1['getUserBySessionId'](_0x7cebc0);if(!_0x470ebe||_0x7cebc0===_0x3c90c1['mySessionId'])return;if(!_0x4c5a4b['model']['schema']['checkChild'](_0x5184c6['markerRange']['start'],'$text'))return;const _0x5265af={'class':'ck-user__marker\x20'+_0x470ebe['color']['getMarkerClass'](),'data-name':_0x470ebe['name'],'data-session-id':_0x7cebc0},_0x4c8402=_0x4c5a4b['model']['markers']['get'](_0x5184c6['markerName']),_0x322eb9=_0x4c8402['getStart'](),_0x56b303=_0x322eb9['nodeAfter'],_0x4f188e=_0x4c5a4b['model']['schema'];if(_0x56b303&&_0x4f188e['isObject'](_0x56b303)&&_0x4f188e['isInline'](_0x56b303)&&!_0x4c5a4b['model']['markers']['get']('user:range:'+_0x7cebc0)['getRange']()['isCollapsed'])return;const _0x114f3e=_0x322eb9['parent'];return _0x4c5a4b['model']['schema']['isLimit'](_0x114f3e)&&!_0x4c5a4b['model']['hasContent'](_0x114f3e)&&(_0x5265af['contenteditable']=!0x1),function(_0x422e93,_0x3a7f1d,_0x1805c3){const _0x3f359b=_0x422e93['createUIElement']('span',_0x3a7f1d);return _0x422e93['setCustomProperty']('userPositionMarker',!0x0,_0x3f359b),_0x3f359b['render']=function(_0x28b3ba){const _0x4a6023=this['toDomElement'](_0x28b3ba),_0x45765f=document['createElement']('span');return _0x45765f['classList']['add']('ck-user__marker-tooltip'),_0x45765f['setAttribute']('contenteditable','false'),_0x45765f['setAttribute']('spellcheck','false'),_0x45765f['textContent']=_0x1805c3['name'],_0x4a6023['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x45765f['outerHTML']+'⁠',_0x4a6023['addEventListener']('mouseenter',()=>{_0x4a6023['classList']['add']('ck-user__marker_hovered');}),_0x4a6023['addEventListener']('mouseleave',()=>{_0x4a6023['classList']['remove']('ck-user__marker_hovered');}),_0x4a6023;},_0x3f359b['isSimilar']=function(_0x76151){return!(!this['getCustomProperty']('userPositionMarker')||!_0x76151['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x76151['getAttribute']('data-session-id'));},_0x3f359b;}(_0x1e6418,_0x5265af,_0x470ebe);}(_0x5bd5d1,_0x3e80d1,_0x24ca87,_0x35c2af)}),_0x35c2af['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xf003f6=>function(_0x3af8d5,_0x2a1b08){const _0xed94b3=_0x3af8d5['markerName']['split'](':')[0x2];if(_0xed94b3===_0x2a1b08['mySessionId'])return null;const _0x3ff7f2=_0x2a1b08['getUserBySessionId'](_0xed94b3);if(!_0x3ff7f2)return{'id':_0xed94b3,'classes':[]};return{'id':_0xed94b3,'classes':['ck-user__selection',_0x3ff7f2['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xed94b3},'priority':0x7d0+_0x3ff7f2['orderNumber']};}(_0xf003f6,_0x24ca87)}),function(_0x312b88){const _0x45809c=_0x312b88['model'],_0x303f1f=new Map(),_0x1e85ba=_0x312b88['plugins']['get'](i);_0x45809c['markers']['on']('update:user:range',(_0x21a351,_0x285ada,_0x595918,_0x3dad18)=>{if(!_0x3dad18&&_0x303f1f['get'](_0x285ada['name']))return _0x303f1f['get'](_0x285ada['name'])['detach'](),void _0x303f1f['delete'](_0x285ada['name']);const _0x4dbec7=_0x285ada['name']['split'](':')[0x2];if(_0x4dbec7===_0x1e85ba['mySessionId'])return;const _0x161a24='user:position:'+_0x4dbec7;_0x45809c['markers']['has'](_0x161a24)&&_0x312b88['editing']['reconvertMarker'](_0x161a24),_0x285ada['on']('change:range',(_0x12660d,_0x5894cf,_0x140d8f)=>{if('$graveyard'!=_0x5894cf['root']['rootName']&&'$graveyard'==_0x285ada['getRange']()['root']['rootName']&&!_0x303f1f['has'](_0x285ada['name'])){const _0x208e67=_0x45809c['schema']['getNearestSelectionRange'](_0x140d8f['deletionPosition']);if(_0x208e67){const _0x551255=_0x334593['fromRange'](_0x208e67);_0x303f1f['set'](_0x285ada['name'],_0x551255),_0x551255['on']('change:range',(_0x1b0e21,_0x340ab7,_0x4ff80e)=>{if('$graveyard'==_0x551255['root']['rootName']){const _0x369d49=_0x45809c['schema']['getNearestSelectionRange'](_0x4ff80e['deletionPosition']);_0x369d49?(_0x551255['start']=_0x369d49['start'],_0x551255['end']=_0x369d49['end']):(_0x303f1f['delete'](_0x285ada['name']),_0x551255['detach']());}});}}});}),_0x45809c['document']['on']('change',()=>{_0x303f1f['size']>0x0&&_0x45809c['enqueueChange']({'isUndoable':!0x1},_0x131407=>{for(const [_0x2f2885,_0x178e83]of _0x303f1f)'$graveyard'==_0x45809c['markers']['get'](_0x2f2885)['getRange']()['root']['rootName']&&(te(_0x2f2885['split'](':')[0x2],_0x178e83['toRange'](),_0x45809c,_0x131407),_0x178e83['detach']());_0x303f1f['clear']();});});}(_0x35c2af),this['_domEmitter']['listenTo'](_0x4d5004['document'],'keydown',(_0x473d21,{key:_0xaaf689})=>{'Escape'===_0xaaf689&&function(_0x140bb0){_0x140bb0['editing']['view']['change'](_0x35339f=>{for(const _0x754813 of _0x140bb0['model']['markers']){if(!_0x754813['name']['startsWith']('user:position'))continue;const _0x384ca3=_0x140bb0['editing']['mapper']['markerNameToElements'](_0x754813['name']);if(_0x384ca3){for(const _0x4197d6 of _0x384ca3)_0x35339f['removeClass']('ck-user__marker_hovered',_0x4197d6);}}});}(_0x35c2af);},{'useCapture':!0x0});}['afterInit'](){const _0x2db8d0=this['editor'],_0x53ba5d=_0x2db8d0['commands']['get']('undo');_0x53ba5d&&_0x2db8d0['model']['on']('applyOperation',(_0x1cb06f,_0x59911e)=>{const _0x22aadc=_0x59911e[0x0];if(!_0x22aadc['isDocumentOperation'])return;if('marker'!=_0x22aadc['type']||!_0x22aadc['name']['startsWith']('user:'))return;const _0x22936c=_0x22aadc['batch'];_0x53ba5d['_createdBatches']['has'](_0x22936c)&&(_0x22aadc['newRange']=_0x22aadc['oldRange']?_0x2db8d0['model']['createRange'](_0x22aadc['oldRange']['start'],_0x22aadc['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x426b1c=this['editor'],_0x1bc5b2=_0x426b1c['model']['document'],_0x47be73=_0x426b1c['plugins']['get'](i);_0x426b1c['model']['enqueueChange']({'isUndoable':!0x1},_0x230459=>{const _0x4249c7='user:range:'+_0x47be73['mySessionId'],_0x5dda37='user:position:'+_0x47be73['mySessionId'],_0x4ff603=_0x426b1c['model']['markers']['has'](_0x4249c7);_0x426b1c['editing']['view']['hasDomSelection']?te(_0x47be73['mySessionId'],_0x1bc5b2['selection']['getFirstRange'](),_0x426b1c['model'],_0x230459):_0x4ff603&&(_0x230459['removeMarker'](_0x4249c7),_0x230459['removeMarker'](_0x5dda37));});}}function te(_0x19f9ab,_0x2f8d91,_0x289e12,_0x33f672){const _0x15bb5e='user:range:'+_0x19f9ab,_0x2b6bf9='user:position:'+_0x19f9ab,_0x355fce=_0x2f8d91['getContainedElement']();let _0x485b36=_0x2f8d91['start'];if(_0x355fce&&_0x355fce['is']('element','tableCell')){const _0x5d3680=function(_0x52d962,_0x1e5a5a){for(const _0x162c3d of _0x52d962['getPositions']())if(_0x1e5a5a['schema']['checkChild'](_0x162c3d,'$text'))return _0x162c3d;}(_0x2f8d91,_0x289e12);_0x5d3680&&(_0x485b36=_0x5d3680,_0x2f8d91=_0x33f672['createRange'](_0x485b36));}const _0x41320f=_0x33f672['createRange'](_0x485b36);_0x289e12['markers']['has'](_0x15bb5e)?(_0x33f672['updateMarker'](_0x15bb5e,{'range':_0x2f8d91}),_0x33f672['updateMarker'](_0x2b6bf9,{'range':_0x41320f})):(_0x33f672['addMarker'](_0x15bb5e,{'range':_0x2f8d91,'usingOperation':!0x0}),_0x33f672['addMarker'](_0x2b6bf9,{'range':_0x41320f,'usingOperation':!0x0}));}function K(_0x19e94d,_0x575894,_0x258c1f){const _0x477e68=_0x19e94d['t'],t=_0x19e94d['t'];switch(_0x575894){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 _0x477e68({'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'},_0x258c1f);default:return'';}}let X=0x1;class l extends _0x59a1de{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x35a5fe)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,$,_0x4d6cee,_0x32e680,_0x44c5ff];}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 _0x1e7232=this['serverHistory']['getOperations']();for(let _0xa73340=_0x1e7232['length']-0x1;_0xa73340>=0x0;_0xa73340--){const _0x2548ee=_0x1e7232[_0xa73340];if(!this['_disconnectionOperations']['has'](_0x2548ee))return _0x2548ee['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x132842){if(super(_0x132842),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2cea37(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x9ea68e('collaboration-missing-channelid',this);const _0x127c25=_0x132842['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x127c25,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x44295a(),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 tt(this['_disconnectionOperations']);}['init'](){const _0x1bdf74=this['editor'],_0x26fe05=_0x1bdf74['plugins']['get'](_0x32e680),_0x84c574=_0x1bdf74['plugins']['get'](n);this['listenTo'](_0x26fe05,'getOperationAuthor',(_0x16f81a,_0x39e5b0)=>{const _0x25c1de=_0x39e5b0[0x0];_0x25c1de['_authorId']&&(_0x16f81a['return']=_0x26fe05['getUser'](_0x25c1de['_authorId']),_0x16f81a['stop']()),null===_0x25c1de['_authorId']&&(_0x16f81a['return']=null,_0x16f81a['stop']());},{'priority':'high'}),this['listenTo'](_0x1bdf74['model']['document']['selection'],'change:range',(_0x1d4a1e,_0x1fa83c)=>{_0x1fa83c['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1bdf74['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1bdf74['model']['on']('applyOperation',(_0x3897dd,_0x1f9bbc)=>{const _0x2b2348=_0x1f9bbc[0x0];_0x2b2348['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2b2348),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x84c574,'state',this,'_hasSynchronizationProblem',(_0x14884b,_0x64a456)=>'connected'===_0x14884b&&!_0x64a456),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1bdf74['disableReadOnlyMode']('rtc-offline'):_0x1bdf74['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1bdf74['disableReadOnlyMode']('rtc-offline'):_0x1bdf74['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x41a17e=this['editor']['plugins']['get'](i),_0x1371ba=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x41a17e['unregister'](this['_channelId']);const _0x1fdb9b=await this['_service']['reconnect'](_0x1371ba['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1fdb9b)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47a36c=await this['_service']['getConnectedSessions']();_0x41a17e['register'](this['_channelId'],_0x47a36c),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4d2647){if(function(_0x392cf0){return'404'===_0x392cf0['code'];}(_0x4d2647)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x8ac4ad){return'409'===_0x8ac4ad['code'];}(_0x4d2647)){const _0x47d53a=K(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'](_0x47d53a);}else{if(!(_0x4d2647 instanceof Y))throw _0x4d2647;this['_handleReconnectionError']();}}}}['destroy'](){const _0xe9734a=this['editor']['plugins']['get'](n),_0x2ecfec=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2ecfec['channelSessions']['has'](this['_channelId'])&&_0x2ecfec['unregister'](this['_channelId']),_0xe9734a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3aca4d){if(this['sessionId']!==_0x3aca4d['sessionId']&&this['_lastSyncedOperationId']!==_0x3aca4d['lastOperationId'])throw new Y();return this['sessionId']=_0x3aca4d['sessionId'],this['_handleServerResponse']([],{..._0x3aca4d,'wereChangesApplied':!0x1,'data':_0x3aca4d['data']},'reconnect');}async['_connectService'](_0x4d418e,_0x34d52a=!0x1){const {connection:_0x2a2322}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x2a2322,this['_channelId'])['then'](_0x572c9b=>this['_initSessionsHandling'](_0x572c9b))['catch'](_0x4917ba=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4917ba);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x12d4de,_0x30b6fe)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x30b6fe);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5d1cf1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4d418e);this['_isPendingUpdate']=!0x0;const _0xdbaad7=await this['_service']['connect'](_0x2a2322,this['_compressOperations'](_0x4d418e),_0x5d1cf1);if(this['sessionId']=_0xdbaad7['sessionId'],_0x34d52a){if(!_0xdbaad7['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xdbaad7['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4d418e,_0xdbaad7,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xdbaad7,_0x4d418e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4b638e=this['editor']['plugins']['get'](i),_0x591313=this['editor']['plugins']['get']($),_0x121a6a=_0x4b638e['channelSessions']['get'](this['_channelId']);_0x121a6a&&_0x121a6a['length']>0x1?_0x591313['createUserMarkerOperations']():this['listenTo'](_0x4b638e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4b638e['channelSessions']['get'](this['_channelId'])['length']&&_0x591313['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xac32b6,_0x560033,_0x11cc42,_0x4fbc7b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x560033){const _0x44c076=this['_decompressOperations'](_0x11cc42,_0x4fbc7b);await this['_fetchMissingUsers'](_0x44c076),this['_handleExternalOperations'](_0x44c076,_0x560033,_0x11cc42['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x37437e}=this['editor'];let _0x223b1e;try{_0x223b1e=await this['_service']['getDocumentDetails']();}catch{const _0x1e03f5=K(_0x37437e,'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'](_0x1e03f5);}const _0x156e4f=_0x223b1e['currentDocumentSession']||_0x223b1e['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x156e4f['lastOperationId']){const _0x1a0a8e=K(_0x37437e,'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'](_0x1a0a8e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x32fec1){const _0x245c7c=this['editor']['plugins']['get'](i);this['listenTo'](_0x245c7c,'sessionAdd:'+this['_channelId'],(_0x44b19e,{session:_0x38ba4c})=>{if(_0x38ba4c['id']===_0x245c7c['mySessionId']){_0x44b19e['off']();const _0x4f7e4c=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x125ad9=_0x38ba4c['permissions'];_0x4f7e4c&&_0x4f7e4c['isEnabled']&&(_0x125ad9=_0x125ad9['filter'](_0x243595=>'document:write'!==_0x243595)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x125ad9,this['_channelId']);}}),_0x245c7c['register'](this['_channelId'],_0x32fec1);}['_initThrowingOnDataSet'](){const _0x41826f=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3094b2)=>{if(!_0x3094b2[_0x3094b2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x9ea68e('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x41826f['apply'](this['editor']['data'],_0x3094b2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x460d23,[_0x18de0e])=>{if(this['_document']['version'])throw new _0x9ea68e('realtimecollaborationclient-init-document-already-initialized',this);_0x460d23['stop'](),this['_setPendingAction']();const _0x20e04d=this['editor']['config']['get']('rootsAttributes'),_0x2fde53=this['_getOperationsFromInitData'](_0x18de0e,_0x20e04d);0x0==_0x2fde53['length']&&_0x2fde53['push'](new _0x5462c8(0x0)),_0x460d23['return']=this['_connectService'](_0x2fde53)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x44fbeb=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x44fbeb))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x16de45,[_0x581d9f,_0x10d0a9])=>{_0x16de45['stop']();const _0x32257a=this['editor']['model']['document']['getRoot'](_0x581d9f);if(!this['_knownRootNames']['has'](_0x581d9f)){const _0x236d80=_0x10d0a9&&_0x10d0a9['data']?_0x10d0a9['data']:'',_0x47735a=_0x10d0a9&&_0x10d0a9['attributes']?_0x10d0a9['attributes']:{};await this['_loadRoot'](_0x581d9f,_0x236d80,_0x47735a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x32257a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x32257a);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xe3193f){const _0x24e34d=this['editor']['plugins']['get'](_0x32e680),{connection:_0xdef3f0}=this['editor']['plugins']['get'](n),_0x928068=new Set();for(const _0xa2fda1 of _0xe3193f){const _0x22786b=_0xa2fda1['_authorId'];_0x22786b&&!_0x24e34d['getUser'](_0x22786b)&&_0x928068['add'](_0x22786b);}if(0x0===_0x928068['size'])return;const _0x1b56c3=await ct['getMany'](_0xdef3f0,Array['from'](_0x928068));for(const _0x2adf7d of _0x1b56c3)_0x24e34d['getUser'](_0x2adf7d['id'])||_0x24e34d['addUser'](_0x2adf7d);}['_getOperationsFromInitData'](_0x36f74f,_0x3e8b25={}){const _0x4f196e=this['editor']['model'],_0x108e21=[];let _0x2fa2f8=0x0;const _0x328f99='string'==typeof _0x36f74f?{'main':_0x36f74f}:_0x36f74f;for(const _0x3b472a of Object['keys'](_0x328f99)){if(!this['_document']['roots']['has'](_0x3b472a))throw new _0x9ea68e('realtimecollaborationclient-init-non-existent-root',this);const _0x41bfff=this['editor']['data']['parse'](_0x328f99[_0x3b472a]),_0x462369=this['_document']['getRoot'](_0x3b472a),_0x64e8bb=new _0x3e591a(_0x4f196e['createPositionAt'](_0x462369,0x0),_0x41bfff,_0x2fa2f8++);_0x108e21['push'](_0x64e8bb);for(const [_0x6efb13,_0x4db9f8]of _0x41bfff['markers']){const _0x268f99=_0x4f196e['createRange'](_0x4f196e['createPositionFromPath'](_0x462369,_0x4db9f8['start']['path']['slice']()),_0x4f196e['createPositionFromPath'](_0x462369,_0x4db9f8['end']['path']['slice']())),_0x581c56=new _0x264a9c(_0x6efb13,null,_0x268f99,_0x4f196e['markers'],!0x0,_0x2fa2f8++);_0x108e21['push'](_0x581c56);}}if(_0x3e8b25)for(const [_0xc85627,_0x6dad5a]of Object['entries'](_0x3e8b25)){const _0x1571bc=_0x4f196e['document']['getRoot'](_0xc85627);if(!_0x1571bc)throw new _0x9ea68e('multi-root-editor-root-attributes-no-root',null);for(const [_0x3b4501,_0x233a31]of Object['entries'](_0x6dad5a))if(null!==_0x233a31){const _0x55a55c=new _0x272fd0(_0x1571bc,_0x3b4501,null,_0x233a31,_0x2fa2f8++);_0x108e21['push'](_0x55a55c);}}return _0x108e21;}async['_loadRoot'](_0x3e8bff,_0x57d684,_0x30e1ef){this['_getOperationsFromInitData']({[_0x3e8bff]:_0x57d684},{[_0x3e8bff]:_0x30e1ef})['forEach']((_0x5cbbdb,_0x45d423)=>{_0x5cbbdb['baseVersion']=this['_document']['version']+_0x45d423,_0x5cbbdb['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5cbbdb);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x353865,_0x1e322b){let _0x2b51a0;this['_offset']=_0x353865['offset'];const _0x749802=_0x353865['wereChangesApplied']&&!_0x353865['initData'],_0x3ffdba=_0x749802?0x0:_0x353865['data']['baseVersion'];if(_0x1e322b['forEach'](_0x247430=>{_0x247430['_isInit']=!0x0,_0x247430['createdAt']=_0x353865['sessionCreatedAt'],_0x247430['_authorId']=null;}),_0x749802)_0x2b51a0=_0x1e322b,this['_applyOperationsSet'](_0x2b51a0,_0x749802);else{if(_0x353865['initData']){const _0x40dc6a=this['_getOperationsFromInitData'](_0x353865['initData']);this['_document']['history']['version']=-_0x40dc6a['length'],_0x40dc6a['forEach'](_0x1fed31=>{_0x1fed31['baseVersion']-=_0x40dc6a['length'],_0x1fed31['createdAt']=_0x353865['sessionCreatedAt'],_0x1fed31['_isInit']=!0x0,_0x1fed31['_authorId']=null;}),this['_applyOperationsSet'](_0x40dc6a,!0x0),this['serverHistory']['version']=-_0x40dc6a['length']+this['_offset'],this['_updateServerHistory'](_0x40dc6a);}this['_document']['history']['version']=_0x3ffdba,_0x2b51a0=this['_decompressOperations'](_0x353865['data'],_0x353865['metadata']),await this['_fetchMissingUsers'](_0x2b51a0),this['_applyOperationsSet'](_0x2b51a0,_0x749802);}_0x353865['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2b51a0,_0x353865['lastOperationId']),this['_lastSyncedOperationId']=_0x353865['lastOperationId']),this['serverHistory']['version']=_0x3ffdba+this['_offset'],this['_updateServerHistory'](_0x2b51a0),_0x1e322b['filter'](_0x74c35d=>{const _0x20ef06=this['_getAffectedRoot'](_0x74c35d);return _0x20ef06&&!this['_knownRootNames']['has'](_0x20ef06);})['forEach']((_0x55991c,_0x3cadbc)=>{_0x55991c['baseVersion']=this['_document']['version']+_0x3cadbc,this['_saveOperationInBuffer'](_0x55991c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2d6db5,_0x443cdb){const _0x474c82=_0x443cdb&&_0x443cdb['message'];if(_0x474c82&&_0x474c82['startsWith']('realtimecollaborationclient'))throw _0x443cdb;const _0x1e833e=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x1e833e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x9ea68e(_0x2d6db5,this['editor'],_0x474c82?{'originalError':_0x474c82}:void 0x0);}['_saveOperationInBuffer'](_0x491f20){this['_knownOperations']['has'](_0x491f20)||(this['_knownOperations']['add'](_0x491f20),this['_bufferedOperations']['push'](_0x491f20),this['_pendingAction']||'marker'==_0x491f20['type']&&!_0x491f20['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1c0d40=!0x1){!_0x1c0d40&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x498810=>{_0x498810&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3d7fa2=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1655c3){return _0x1655c3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1655c3['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1655c3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3d7fa2)||this['_crash'](_0x3d7fa2['message'],_0x3d7fa2);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5cae64=>{this['on']('change:_isPendingUpdate',()=>{_0x5cae64();});});}async['_sendBufferedOperations'](){const _0x30f394=this['editor']['plugins']['get']($);if(this['_shouldSendSelectionUpdate']()&&(_0x30f394['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x461520=[...this['_bufferedOperations']];for(const _0x18b5f9 of _0x461520)_0x18b5f9['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x18b5f9);const _0xb815d4=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x461520),_0x10daab=X++,_0x5e4e55=this['_compressOperations'](_0x461520),_0x5233bd=await this['_service']['sendOperations'](_0x5e4e55,_0x5e4e55['baseVersion'],_0xb815d4);try{return await this['_handleServerResponse'](_0x461520,_0x5233bd,_0x10daab);}catch(_0x7a317){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x7a317);}}async['_handleServerResponse'](_0x3507cd,_0x52bc2f,_0x3ae939){if('error'in _0x52bc2f)throw _0x52bc2f['error'];let _0x4828d0=!0x1;if(_0x52bc2f['wereChangesApplied']){_0x52bc2f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x52bc2f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x40360e=>!_0x3507cd['includes'](_0x40360e));for(const _0x396a32 of _0x3507cd)_0x396a32['createdAt']='lastOperationAcceptedAt'in _0x52bc2f&&_0x52bc2f['lastOperationAcceptedAt']||void 0x0;Z(_0x3507cd,_0x52bc2f['version']-_0x3507cd['length']),this['_updateServerHistory'](_0x3507cd);const _0x3122df=_0x3507cd['filter'](_0x1814cd=>{if(!_0x1814cd['_isInit'])return!0x1;const _0x54e436=this['_getAffectedRoot'](_0x1814cd);return _0x54e436&&!this['_knownRootNames']['has'](_0x54e436);});Z(_0x3122df,this['_document']['version']),this['_applyOperationsSet'](_0x3122df),_0x4828d0=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2015fb=this['_decompressOperations'](_0x52bc2f['data'],_0x52bc2f['metadata'])['filter'](_0x165678=>_0x165678['baseVersion']>=this['_lastServerVersion']);_0x2015fb['forEach'](_0x3c788d=>this['_addKnownRoot'](_0x3c788d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x14974a=>!_0x14974a['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x14974a))),this['_bufferedOperations']['length']&&Z(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2015fb),_0x4828d0=this['_handleExternalOperations'](_0x2015fb,_0x52bc2f['version'],_0x52bc2f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4828d0?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xf8f4e6,_0x1173df,_0x3a8e24){try{const _0x329618={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x204c6b,operationsB:_0x498f62,originalOperations:_0x2f7e75}=_0x528e7b(_0xf8f4e6,this['_bufferedOperations'],_0x329618);Z(_0x204c6b,this['_document']['version']),Z(_0x498f62,_0x1173df);for(const _0x348e2b of _0x204c6b){const _0x48c8c1=_0x2f7e75['get'](_0x348e2b);_0x348e2b['_authorId']=_0x48c8c1?_0x48c8c1['_authorId']:null;}_0x3a8e24&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xf8f4e6,_0x3a8e24),this['_lastSyncedOperationId']=_0x3a8e24),this['_bufferedOperations']=[..._0x498f62],this['_applyOperationsSet'](_0x204c6b),this['_updateServerHistory'](_0xf8f4e6);}catch(_0x592dcf){return console['error'](_0x592dcf),!0x1;}return!0x0;}['_applyOperationsSet'](_0x578d52,_0x978a64=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x404433=>{for(const _0x902bf8 of _0x578d52)this['_knownOperations']['add'](_0x902bf8),this['_addKnownRoot'](_0x902bf8),_0x404433['batch']['addOperation'](_0x902bf8),this['editor']['model']['applyOperation'](_0x902bf8);});}['_addKnownRoot'](_0x1e416d){const _0x55d908=this['_getAffectedRoot'](_0x1e416d);_0x55d908&&this['_knownRootNames']['add'](_0x55d908);}['_getAffectedRoot'](_0x4a497d){let _0x174574,_0x1172d0;switch(_0x4a497d['type']){case'insert':_0x174574=_0x4a497d['position']['root'];break;case'marker':if(_0x1172d0=_0x4a497d['newRange'],!_0x1172d0)return null;_0x174574=_0x1172d0['root'];break;case'addRootAttribute':_0x174574=_0x4a497d['root'];break;case'addRoot':_0x174574=_0x4a497d['affectedSelectable'];break;case'move':_0x174574=_0x4a497d['targetPosition']['root'];break;default:return null;}return _0x174574['rootName'];}['_updateServerHistory'](_0x1d8c46){_0x1d8c46['forEach'](_0x5837f0=>{const _0x2b19af=_0x5837f0['clone']();_0x2b19af['_authorId']=_0x5837f0['_authorId'],_0x2b19af['_isInit']=!!_0x5837f0['_isInit'],_0x2b19af['createdAt']=_0x5837f0['createdAt'],_0x2b19af['baseVersion']+=this['_offset'],_0x5837f0['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2b19af),this['serverHistory']['addOperation'](_0x2b19af);});}['_handleReconnectionError'](_0x152074){const _0x179a09=this['editor']['plugins']['get']('Notification'),_0x10770a=this['editor']['locale'];_0x152074||(_0x152074=K(_0x10770a,'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.')),_0x179a09['showWarning'](_0x152074,{'title':K(_0x10770a,'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'](_0x4d6cee)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4d6cee)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5019e9){const _0x2ef3aa=_0x5019e9['map'](_0x3e9f52=>_0x3e9f52['toJSON']());return this['_compressor']['compress'](_0x2ef3aa);}['_decompressOperations'](_0x37a35c,_0x32cd4b){return this['_compressor']['decompress'](_0x37a35c)['map']((_0x5447ac,_0x39c0a9)=>{const _0x1b8d80='init'==_0x32cd4b[_0x39c0a9]['type'];if('InsertOperation'==_0x5447ac['__className']){const _0x10aa95=_0x5447ac['position']['root'];!this['_document']['getRoot'](_0x10aa95)&&(this['_document']['createRoot']('$root',_0x10aa95)['_isAttached']=!0x1);}const _0x11171d=_0x1d069c['fromJSON'](_0x5447ac,this['_document']);return _0x11171d['wasUndone']=_0x5447ac['wasUndone'],_0x11171d['_isInit']=_0x1b8d80,_0x11171d['_authorId']=_0x1b8d80?null:_0x32cd4b[_0x39c0a9]['userId'],_0x11171d['_isDisconnection']='cs:removeUser'===_0x32cd4b[_0x39c0a9]['type'],_0x11171d['createdAt']=_0x32cd4b[_0x39c0a9]['createdAt'],_0x11171d;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2de4fb=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2de4fb&&_0x2de4fb['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Y extends Error{}function Z(_0x57e849,_0x355166){for(const _0x351f3a of _0x57e849)_0x351f3a['baseVersion']=_0x355166++;}class tt{['_ignoredOperations'];['_operationToId'];constructor(_0x1e1926){this['_ignoredOperations']=_0x1e1926,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3d46f6){let _0x1e7d6a=_0x3d46f6['length'];for(;_0x1e7d6a--;){const _0x3edfa4=_0x3d46f6[_0x1e7d6a];if(!this['_ignoredOperations']['has'](_0x3edfa4)){if(!this['_operationToId']['has'](_0x3edfa4)){const _0x32372e=_0x1c0d63()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3edfa4,_0x32372e);}return this['_operationToId']['get'](_0x3edfa4);}}}['setIdForTheLastOperation'](_0x1ba0a2,_0x2ab6ca){if(!_0x2ab6ca)return;let _0x1051a4=_0x1ba0a2['length'];for(;_0x1051a4--;){const _0x457cd4=_0x1ba0a2[_0x1051a4];this['_ignoredOperations']['has'](_0x457cd4)||this['_operationToId']['set'](_0x457cd4,_0x2ab6ca);}}}class a extends _0x59a1de{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2a8ba5{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x353fb0)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x32e680];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x45b156){super(_0x45b156),this['_services']=new Map();}async['init'](){const _0x4f27c2=this['context'],_0x5b0697=_0x4f27c2['plugins']['get']('CommentsRepository');if(_0x4f27c2['plugins']['get'](n)['addToReconnectionStack'](this),_0x5b0697['adapter']={'addCommentThread':async({channelId:_0x3c6883,threadId:_0x5ed536,comments:_0x29ebc1,resolvedAt:_0x3e5310,resolvedBy:_0x2c8918,context:_0x502c7b,attributes:_0x385555})=>{const _0x5244d8=await this['_getService'](_0x3c6883)['addCommentThread']({'commentThreadId':_0x5ed536,'comments':_0x29ebc1['map'](_0x3bf64a=>function(_0x51793f,_0x2604b8,_0x2f4c5d){return{'commentThreadId':_0x2f4c5d,'commentId':_0x51793f['commentId'],'userId':_0x51793f['authorId'],'content':_0x51793f['content'],'documentId':_0x2604b8,'createdAt':_0x51793f['createdAt'],'attributes':_0x51793f['attributes']||{}};}(_0x3bf64a,_0x3c6883,_0x5ed536)),'resolvedAt':_0x3e5310,'resolvedBy':_0x2c8918,'context':_0x502c7b,'attributes':_0x385555})['catch'](at);return{'threadId':_0x5244d8['commentThreadId'],'comments':_0x5244d8['comments']};},'getCommentThread':async({channelId:_0x796e18,threadId:_0x5e2cdd})=>{const _0x48e3ab=await this['_getService'](_0x796e18)['getCommentThread'](_0x5e2cdd)['catch'](F)['catch'](at);return _0x48e3ab?_0x48e3ab['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x48e3ab]),{'threadId':_0x48e3ab['commentThreadId'],'comments':_0x48e3ab['comments']['map'](S),'context':_0x48e3ab['context'],'resolvedAt':_0x48e3ab['resolvedAt'],'resolvedBy':_0x48e3ab['resolvedBy'],'attributes':_0x48e3ab['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5bcfda,threadId:_0x485e5d,context:_0x3593af,unlinkedAt:_0x51a0f1,attributes:_0x1ea31c})=>this['_getService'](_0x5bcfda)['updateCommentThread']({'commentThreadId':_0x485e5d,'context':_0x3593af,'attributes':_0x1ea31c,'unlinkedAt':_0x51a0f1})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0xeaf88c,threadId:_0x8319ed})=>{const _0x556b4b=await this['_getService'](_0xeaf88c)['resolveCommentThread'](_0x8319ed)['catch'](F)['catch'](at);return{'threadId':_0x556b4b['commentThreadId'],'resolvedAt':_0x556b4b['resolvedAt'],'resolvedBy':_0x556b4b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4ce2ed,threadId:_0x1eb3fd})=>this['_getService'](_0x4ce2ed)['reopenCommentThread'](_0x1eb3fd)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x1c12b1,threadId:_0x34bfa9})=>this['_getService'](_0x1c12b1)['removeCommentThread'](_0x34bfa9)['catch'](F)['catch'](at),'addComment':({channelId:_0x5ce85a,threadId:_0x237c84,commentId:_0x35a5b2,content:_0xcad4c2,attributes:_0x1842f8})=>this['_getService'](_0x5ce85a)['addComment'](_0x237c84,_0x35a5b2,_0xcad4c2,_0x1842f8)['catch'](at),'updateComment':({channelId:_0x234f9a,threadId:_0xfce707,commentId:_0x118064,content:_0x38c4c0,attributes:_0x51445b})=>this['_getService'](_0x234f9a)['updateComment'](_0xfce707,_0x118064,_0x38c4c0,_0x51445b)['catch'](F)['catch'](at),'removeComment':({channelId:_0x5e287d,threadId:_0x2897b9,commentId:_0x152b8b})=>this['_getService'](_0x5e287d)['removeComment'](_0x2897b9,_0x152b8b)['catch'](F)['catch'](at)},_0x4f27c2 instanceof _0x263458){const _0x15773c=_0x4f27c2['config']['get']('collaboration.channelId'),_0x4aadf1=_0x4f27c2['plugins']['get'](i);await this['_setUpService'](_0x15773c);const _0x34674d=await this['_services']['get'](_0x15773c)['getConnectedSessions']();this['listenTo'](_0x4aadf1,'sessionAdd:'+_0x15773c,(_0x5187c9,{session:_0x3c462d})=>{_0x3c462d['id']===_0x4aadf1['mySessionId']&&(_0x5187c9['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3c462d['permissions'],_0x15773c));}),_0x4aadf1['register'](_0x15773c,_0x34674d);}}async['_setUpService'](_0x37aba3){if(this['_services']['has'](_0x37aba3))throw new _0x9ea68e('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x37aba3});const _0x5963e3=this['context']['plugins']['get']('CommentsRepository'),_0x2a06b9=new s['CommentsService'](_0x37aba3);this['_services']['set'](_0x37aba3,_0x2a06b9),this['listenTo'](_0x2a06b9,'commentThreadAdded',(_0x4effbc,_0x18b0ea)=>{const {commentThreadId:_0x3b3acf,documentId:_0x36a8ec,context:_0x298d98,attributes:_0xbc51a4,resolvedAt:_0x4c3701,resolvedBy:_0xf6c0ab,comments:_0xc0f5bd}=_0x18b0ea;_0x5963e3['getCommentThread'](_0x3b3acf)||_0x5963e3['addCommentThread']({'threadId':_0x3b3acf,'channelId':_0x36a8ec,'comments':_0xc0f5bd?_0xc0f5bd['map'](S):[],'context':_0x298d98,'attributes':_0xbc51a4,'resolvedAt':_0x4c3701,'resolvedBy':_0xf6c0ab,'isFromAdapter':!0x0});}),this['listenTo'](_0x2a06b9,'commentThreadUpdated',(_0x3858c8,{commentThreadId:_0x1be455,documentId:_0x203a86,context:_0x371e07,unlinkedAt:_0x42ac60,attributes:_0x543b66})=>{_0x5963e3['getCommentThread'](_0x1be455)&&_0x5963e3['updateCommentThread']({'threadId':_0x1be455,'channelId':_0x203a86,'context':_0x371e07,'unlinkedAt':_0x42ac60,'attributes':_0x543b66,'isFromAdapter':!0x0});}),this['listenTo'](_0x2a06b9,'commentThreadResolved',(_0x2b06a9,{commentThreadId:_0x4801b4,resolvedBy:_0x39a502,resolvedAt:_0xf813c1})=>{const _0x5f573c=_0x5963e3['getCommentThread'](_0x4801b4);_0x5f573c&&_0x5f573c['resolve']({'resolvedBy':_0x39a502,'resolvedAt':_0xf813c1,'isFromAdapter':!0x0});}),this['listenTo'](_0x2a06b9,'commentThreadReopened',(_0xbf82ba,{commentThreadId:_0x49d6e4})=>{const _0x4dd5bb=_0x5963e3['getCommentThread'](_0x49d6e4);_0x4dd5bb&&_0x4dd5bb['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2a06b9,'commentThreadRemoved',(_0x2deb12,{commentThreadId:_0x3f99de})=>{const _0x57b3e0=_0x5963e3['getCommentThread'](_0x3f99de);_0x57b3e0&&_0x57b3e0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2a06b9,'commentAdded',(_0x5e3863,_0x5431cd)=>{const _0x66b77c=_0x5431cd['commentThreadId'],_0x38a9f2=_0x5963e3['getCommentThread'](_0x66b77c);_0x38a9f2&&_0x38a9f2['addComment']({...S(_0x5431cd),'isFromAdapter':!0x0});}),this['listenTo'](_0x2a06b9,'commentUpdated',(_0x4c7764,{commentThreadId:_0x1f5cc6,commentId:_0xe1c926,content:_0x663e7d,attributes:_0x5b289f})=>{const _0xb33c49=_0x5963e3['getCommentThread'](_0x1f5cc6);if(_0xb33c49){const _0x486cdf=_0xb33c49['getComment'](_0xe1c926);_0x486cdf&&_0x486cdf['update']({'content':_0x663e7d,'attributes':_0x5b289f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2a06b9,'commentRemoved',(_0x4ae60b,{commentThreadId:_0x5576f1,commentId:_0x208a83})=>{const _0x49e26d=_0x5963e3['getCommentThread'](_0x5576f1);if(_0x49e26d){const _0x5a7948=_0x49e26d['getComment'](_0x208a83);_0x5a7948&&_0x5a7948['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x37aba3);}['destroy'](){if(this['context']instanceof _0x263458){const _0x276a34=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x276a34);}}['_terminateService'](_0x502c85){if(!this['_services']['has'](_0x502c85))throw new _0x9ea68e('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x502c85});this['_getService'](_0x502c85)['disconnect'](),this['_services']['delete'](_0x502c85);}async['reconnect'](){for(const _0x50f8e3 of this['_services']['keys']())await this['_connectService'](_0x50f8e3);if(this['context']instanceof _0x263458){const _0x20c718=this['context']['config']['get']('collaboration.channelId'),_0x54bbcf=this['context']['plugins']['get'](i);_0x54bbcf['unregister'](_0x20c718);const _0x5a7337=await this['_services']['get'](_0x20c718)['getConnectedSessions']();_0x54bbcf['register'](_0x20c718,_0x5a7337);}}async['_connectService'](_0x5c2334){const {connection:_0x58c628}=this['context']['plugins']['get'](n),_0x50d2da=this['context']['plugins']['get']('CommentsRepository'),_0x59f648=this['_services']['get'](_0x5c2334),_0x57a832=await _0x59f648['connect'](_0x58c628);await this['_fetchMissingUsersForThreads'](_0x57a832);const _0x42944d=new Set(Array['from'](_0x50d2da['getCommentThreads']({'channelId':_0x5c2334}),_0x1b0723=>_0x1b0723['id']));for(const _0x1d5fdf of _0x57a832)_0x1d5fdf['deletedAt']||_0x42944d['delete'](_0x1d5fdf['commentThreadId']);for(const _0x1fc126 of _0x42944d)_0x50d2da['getCommentThread'](_0x1fc126)['remove']({'isFromAdapter':!0x0});for(const _0x4e848b of _0x57a832){let _0x4cc5c3=_0x50d2da['getCommentThread'](_0x4e848b['commentThreadId']);const {commentThreadId:_0x3c3f5c,context:_0x44e400,attributes:_0x52f77,resolvedBy:_0x218ce4,resolvedAt:_0x3cddc4,unlinkedAt:_0x918586,deletedAt:_0x49fbf4}=_0x4e848b;if(_0x49fbf4)continue;_0x4cc5c3||(_0x4cc5c3=_0x50d2da['addCommentThread']({'channelId':_0x5c2334,'threadId':_0x3c3f5c,'context':_0x44e400,'attributes':_0x52f77||{},'resolvedBy':_0x218ce4,'resolvedAt':_0x3cddc4,'unlinkedAt':_0x918586,'isFromAdapter':!0x0}));const _0x48164d=new Set(Array['from'](_0x4cc5c3['comments'],_0x390ce2=>_0x390ce2['id']));for(const _0x191b55 of _0x4e848b['comments'])_0x48164d['delete'](_0x191b55['commentId']);for(const _0x4760b6 of _0x48164d)_0x4cc5c3['getComment'](_0x4760b6)['remove']({'isFromAdapter':!0x0});for(const _0x2b90ec of _0x4e848b['comments']){const _0x17e35c=_0x4cc5c3['getComment'](_0x2b90ec['commentId']);_0x17e35c?_0x17e35c['content']!==_0x2b90ec['content']&&_0x17e35c['update']({'content':_0x2b90ec['content'],'isFromAdapter':!0x0}):_0x4cc5c3['addComment'](Object['assign'](S(_0x2b90ec),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4bb246){if(!this['_services']['has'](_0x4bb246))throw new _0x9ea68e('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4bb246});return this['_services']['get'](_0x4bb246);}async['_fetchMissingUsersForThreads'](_0x24558d){const _0x4ee01a=this['context']['plugins']['get'](_0x32e680),{connection:_0x5e965d}=this['context']['plugins']['get'](n),_0x337fc0=new Set();for(const {resolvedBy:_0x2fd665,comments:_0x461ad2}of _0x24558d){_0x2fd665&&!_0x4ee01a['getUser'](_0x2fd665)&&_0x337fc0['add'](_0x2fd665);for(const {userId:_0x128d90}of _0x461ad2)_0x4ee01a['getUser'](_0x128d90)||_0x337fc0['add'](_0x128d90);}if(0x0===_0x337fc0['size'])return;const _0x342493=await ct['getMany'](_0x5e965d,Array['from'](_0x337fc0));for(const _0x15c14b of _0x342493)_0x4ee01a['getUser'](_0x15c14b['id'])||_0x4ee01a['addUser'](_0x15c14b);}}async function F(_0x2dd290){if('404'!==_0x2dd290['code'])throw _0x2dd290;}function at(_0x218abf){if((_0x4c5b0c=_0x218abf)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4c5b0c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4c5b0c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4c5b0c;throw _0x218abf;}function S(_0x2275e5){return{'threadId':_0x2275e5['commentThreadId'],'commentId':_0x2275e5['commentId'],'content':_0x2275e5['content'],'createdAt':_0x2275e5['createdAt'],'authorId':_0x2275e5['userId'],'attributes':_0x2275e5['attributes']||{}};}class m extends _0x59a1de{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x548ab5)());['_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(_0x38d215){super(_0x38d215);const _0x18358c=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x18358c);}['init'](){const _0x5a7ec4=this['editor']['plugins']['get'](n),_0x3ce600=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3ce600['adapter']={'getSuggestion':async _0xd1b552=>{await this['_waitForServiceReady']();const _0x4b2a01=await this['_trackChangesService']['get'](_0xd1b552)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x4b2a01]),_0x4b2a01;},'addSuggestion':async({id:_0x5e5298,type:_0x456f1a,data:_0x38c127,originalSuggestionId:_0x44d793,attributes:_0x3afd24})=>{await this['_waitForServiceReady']();const _0x3f6ea8={'id':_0x5e5298,'type':_0x456f1a,'data':_0x38c127,'originalSuggestionId':_0x44d793,'attributes':_0x3afd24},_0x38d3d4=await this['_trackChangesService']['add'](_0x5e5298,_0x456f1a,_0x38c127,_0x44d793,_0x3afd24)['catch'](_0x2fd515=>{if(ht(_0x2fd515))return new Promise(_0x3448e0=>{this['_bufferedRequests']['set'](_0x5e5298,{'resolve':_0x3448e0,'suggestionData':_0x3f6ea8});});throw _0x2fd515;});return this['_bufferedRequests']['delete'](_0x5e5298),_0x38d3d4;},'updateSuggestion':async(_0x12dab0,_0xe9aa4a)=>{if(await this['_waitForServiceReady'](),'open'!==_0xe9aa4a['state'])return this['_trackChangesService']['update'](_0x12dab0,_0xe9aa4a)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1af4ae,_0xdae9f5)=>{_0x3ce600['hasSuggestion'](_0xdae9f5['id'])&&(_0x3ce600['getSuggestion'](_0xdae9f5['id'])['attributes']=_0xdae9f5['attributes']);}),this['_trackChangesService']['connect'](_0x5a7ec4['connection'])['then'](_0x97c681=>(_0x5a7ec4['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x97c681)['then'](()=>{for(const _0x25add0 of _0x97c681){_0x3ce600['addSuggestionData'](_0x25add0)['_saved']=!0x0;}})));}async['reconnect'](){const _0x523222=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4e61dd}=this['editor']['plugins']['get'](n),_0x1ea587=await this['_trackChangesService']['connect'](_0x4e61dd);await this['_fetchMissingUsersForThreads'](_0x1ea587);for(const {suggestionData:_0x51c3aa,resolve:_0x2eddde}of this['_bufferedRequests']['values']()){let _0x2ab95e=_0x1ea587['find'](_0x3ac0c4=>_0x3ac0c4['id']===_0x51c3aa['id']);_0x2ab95e||(_0x2ab95e=await this['_trackChangesService']['add'](_0x51c3aa['id'],_0x51c3aa['type'],_0x51c3aa['data'],_0x51c3aa['originalSuggestionId'])),_0x2eddde(_0x2ab95e);}for(const _0x190765 of _0x1ea587)_0x523222['hasSuggestion'](_0x190765['id'])||_0x523222['addSuggestionData'](_0x190765);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x8a0f8e=>{this['listenTo'](this['_trackChangesService'],'connected',_0x25f2b3=>{_0x25f2b3['off'](),_0x8a0f8e();});});}async['_fetchMissingUsersForThreads'](_0x2cf252){const _0x3bc16b=this['editor']['plugins']['get'](_0x32e680),{connection:_0x492b10}=this['editor']['plugins']['get'](n),_0x5db591=new Set();for(const {authorId:_0x5947ab}of _0x2cf252)_0x3bc16b['getUser'](_0x5947ab)||_0x5db591['add'](_0x5947ab);if(0x0===_0x5db591['size'])return;const _0x41c5e3=await ct['getMany'](_0x492b10,Array['from'](_0x5db591));for(const _0x12763b of _0x41c5e3)_0x3bc16b['getUser'](_0x12763b['id'])||_0x3bc16b['addUser'](_0x12763b);}}function k(_0x4e4a41){if(ht(_0x4e4a41))return new Promise(()=>{});throw _0x4e4a41;}function ht(_0x3f29d7){return _0x3f29d7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3f29d7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x59a1de{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 _0xdccf2c=this['editor']['plugins']['get'](n),_0xee6d38=this['editor']['plugins']['get']('CommentsEditing'),_0x402144=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xdccf2c,'change:state',(_0x17d3b1,_0x2ebe29,_0xc10c8a)=>{_0xee6d38['isThreadsLoadingPaused']='connected'!==_0xc10c8a;});}),this['listenTo'](_0xdccf2c,'change:state',(_0x16fb45,_0x39e30b,_0x158a03)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x158a03);}),_0x402144['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x59a1de{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 _0x59a1de{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x3b5370)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x32e680];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3c4eb5){super(_0x3c4eb5);const _0x4feb2a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x4feb2a);}async['init'](){const _0x4ff28c=this['editor']['plugins']['get'](l),_0x3cd564=_0x4ff28c['serverHistory'],_0x79da5c=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3cd564,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4ff28c['sessionId']});const _0x2224ef=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x3997ce=await _0x5d90dd['isBundleUploaded'](_0x79da5c['connection'],_0x2224ef);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xaf039c})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xaf039c)),'updateRevisions':async _0x57df08=>{await this['_waitForServiceReady']();const _0x4a79f4=this['_revisionTracker']['currentRevision'];if(_0x3997ce&&0x1===_0x57df08['length']&&_0x57df08[0x0]['id']===_0x4a79f4['id'])return _0x57df08;for(const _0x328724 of _0x57df08)_0x328724['id']===_0x4a79f4['id']&&(_0x328724['isEmptyCurrent']=_0x328724['fromVersion']===_0x328724['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x57df08,this['_lastRequestId'])['then'](_0x4719c1=>(this['_lastRequestId']=_0x4719c1,_0x57df08))['catch'](_0x218954=>{if(q(_0x218954)||'400'===_0x218954['code']&&void 0x0!==_0x218954['data']['wrongRequestId']){for(const _0x37aff2 of _0x57df08){!this['_revisionTracker']['repository']['getRevision'](_0x37aff2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x37aff2['id'],_0x37aff2,!0x1);}if(q(_0x218954))throw _0x218954;return _0x57df08;}throw _0x218954;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x28ed9c,{revisionsData:_0x3eb26e,requestId:_0x4b9e7b})=>{Math['max'](..._0x3eb26e['map'](_0x4db376=>_0x4db376['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3eb26e,_0x4b9e7b);}):this['_handleRevisionsUpdate'](_0x3eb26e,_0x4b9e7b);});const {revisions:_0xad4b54,requestId:_0x38d1ec}=await this['_revisionHistoryService']['connect'](_0x79da5c['connection']);_0x79da5c['addToReconnectionStack'](this),this['_lastRequestId']=_0x38d1ec,await this['_fetchMissingUsers'](_0xad4b54);for(const _0x3d151c of _0xad4b54)this['_revisionTracker']['addRevisionData'](_0x3d151c);this['listenTo'](_0x4ff28c,'change:_isConnected',(_0xdeaceb,_0x589cd2,_0x2edf49)=>{_0x2edf49&&(this['_oldOffset']=_0x4ff28c['_offset'],_0xdeaceb['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x79da5c,'state',_0x1cd0ab=>_0x1cd0ab===_0x41e887['CONNECTED']);}async['reconnect'](){const _0x58b5d6=this['editor']['plugins']['get'](n),_0xb87c8=this['editor']['plugins']['get'](l),_0x521f7f=async()=>{const _0x5f253c=this['_revisionTracker']['currentRevision'],_0x20d116=_0x5f253c['id'],_0x12f893=_0x20d116!==_0xb87c8['sessionId'];if(_0x12f893){const _0x3cd54a=_0xb87c8['_offset']-this['_oldOffset'],_0x4ae418=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5f253c['toVersion']+_0x3cd54a!==_0x4ae418){const _0x4adb52=_0x5f253c['fromVersion']+_0x3cd54a,_0x507f82=this['editor']['plugins']['get'](_0x32e680),_0x217622=this['_revisionTracker']['buildRevisionData']({'revision':_0x5f253c,'from':_0x4adb52,'to':_0x4ae418});_0x217622['id']=_0x5f253c['id'];const _0x12aa51=_0x217622['authorsIds']['map'](_0x1e4420=>_0x507f82['getUser'](_0x1e4420));_0x5f253c['_update']({..._0x217622,'authors':_0x12aa51},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5f253c['id'],_0x217622,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4ae418,(_0x5f253c['toVersion']===_0x5f253c['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x20d116)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x20d116),this['_revisionTracker']['_createCurrentRevision'](_0x4ae418));}const {revisions:_0x3ba19e,requestId:_0x5bd3cc}=await this['_revisionHistoryService']['reconnect'](_0x58b5d6['connection'],this['_lastRequestId']);_0x12f893&&_0x3ba19e['length']>0x0?_0xb87c8['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3ba19e),this['_handleRevisionsUpdate'](_0x3ba19e,_0x5bd3cc),this['_revisionTracker']['sendBufferedUpdates']());};return _0xb87c8['_isConnected']?_0x521f7f():new Promise((_0x4569db,_0x429119)=>{_0xb87c8['once']('change:_isConnected',()=>{_0x521f7f()['then'](_0x4569db)['catch'](_0x429119);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x426acf=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5d6f1e=>{_0x5d6f1e['off'](),_0x426acf();});});}['_getLatestVersionFromServerOperations'](){const _0x1d9699=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x20f87f of _0x1d9699)if('marker'!==_0x20f87f['type']||_0x20f87f['affectsData'])return _0x20f87f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5c48cb=this['editor']['plugins']['get'](l);return new Promise(_0x11169e=>{_0x5c48cb['_isPendingUpdate']?_0x5c48cb['once']('change:_isPendingUpdate',()=>{_0x11169e(this['_getLatestVersionFromServerOperations']());}):_0x11169e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x34a462,_0x5265cf){const _0x1f4eb2=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5265cf;for(const _0xe4afe0 of _0x34a462){const _0x23e1ec=_0x1f4eb2['getRevision'](_0xe4afe0['id']);if(_0x23e1ec){if((_0xe4afe0['fromVersion']||_0xe4afe0['toVersion'])&&(_0xe4afe0['diffData']=null),_0x23e1ec===this['_revisionTracker']['currentRevision']){const _0x184215=Math['max'](_0x23e1ec['toVersion'],_0xe4afe0['toVersion']),_0x2f4e41=Math['max'](_0x23e1ec['fromVersion'],_0xe4afe0['fromVersion']);let _0x184d1e;_0x23e1ec['toVersion']===_0xe4afe0['toVersion']&&_0x23e1ec['fromVersion']===_0xe4afe0['fromVersion']?(_0x184d1e=!0x0,this['_preventResendingRevisionData'](_0xe4afe0)):_0xe4afe0['toVersion']===_0x184215&&_0xe4afe0['fromVersion']===_0x2f4e41?_0x184d1e=!0x1:(_0x23e1ec['toVersion']===_0x184215&&_0x23e1ec['fromVersion']===_0x2f4e41||this['_fixRevision']({'revision':_0x23e1ec,'from':_0x2f4e41,'to':_0x184215}),_0x184d1e=!0x0),_0x184d1e&&(delete _0xe4afe0['fromVersion'],delete _0xe4afe0['toVersion'],delete _0xe4afe0['diffData'],delete _0xe4afe0['createdAt'],delete _0xe4afe0['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xe4afe0),this['_preventResendingRevisionData'](_0xe4afe0);}else this['_revisionTracker']['addRevisionData'](_0xe4afe0);}const _0x19c1dd=_0x1f4eb2['getRevisions']();_0x19c1dd['reverse']();for(let _0x3eabea=0x0;_0x3eabea<_0x19c1dd['length']-0x1;_0x3eabea++){const _0x100424=_0x19c1dd[_0x3eabea],_0x15abd8=_0x19c1dd[_0x3eabea+0x1];if(_0x100424['fromVersion']<_0x15abd8['toVersion']){const _0x471460=_0x15abd8['toVersion'],_0x605c71=Math['max'](_0x471460,_0x100424['toVersion']);this['_fixRevision']({'revision':_0x100424,'from':_0x471460,'to':_0x605c71});}}}['_fixRevision']({revision:_0x5222e2,from:_0x1517f7,to:_0x2f430d}={}){const _0x235c7b=this['editor']['plugins']['get'](_0x32e680),_0x2df2e4=this['_revisionTracker']['buildRevisionData']({'revision':_0x5222e2,'from':_0x1517f7,'to':_0x2f430d});_0x2df2e4['authors']=_0x2df2e4['authorsIds']['map'](_0x56b0dd=>_0x235c7b['getUser'](_0x56b0dd)),_0x5222e2['_update'](_0x2df2e4);}['_preventResendingRevisionData'](_0x5cde8b){const _0x55444e={};_0x55444e['id']=_0x5cde8b['id'];for(const _0x2b792d of Object['keys'](_0x5cde8b))'id'!==_0x2b792d&&(_0x55444e[_0x2b792d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x55444e['id'],_0x55444e,!0x0);}async['_fetchMissingUsers'](_0x397e6e){const _0x40fb5a=this['editor']['plugins']['get'](_0x32e680),{connection:_0x5a6dc3}=this['editor']['plugins']['get'](n),_0x491ae0=new Set();for(const _0x1913d7 of _0x397e6e){for(const _0x521554 of _0x1913d7['authorsIds'])_0x53e548(_0x521554);_0x1913d7['creatorId']&&_0x53e548(_0x1913d7['creatorId']);}if(0x0===_0x491ae0['size'])return;const _0x557468=await ct['getMany'](_0x5a6dc3,Array['from'](_0x491ae0));for(const _0x596b79 of _0x557468)_0x40fb5a['getUser'](_0x596b79['id'])||_0x40fb5a['addUser'](_0x596b79);function _0x53e548(_0x395d72){_0x40fb5a['getUser'](_0x395d72)||_0x491ae0['add'](_0x395d72);}}}function q(_0x2b0db9){return _0x2b0db9['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2b0db9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b0db9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x59a1de{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 _0x3e4f4b{['_collapseAt'];constructor(_0x4dd504,_0x75d9c7=0x6){super(_0x4dd504);const _0x1f53fa=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x75d9c7,this['bind']('isHidden')['to'](this,'usersCount',_0x11a95f=>_0x11a95f<_0x75d9c7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1f53fa['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':_0x1f53fa['to']('usersCount',_0x4f4933=>'+'+(_0x4f4933-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x3e4f4b{['items'];['keystrokes'];constructor(_0x4d02d4){super(_0x4d02d4);const _0x358d99=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x10082a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x358d99['if']('hasPopup'),'aria-expanded':_0x358d99['to']('isExpanded',_0x1aed5c=>this['hasPopup']&&String(_0x1aed5c)),'aria-label':_0x358d99['to']('hasPopup',_0x491541=>K(_0x4d02d4,_0x491541?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x358d99['to']('hasPopup',_0x4df4c3=>!!_0x4df4c3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x358d99['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x358d99['to'](_0x582c09=>{const _0x4d73df=_0x582c09,_0x370653=document['querySelector']('.ck-presence-list__dropdown-list'),_0xb2be5f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x370653?.['contains'](_0x4d73df['relatedTarget'])||_0xb2be5f?.['contains'](_0x4d73df['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x34d8e8,_0x5d5c31,_0x5eb174)=>{this['element']&&(_0x5eb174?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 _0x3e4f4b{['counterView'];['inlineListView'];constructor(_0x48a91d,_0x239679=0x6){super(_0x48a91d);const _0x1d5ed5=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x239679),this['inlineListView']=new is(_0x48a91d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xc30ab8 of this['inlineListView']['items'])_0xc30ab8['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',_0x1d5ed5['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x3e4f4b{['listWrapperView'];constructor(_0x12b618,_0x382f29){super(_0x12b618);const _0x32625b=this['bindTemplate'];this['listWrapperView']=new ut(_0x12b618,_0x382f29),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x12b618,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x32625b['to'](_0x3cc18b=>{const _0x10ce74=_0x3cc18b,_0x277164=document['querySelector']('.ck-presence-list__list'),_0x3bdc1f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x277164?.['contains'](_0x10ce74['relatedTarget'])||_0x3bdc1f?.['contains'](_0x10ce74['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x2cdcca{constructor(_0x40313f,_0x5b2b41){super(_0x40313f);const _0x16af4c=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5b2b41?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x16af4c['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x16af4c['to']('role'),'aria-label':_0x16af4c['to']('ariaLabel'),'aria-labelledby':_0x16af4c['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4d5004['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1eb5e0=this['element'];_0x1eb5e0&&(this['_isScrollable']=Math['max'](_0x1eb5e0['scrollHeight'],_0x1eb5e0['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x5860ea,_0x3e833c,_0x21a7f4){super(_0x5860ea);const _0x5e30b4=this['bindTemplate'];this['userView']=new st(_0x5860ea,_0x3e833c);const _0x450cb9={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3e833c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3e833c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3e833c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x21a7f4&&(_0x450cb9['tag']='button',_0x450cb9['on']={'click':_0x5e30b4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x450cb9);}['focus'](){this['element']['focus']();}}class A extends _0x3e4f4b{['userView'];['markerView'];constructor(_0x389c38,_0x5d8516,_0x285b71){super(_0x389c38);const _0x189a87=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x389c38,_0x5d8516),this['markerView']=new ot(_0x389c38,_0x5d8516);const _0xca4e1c=new it(_0x389c38);_0xca4e1c['template']['tag']='span',_0xca4e1c['text']=_0x5d8516['name'];const _0x55ce61={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x189a87['to']('isFocusable',_0xed73b1=>!!_0xed73b1&&0x0),'aria-labelledby':_0xca4e1c['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x189a87['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x189a87['to']('hasTooltip',_0x51bcb6=>!_0x51bcb6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0xca4e1c]};_0x285b71&&(_0x55ce61['tag']='button',_0x55ce61['on']={'click':_0x189a87['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x55ce61);}}class ot extends _0x3e4f4b{constructor(_0x915f26,_0x369823){super(_0x915f26),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x369823['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2a8ba5{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x198cdc){super(_0x198cdc),this['context']['config']['define']('presenceList',x);const _0x4e7506=_0x198cdc['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4e7506)throw new _0x9ea68e('presencelist-collapseat-invalid-format',this);if(_0x4e7506<0x1)throw new _0x9ea68e('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x12113e(),this['balloonPanelView']=new _0x3e6403(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x583385 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x583385);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5960b4,_0xfceb81)=>{this['_handleUserAdd'](_0xfceb81);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x11f645,_0x513438)=>{this['_handleUserRemove'](_0x513438);});}['_createView'](){const _0x5ed608=this['context'],_0x22bfcb=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xe693=this['balloonPanelView'];if(!_0x5f07b6(_0x5ed608['config']['get']('presenceList.container')))throw new _0x9ea68e('presencelist-missing-container',this);return _0x22bfcb['counterView']['bind']('usersCount')['to'](this),_0x22bfcb['bind']('isCollapsed')['to'](this,'usersCount',_0x226479=>{const {collapseAt:_0xc738c3}=_0x5ed608['config']['get']('presenceList'),_0x420817=_0x226479>=_0xc738c3;if(_0x420817&&!_0x22bfcb['inlineListView']['items']['find'](_0x135c7b=>_0x135c7b instanceof b)){const _0x290a82=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x290a82&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x22bfcb['inlineListView']['items']['add'](_0x22bfcb['counterView']);}return _0x420817||this['hideDropdown'](),_0x420817;}),_0x22bfcb['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4f6f05=>{const _0x4d1e41=_0x5ed608['config']['get']('presenceList'),_0x566757=new A(_0x5ed608['locale'],_0x4f6f05,!!_0x4d1e41['onClick']);return _0x566757['bind']('hasTooltip')['to'](_0x22bfcb,'isCollapsed',_0x2e6a96=>!_0x2e6a96),_0x566757['bind']('isFocusable')['to'](_0x22bfcb,'isCollapsed',_0x10384a=>!_0x10384a),_0x4d1e41['onClick']&&this['listenTo'](_0x566757,'execute',()=>{this['view']['isCollapsed']||_0x4d1e41['onClick'](_0x4f6f05,_0x566757['element']);}),_0x566757;}),this['listenTo'](_0x22bfcb['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x22bfcb['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x22bfcb['inlineListView']['keystrokes']['set']('Enter',(_0xa75e11,_0x541a4e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x541a4e());}),_0x22bfcb['render'](),_0xe693['render'](),_0x4f04e3({'emitter':_0x22bfcb,'activator':()=>_0xe693['isVisible'],'contextElements':[_0xe693['element'],_0x22bfcb['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5ed608['config']['get']('presenceList.container')['appendChild'](_0x22bfcb['element']),this['_bodyCollection']=new _0x7b67c4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x22bfcb;}['_handleUserAdd'](_0x2a8bf3){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2a8bf3['isMe'])return;const _0x298569=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x298569-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x16fa53=_0x2a8bf3['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2a8bf3,_0x16fa53);}['_handleUserRemove'](_0x377e10){this['usersCount']--;const {collapseAt:_0x432009}=this['context']['config']['get']('presenceList'),_0x20fc22=this['usersCount']>=_0x432009;if(this['currentDisplayedUsers']['get'](_0x377e10['id']))this['currentDisplayedUsers']['remove'](_0x377e10['id']);else{if(_0x20fc22&&this['currentDisplayedUsers']['length']+0x1===_0x432009-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x20fc22?0x1:0x0)<this['usersCount']){for(const _0x247aaa of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x247aaa['id'])&&(this['currentDisplayedUsers']['add'](_0x247aaa,Math['min'](this['currentDisplayedUsers']['length']-(_0x20fc22?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x20fc22?0x1:0x0)===_0x432009-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x467938=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x467938['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1732b2}=this['presenceDropdownView'];_0x1732b2['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x205f22=>{if(!_0x467938['displayMe']&&_0x205f22['isMe'])return null;const _0x4c2f68=new j(this['context']['locale'],_0x205f22,!!_0x467938['onClick']);return _0x467938['onClick']&&this['listenTo'](_0x4c2f68,'execute',()=>{_0x467938['onClick'](_0x205f22,_0x4c2f68['element']);}),_0x4c2f68;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1732b2['focus'](),_0x1732b2['checkIfScrollable']();const _0x5364de=(_0x6652c9,_0x380389)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x380389();};_0x1732b2['keystrokes']['set']('Esc',_0x5364de),_0x1732b2['keystrokes']['set']('Shift+Tab',_0x5364de),_0x1732b2['keystrokes']['set']('Tab',(_0x12d193,_0x35d7ef)=>{!function(_0x1c2ea4){const _0x13c87a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4acf03=>_0x4acf03+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x161431=[...document['body']['querySelectorAll'](_0x13c87a)]['filter'](_0x1fb346=>_0x1fb346===document['activeElement']||_0x1fb346['offsetWidth']+_0x1fb346['offsetHeight']>0x0)['sort']((_0x140789,_0x2ce693)=>(_0x140789['tabIndex']||0x0)-(_0x2ce693['tabIndex']||0x0)),_0x27ab3d=_0x161431['indexOf'](_0x1c2ea4),_0x562b3f=_0x161431[(_0x27ab3d+0x1)%_0x161431['length']];_0x562b3f&&_0x562b3f['focus']();}(this['view']['element']),this['hideDropdown'](),_0x35d7ef();}),_0x1732b2['focusTracker']['add'](this['view']['element']),_0x1732b2['focusTracker']['on']('change:isFocused',(_0x162061,_0x433103,_0x436d46)=>{_0x436d46||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 ft extends _0x2a8ba5{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,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};