@ckeditor/ckeditor5-real-time-collaboration 46.0.1-alpha.11 → 46.0.1-alpha.12

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 _0x2d811c,Plugin as _0x302365,PendingActions as _0x2629a3,Context as _0x1a39e0}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5c2fd9,CKEditorError as _0x57f413,Collection as _0x5538c8,global as _0x54f381,version as nt,uid as _0x5e41d4,KeystrokeHandler as _0x18f030}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5c3c50,View as _0x5a7c8c,ListView as _0x1fbfd9,ListItemView as et,LabelView as it,BalloonPanelView as _0x3b85f5,clickOutsideHandler as _0x58304e,BodyCollection as _0x565468}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x216524,History as _0x13b0f8,NoOperation as _0x4d74b2,InsertOperation as _0x18701a,MarkerOperation as _0x15d1b4,RootAttributeOperation as _0x179482,transformOperationSets as _0x5dac39,OperationFactory as _0x2f2427}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x4777ba,CollaborativeEditingService as _0x5e5827,User as ct,CommentsService as _0x592e76,TrackChangesService as _0x5f17e4,RevisionHistoryService as _0x5cace5,EditorService as _0x23e084}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x2683a2,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x183cd7}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2c0363}from'es-toolkit/compat';class n extends _0x2d811c{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5c3c50];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x17a27e){super(_0x17a27e),this['set']('state',_0x4777ba['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5c2fd9())();}['init'](){const _0x9dea27=this['context'],_0x1ebe08=_0x9dea27['plugins']['get']('CloudServices'),_0x1ef39d=_0x9dea27['plugins']['get'](_0x5c3c50);if(!_0x1ebe08['token'])throw new _0x57f413('websocketgateway-missing-token',this);if(!_0x1ebe08['webSocketUrl'])throw new _0x57f413('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'](_0x1ebe08['token'],_0x1ebe08['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5293a5=>{if(this['connection']=_0x5293a5,this['bind']('state')['to'](_0x5293a5,'state',this,'_isBrowserOffline',(_0x2da86f,_0x14e652)=>('connected'!==_0x2da86f&&(this['_shouldPluginsReconnect']=!0x0),_0x14e652||_0x2da86f!==_0x4777ba['CONNECTED']?_0x4777ba['DISCONNECTED']:this['state']==_0x4777ba['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4777ba['CONNECTING']):_0x4777ba['CONNECTED'])),this['connection']['on']('error',(_0x3603e7,_0x407643)=>{if('limitExceeded'!==_0x407643['code'])throw console['error'](_0x407643),new _0x57f413('cloudservices-init',null,{'originalError':_0x407643});_0x1ef39d['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'});}),!_0x5293a5['me'])return new Promise(_0x2dfcb9=>_0x5293a5['on']('change:me',_0x2dfcb9));})['catch'](_0x777926=>{throw console['error'](_0x777926),new _0x57f413('cloudservices-init',null,{'originalError':_0x777926});});}['addToReconnectionStack'](_0x7f6b4b){if('function'!=typeof _0x7f6b4b['reconnect'])throw new _0x57f413('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x7f6b4b))throw new _0x57f413('websocketgateway-plugin-already-registered',this,{'name':_0x7f6b4b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x7f6b4b);}['removeFromReconnectionStack'](_0x262361){this['_reconnectionStack']['delete'](_0x262361);}['isInReconnectionStack'](_0x59e5af){return this['_reconnectionStack']['has'](_0x59e5af);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x29a56d=>_0x29a56d['reconnect']())))['then'](()=>this['state']=_0x4777ba['CONNECTED'])['catch'](_0x43b4d6=>{throw console['error'](_0x43b4d6),new _0x57f413('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4777ba['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2d811c{['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,_0x2683a2];}constructor(_0x336cf0){super(_0x336cf0),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5538c8(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2683a2);}['init'](){const _0x243fdf=this['context']['plugins']['get'](n);this['listenTo'](_0x243fdf,'change:state',(_0x277438,_0x4279b1,_0x341f30)=>{if('connected'!==_0x341f30)this['channelSessions']['forEach'](_0x3d4f10=>_0x3d4f10['clear']()),this['channelConnectedUsers']['forEach'](_0x8a9bab=>_0x8a9bab['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5dd18b,_0x3e2502]of this['_registeredSessions'])for(const _0x4e5b4a of _0x3e2502)this['_handleSessionAdd'](_0x5dd18b,_0x4e5b4a);}}),this['_createUser'](_0x243fdf['connection']['me'],!0x0);}['register'](_0x15cf90,_0x477968){if(this['_registeredSessions']['has'](_0x15cf90))throw new _0x57f413('sessions-register-already-registered',null,{'channelId':_0x15cf90});this['_registeredSessions']['set'](_0x15cf90,_0x477968),this['channelSessions']['set'](_0x15cf90,new _0x5538c8()),this['channelConnectedUsers']['set'](_0x15cf90,new _0x5538c8()),this['listenTo'](_0x477968,'add',(_0x494928,_0x401bef)=>this['_handleSessionAdd'](_0x15cf90,_0x401bef)),this['listenTo'](_0x477968,'remove',(_0x3f238b,_0xd41928)=>this['_handleSessionRemove'](_0x15cf90,_0xd41928));for(const _0x224bb1 of _0x477968)this['_handleSessionAdd'](_0x15cf90,_0x224bb1);}['unregister'](_0x5dccc9){if(!this['_registeredSessions']['has'](_0x5dccc9))throw new _0x57f413('sessions-unregister-not-exist',null,{'channelId':_0x5dccc9});const _0x743411=this['_registeredSessions']['get'](_0x5dccc9);this['stopListening'](_0x743411);for(const _0x1a274a of _0x743411)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5dccc9,_0x1a274a);this['_registeredSessions']['delete'](_0x5dccc9),this['channelSessions']['delete'](_0x5dccc9),this['channelConnectedUsers']['delete'](_0x5dccc9);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x32c644){for(const _0x1dcdbf of this['channelSessions']['values']())for(const _0x52470a of _0x1dcdbf)if(_0x52470a['id']===_0x32c644)return _0x52470a['user'];}['getUserSessions'](_0x500a83,_0x2de7d8){const _0x50507f=_0x2de7d8?[this['channelSessions']['get'](_0x2de7d8)]:this['channelSessions']['values'](),_0x261556=new Set();for(const _0xc3ea2b of _0x50507f)for(const _0x3c671a of _0xc3ea2b)_0x3c671a['user']['id']===_0x500a83['id']&&_0x261556['add'](_0x3c671a['id']);return _0x261556;}['getUserRole'](_0x37dbb2){for(const _0xadfdfd of this['channelSessions']['values']())for(const _0x31998d of _0xadfdfd)if(_0x31998d['user']===_0x37dbb2)return _0x31998d['role'];}['_handleSessionAdd'](_0x26e278,_0xe370d4){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5ab0f4=_0xe370d4['user'],_0x17c4c2=this['_users']['getUser'](_0x5ab0f4['id'])||this['_createUser'](_0x5ab0f4),_0x2a7cce=Object['assign']({},_0xe370d4,{'user':_0x17c4c2});this['channelSessions']['get'](_0x26e278)['add'](_0x2a7cce);const _0x3f59f2=this['channelConnectedUsers']['get'](_0x26e278);_0x3f59f2['has'](_0x17c4c2['id'])||_0x3f59f2['add'](_0x17c4c2),this['allConnectedUsers']['has'](_0x17c4c2['id'])||this['allConnectedUsers']['add'](_0x17c4c2,_0x17c4c2['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x26e278,{'channelId':_0x26e278,'session':_0x2a7cce});}['_handleSessionRemove'](_0x296196,_0x331da2){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x396623=this['channelConnectedUsers']['get'](_0x296196),_0x53e4fc=_0x331da2['user'];_0x53e4fc['id']&&(this['channelSessions']['get'](_0x296196)['remove'](_0x331da2['id']),_0x396623['has'](_0x53e4fc['id'])&&!this['getUserSessions'](_0x53e4fc,_0x296196)['size']&&_0x396623['remove'](_0x53e4fc['id']),this['allConnectedUsers']['get'](_0x53e4fc['id'])&&!this['getUserSessions'](_0x53e4fc)['size']&&this['allConnectedUsers']['remove'](_0x53e4fc['id']));}['_createUser'](_0x4f82e5,_0x44aad2){const _0x38deb4=this['_users']['addUser'](_0x4f82e5);return _0x44aad2&&this['_users']['defineMe'](_0x4f82e5['id']),_0x38deb4['orderNumber']=this['_uniqueUsersCount']++,_0x38deb4;}}class $ extends _0x302365{['_domEmitter']=new(_0x5c2fd9())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x33c8ab=this['editor'],_0x554c08=_0x33c8ab['plugins']['get'](i);_0x33c8ab['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x14e533,{writer:_0x30bf7d})=>function(_0x4b4ba0,_0x3a236b,_0x34d37,_0x3d9ed0){const _0x4ea5b5=_0x4b4ba0['markerName']['split'](':')[0x2],_0x357a06=_0x34d37['getUserBySessionId'](_0x4ea5b5);if(!_0x357a06||_0x4ea5b5===_0x34d37['mySessionId'])return;if(!_0x3d9ed0['model']['schema']['checkChild'](_0x4b4ba0['markerRange']['start'],'$text'))return;const _0x2ce8bb={'class':'ck-user__marker\x20'+_0x357a06['color']['getMarkerClass'](),'data-name':_0x357a06['name'],'data-session-id':_0x4ea5b5},_0x54e0e2=_0x3d9ed0['model']['markers']['get'](_0x4b4ba0['markerName']),_0x329e04=_0x54e0e2['getStart'](),_0x120b8f=_0x329e04['nodeAfter'],_0x2eea42=_0x3d9ed0['model']['schema'];if(_0x120b8f&&_0x2eea42['isObject'](_0x120b8f)&&_0x2eea42['isInline'](_0x120b8f)&&!_0x3d9ed0['model']['markers']['get']('user:range:'+_0x4ea5b5)['getRange']()['isCollapsed'])return;const _0x3e0a97=_0x329e04['parent'];return _0x3d9ed0['model']['schema']['isLimit'](_0x3e0a97)&&!_0x3d9ed0['model']['hasContent'](_0x3e0a97)&&(_0x2ce8bb['contenteditable']=!0x1),function(_0x229f61,_0x252c47,_0x30ec94){const _0x30fe65=_0x229f61['createUIElement']('span',_0x252c47);return _0x229f61['setCustomProperty']('userPositionMarker',!0x0,_0x30fe65),_0x30fe65['render']=function(_0x7197a){const _0x288050=this['toDomElement'](_0x7197a),_0x220a0a=document['createElement']('span');return _0x220a0a['classList']['add']('ck-user__marker-tooltip'),_0x220a0a['setAttribute']('contenteditable','false'),_0x220a0a['setAttribute']('spellcheck','false'),_0x220a0a['textContent']=_0x30ec94['name'],_0x288050['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x220a0a['outerHTML']+'⁠',_0x288050['addEventListener']('mouseenter',()=>{_0x288050['classList']['add']('ck-user__marker_hovered');}),_0x288050['addEventListener']('mouseleave',()=>{_0x288050['classList']['remove']('ck-user__marker_hovered');}),_0x288050;},_0x30fe65['isSimilar']=function(_0x5c8121){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5c8121['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5c8121['getAttribute']('data-session-id'));},_0x30fe65;}(_0x3a236b,_0x2ce8bb,_0x357a06);}(_0x14e533,_0x30bf7d,_0x554c08,_0x33c8ab)}),_0x33c8ab['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2490bf=>function(_0x1343c5,_0x4b3ebd){const _0x1c2743=_0x1343c5['markerName']['split'](':')[0x2];if(_0x1c2743===_0x4b3ebd['mySessionId'])return null;const _0x2157cf=_0x4b3ebd['getUserBySessionId'](_0x1c2743);if(!_0x2157cf)return{'id':_0x1c2743,'classes':[]};return{'id':_0x1c2743,'classes':['ck-user__selection',_0x2157cf['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1c2743},'priority':0x7d0+_0x2157cf['orderNumber']};}(_0x2490bf,_0x554c08)}),function(_0x12265e){const _0x368972=_0x12265e['model'],_0x27c817=new Map(),_0x4f0f23=_0x12265e['plugins']['get'](i);_0x368972['markers']['on']('update:user:range',(_0x368bf9,_0x5c19c3,_0x1b4eff,_0x33ab62)=>{if(!_0x33ab62&&_0x27c817['get'](_0x5c19c3['name']))return _0x27c817['get'](_0x5c19c3['name'])['detach'](),void _0x27c817['delete'](_0x5c19c3['name']);const _0x22c1cf=_0x5c19c3['name']['split'](':')[0x2];if(_0x22c1cf===_0x4f0f23['mySessionId'])return;const _0x26ae49='user:position:'+_0x22c1cf;_0x368972['markers']['has'](_0x26ae49)&&_0x12265e['editing']['reconvertMarker'](_0x26ae49),_0x5c19c3['on']('change:range',(_0x49db1d,_0x3d8eee,_0xfbb2fa)=>{if('$graveyard'!=_0x3d8eee['root']['rootName']&&'$graveyard'==_0x5c19c3['getRange']()['root']['rootName']&&!_0x27c817['has'](_0x5c19c3['name'])){const _0x49a9bf=_0x368972['schema']['getNearestSelectionRange'](_0xfbb2fa['deletionPosition']);if(_0x49a9bf){const _0x5ac282=_0x216524['fromRange'](_0x49a9bf);_0x27c817['set'](_0x5c19c3['name'],_0x5ac282),_0x5ac282['on']('change:range',(_0x16f187,_0x2785c8,_0x423af3)=>{if('$graveyard'==_0x5ac282['root']['rootName']){const _0xcbc930=_0x368972['schema']['getNearestSelectionRange'](_0x423af3['deletionPosition']);_0xcbc930?(_0x5ac282['start']=_0xcbc930['start'],_0x5ac282['end']=_0xcbc930['end']):(_0x27c817['delete'](_0x5c19c3['name']),_0x5ac282['detach']());}});}}});}),_0x368972['document']['on']('change',()=>{_0x27c817['size']>0x0&&_0x368972['enqueueChange']({'isUndoable':!0x1},_0x5d0048=>{for(const [_0x1e54c2,_0x361efb]of _0x27c817)'$graveyard'==_0x368972['markers']['get'](_0x1e54c2)['getRange']()['root']['rootName']&&(te(_0x1e54c2['split'](':')[0x2],_0x361efb['toRange'](),_0x368972,_0x5d0048),_0x361efb['detach']());_0x27c817['clear']();});});}(_0x33c8ab),this['_domEmitter']['listenTo'](_0x54f381['document'],'keydown',(_0x3f1c2c,{key:_0x59b3e8})=>{'Escape'===_0x59b3e8&&function(_0x5c79c1){_0x5c79c1['editing']['view']['change'](_0x197262=>{for(const _0x199748 of _0x5c79c1['model']['markers']){if(!_0x199748['name']['startsWith']('user:position'))continue;const _0x41ce03=_0x5c79c1['editing']['mapper']['markerNameToElements'](_0x199748['name']);if(_0x41ce03){for(const _0x5ad4ba of _0x41ce03)_0x197262['removeClass']('ck-user__marker_hovered',_0x5ad4ba);}}});}(_0x33c8ab);},{'useCapture':!0x0});}['afterInit'](){const _0x45f047=this['editor'],_0x58d15f=_0x45f047['commands']['get']('undo');_0x58d15f&&_0x45f047['model']['on']('applyOperation',(_0x369b68,_0x5d75aa)=>{const _0x2fd307=_0x5d75aa[0x0];if(!_0x2fd307['isDocumentOperation'])return;if('marker'!=_0x2fd307['type']||!_0x2fd307['name']['startsWith']('user:'))return;const _0x1d6c9b=_0x2fd307['batch'];_0x58d15f['_createdBatches']['has'](_0x1d6c9b)&&(_0x2fd307['newRange']=_0x2fd307['oldRange']?_0x45f047['model']['createRange'](_0x2fd307['oldRange']['start'],_0x2fd307['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xdb90e8=this['editor'],_0x2a0674=_0xdb90e8['model']['document'],_0x62b01=_0xdb90e8['plugins']['get'](i);_0xdb90e8['model']['enqueueChange']({'isUndoable':!0x1},_0x3c05ad=>{const _0x10b2f1='user:range:'+_0x62b01['mySessionId'],_0x25b273='user:position:'+_0x62b01['mySessionId'],_0x128272=_0xdb90e8['model']['markers']['has'](_0x10b2f1);_0xdb90e8['editing']['view']['hasDomSelection']?te(_0x62b01['mySessionId'],_0x2a0674['selection']['getFirstRange'](),_0xdb90e8['model'],_0x3c05ad):_0x128272&&(_0x3c05ad['removeMarker'](_0x10b2f1),_0x3c05ad['removeMarker'](_0x25b273));});}}function te(_0x334462,_0x357007,_0x2e36d5,_0x21d6b4){const _0x3ea42d='user:range:'+_0x334462,_0x47eeef='user:position:'+_0x334462,_0x2ad427=_0x357007['getContainedElement']();let _0x1269e4=_0x357007['start'];if(_0x2ad427&&_0x2ad427['is']('element','tableCell')){const _0x33de18=function(_0x2f8cd0,_0x4223b0){for(const _0x3ef013 of _0x2f8cd0['getPositions']())if(_0x4223b0['schema']['checkChild'](_0x3ef013,'$text'))return _0x3ef013;}(_0x357007,_0x2e36d5);_0x33de18&&(_0x1269e4=_0x33de18,_0x357007=_0x21d6b4['createRange'](_0x1269e4));}const _0x25163f=_0x21d6b4['createRange'](_0x1269e4);_0x2e36d5['markers']['has'](_0x3ea42d)?(_0x21d6b4['updateMarker'](_0x3ea42d,{'range':_0x357007}),_0x21d6b4['updateMarker'](_0x47eeef,{'range':_0x25163f})):(_0x21d6b4['addMarker'](_0x3ea42d,{'range':_0x357007,'usingOperation':!0x0}),_0x21d6b4['addMarker'](_0x47eeef,{'range':_0x25163f,'usingOperation':!0x0}));}function K(_0x3e1be4,_0x5d853d,_0x15703c){const _0x163929=_0x3e1be4['t'],t=_0x3e1be4['t'];switch(_0x5d853d){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 _0x163929({'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'},_0x15703c);default:return'';}}let X=0x1;class l extends _0x302365{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x5e5827)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,$,_0x2629a3,_0x2683a2,_0x5c3c50];}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 _0x34fef4=this['serverHistory']['getOperations']();for(let _0x390251=_0x34fef4['length']-0x1;_0x390251>=0x0;_0x390251--){const _0x2ade4a=_0x34fef4[_0x390251];if(!this['_disconnectionOperations']['has'](_0x2ade4a))return _0x2ade4a['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3cef5b){if(super(_0x3cef5b),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x13b0f8(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x57f413('collaboration-missing-channelid',this);const _0x1402fe=_0x3cef5b['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x1402fe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x183cd7(),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 _0xa17bca=this['editor'],_0x2b1880=_0xa17bca['plugins']['get'](_0x2683a2),_0x50f1e8=_0xa17bca['plugins']['get'](n);this['listenTo'](_0x2b1880,'getOperationAuthor',(_0x53ac5e,_0x467562)=>{const _0x380907=_0x467562[0x0];_0x380907['_authorId']&&(_0x53ac5e['return']=_0x2b1880['getUser'](_0x380907['_authorId']),_0x53ac5e['stop']()),null===_0x380907['_authorId']&&(_0x53ac5e['return']=null,_0x53ac5e['stop']());},{'priority':'high'}),this['listenTo'](_0xa17bca['model']['document']['selection'],'change:range',(_0x3da5f9,_0x2d3798)=>{_0x2d3798['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xa17bca['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xa17bca['model']['on']('applyOperation',(_0x3ca726,_0x563f86)=>{const _0x2a2529=_0x563f86[0x0];_0x2a2529['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2a2529),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x50f1e8,'state',this,'_hasSynchronizationProblem',(_0x53d380,_0x5ec2c)=>'connected'===_0x53d380&&!_0x5ec2c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xa17bca['disableReadOnlyMode']('rtc-offline'):_0xa17bca['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xa17bca['disableReadOnlyMode']('rtc-offline'):_0xa17bca['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4b14ef=this['editor']['plugins']['get'](i),_0x1502af=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x4b14ef['unregister'](this['_channelId']);const _0x149f44=await this['_service']['reconnect'](_0x1502af['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x149f44)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2b07b1=await this['_service']['getConnectedSessions']();_0x4b14ef['register'](this['_channelId'],_0x2b07b1),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2fac83){if(function(_0x51e739){return'404'===_0x51e739['code'];}(_0x2fac83)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xcaf021){return'409'===_0xcaf021['code'];}(_0x2fac83)){const _0x28732b=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'](_0x28732b);}else{if(!(_0x2fac83 instanceof Y))throw _0x2fac83;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3e54fc=this['editor']['plugins']['get'](n),_0x19c312=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x19c312['channelSessions']['has'](this['_channelId'])&&_0x19c312['unregister'](this['_channelId']),_0x3e54fc['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3df2a6){if(this['sessionId']!==_0x3df2a6['sessionId']&&this['_lastSyncedOperationId']!==_0x3df2a6['lastOperationId'])throw new Y();return this['sessionId']=_0x3df2a6['sessionId'],this['_handleServerResponse']([],{..._0x3df2a6,'wereChangesApplied':!0x1,'data':_0x3df2a6['data']},'reconnect');}async['_connectService'](_0x2c8f06,_0xcb0453=!0x1){const {connection:_0x138305}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x138305,this['_channelId'])['then'](_0x5c42d3=>this['_initSessionsHandling'](_0x5c42d3))['catch'](_0x4b9f0f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4b9f0f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1138ed,_0x10b2ed)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x10b2ed);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x502a20=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2c8f06);this['_isPendingUpdate']=!0x0;const _0x3ace86=await this['_service']['connect'](_0x138305,this['_compressOperations'](_0x2c8f06),_0x502a20);if(this['sessionId']=_0x3ace86['sessionId'],_0xcb0453){if(!_0x3ace86['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3ace86['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2c8f06,_0x3ace86,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3ace86,_0x2c8f06);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xcbe53c=this['editor']['plugins']['get'](i),_0x1ac419=this['editor']['plugins']['get']($),_0x234cef=_0xcbe53c['channelSessions']['get'](this['_channelId']);_0x234cef&&_0x234cef['length']>0x1?_0x1ac419['createUserMarkerOperations']():this['listenTo'](_0xcbe53c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xcbe53c['channelSessions']['get'](this['_channelId'])['length']&&_0x1ac419['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x517f9a,_0x4c615b,_0x31538a,_0x4ead90){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4c615b){const _0x32a344=this['_decompressOperations'](_0x31538a,_0x4ead90);await this['_fetchMissingUsers'](_0x32a344),this['_handleExternalOperations'](_0x32a344,_0x4c615b,_0x31538a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3bb695}=this['editor'];let _0x378439;try{_0x378439=await this['_service']['getDocumentDetails']();}catch{const _0x3e839a=K(_0x3bb695,'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'](_0x3e839a);}const _0x3d0412=_0x378439['currentDocumentSession']||_0x378439['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3d0412['lastOperationId']){const _0x591963=K(_0x3bb695,'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'](_0x591963);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xe33ccf){const _0x586866=this['editor']['plugins']['get'](i);this['listenTo'](_0x586866,'sessionAdd:'+this['_channelId'],(_0x1f14c3,{session:_0x1e4b66})=>{if(_0x1e4b66['id']===_0x586866['mySessionId']){_0x1f14c3['off']();const _0x303dad=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xfeedc8=_0x1e4b66['permissions'];_0x303dad&&_0x303dad['isEnabled']&&(_0xfeedc8=_0xfeedc8['filter'](_0x1f501e=>'document:write'!==_0x1f501e)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xfeedc8,this['_channelId']);}}),_0x586866['register'](this['_channelId'],_0xe33ccf);}['_initThrowingOnDataSet'](){const _0x343ee8=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xb0b2aa)=>{if(!_0xb0b2aa[_0xb0b2aa['length']-0x1]['suppressErrorInCollaboration'])throw new _0x57f413('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x343ee8['apply'](this['editor']['data'],_0xb0b2aa);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x460f4d,[_0x5bf2a7])=>{if(this['_document']['version'])throw new _0x57f413('realtimecollaborationclient-init-document-already-initialized',this);_0x460f4d['stop'](),this['_setPendingAction']();const _0x2f8f40=this['editor']['config']['get']('rootsAttributes'),_0x3e97a6=this['_getOperationsFromInitData'](_0x5bf2a7,_0x2f8f40);0x0==_0x3e97a6['length']&&_0x3e97a6['push'](new _0x4d74b2(0x0)),_0x460f4d['return']=this['_connectService'](_0x3e97a6)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x462cab=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x462cab))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1a959e,[_0xb82e90,_0x1432e3])=>{_0x1a959e['stop']();const _0x5d3b58=this['editor']['model']['document']['getRoot'](_0xb82e90);if(!this['_knownRootNames']['has'](_0xb82e90)){const _0x56189c=_0x1432e3&&_0x1432e3['data']?_0x1432e3['data']:'',_0x41faa9=_0x1432e3&&_0x1432e3['attributes']?_0x1432e3['attributes']:{};await this['_loadRoot'](_0xb82e90,_0x56189c,_0x41faa9);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5d3b58['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5d3b58);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4e216c){const _0x1bb37a=this['editor']['plugins']['get'](_0x2683a2),{connection:_0xab0758}=this['editor']['plugins']['get'](n),_0x1fa410=new Set();for(const _0x489cf7 of _0x4e216c){const _0x351714=_0x489cf7['_authorId'];_0x351714&&!_0x1bb37a['getUser'](_0x351714)&&_0x1fa410['add'](_0x351714);}if(0x0===_0x1fa410['size'])return;const _0x3ec5bd=await ct['getMany'](_0xab0758,Array['from'](_0x1fa410));for(const _0x1a3787 of _0x3ec5bd)_0x1bb37a['getUser'](_0x1a3787['id'])||_0x1bb37a['addUser'](_0x1a3787);}['_getOperationsFromInitData'](_0x5c6775,_0x55562d={}){const _0x27f460=this['editor']['model'],_0x486299=[];let _0x4458f7=0x0;const _0x79a57e='string'==typeof _0x5c6775?{'main':_0x5c6775}:_0x5c6775;for(const _0x4fb61a of Object['keys'](_0x79a57e)){if(!this['_document']['roots']['has'](_0x4fb61a))throw new _0x57f413('realtimecollaborationclient-init-non-existent-root',this);const _0x49a5f9=this['editor']['data']['parse'](_0x79a57e[_0x4fb61a]),_0x5af46c=this['_document']['getRoot'](_0x4fb61a),_0x4b9609=new _0x18701a(_0x27f460['createPositionAt'](_0x5af46c,0x0),_0x49a5f9,_0x4458f7++);_0x486299['push'](_0x4b9609);for(const [_0x4ce4ec,_0x1ae4d7]of _0x49a5f9['markers']){const _0x3b4d97=_0x27f460['createRange'](_0x27f460['createPositionFromPath'](_0x5af46c,_0x1ae4d7['start']['path']['slice']()),_0x27f460['createPositionFromPath'](_0x5af46c,_0x1ae4d7['end']['path']['slice']())),_0xb0c1e9=new _0x15d1b4(_0x4ce4ec,null,_0x3b4d97,_0x27f460['markers'],!0x0,_0x4458f7++);_0x486299['push'](_0xb0c1e9);}}if(_0x55562d)for(const [_0x1026ca,_0x323356]of Object['entries'](_0x55562d)){const _0x5e21a1=_0x27f460['document']['getRoot'](_0x1026ca);if(!_0x5e21a1)throw new _0x57f413('multi-root-editor-root-attributes-no-root',null);for(const [_0x187c6a,_0x55aae6]of Object['entries'](_0x323356))if(null!==_0x55aae6){const _0x329710=new _0x179482(_0x5e21a1,_0x187c6a,null,_0x55aae6,_0x4458f7++);_0x486299['push'](_0x329710);}}return _0x486299;}async['_loadRoot'](_0x2c6ea5,_0x17a358,_0x21d763){this['_getOperationsFromInitData']({[_0x2c6ea5]:_0x17a358},{[_0x2c6ea5]:_0x21d763})['forEach']((_0x3ea3fa,_0xb1e01e)=>{_0x3ea3fa['baseVersion']=this['_document']['version']+_0xb1e01e,_0x3ea3fa['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3ea3fa);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4cd678,_0x6cc218){let _0x16876c;this['_offset']=_0x4cd678['offset'];const _0x49db77=_0x4cd678['wereChangesApplied']&&!_0x4cd678['initData'],_0x218cc5=_0x49db77?0x0:_0x4cd678['data']['baseVersion'];if(_0x6cc218['forEach'](_0x39b39d=>{_0x39b39d['_isInit']=!0x0,_0x39b39d['createdAt']=_0x4cd678['sessionCreatedAt'],_0x39b39d['_authorId']=null;}),_0x49db77)_0x16876c=_0x6cc218,this['_applyOperationsSet'](_0x16876c,_0x49db77);else{if(_0x4cd678['initData']){const _0x3a6219=this['_getOperationsFromInitData'](_0x4cd678['initData']);this['_document']['history']['version']=-_0x3a6219['length'],_0x3a6219['forEach'](_0x98e1f2=>{_0x98e1f2['baseVersion']-=_0x3a6219['length'],_0x98e1f2['createdAt']=_0x4cd678['sessionCreatedAt'],_0x98e1f2['_isInit']=!0x0,_0x98e1f2['_authorId']=null;}),this['_applyOperationsSet'](_0x3a6219,!0x0),this['serverHistory']['version']=-_0x3a6219['length']+this['_offset'],this['_updateServerHistory'](_0x3a6219);}this['_document']['history']['version']=_0x218cc5,_0x16876c=this['_decompressOperations'](_0x4cd678['data'],_0x4cd678['metadata']),await this['_fetchMissingUsers'](_0x16876c),this['_applyOperationsSet'](_0x16876c,_0x49db77);}_0x4cd678['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x16876c,_0x4cd678['lastOperationId']),this['_lastSyncedOperationId']=_0x4cd678['lastOperationId']),this['serverHistory']['version']=_0x218cc5+this['_offset'],this['_updateServerHistory'](_0x16876c),_0x6cc218['filter'](_0x25162c=>{const _0x3b4124=this['_getAffectedRoot'](_0x25162c);return _0x3b4124&&!this['_knownRootNames']['has'](_0x3b4124);})['forEach']((_0x91eb06,_0x46d559)=>{_0x91eb06['baseVersion']=this['_document']['version']+_0x46d559,this['_saveOperationInBuffer'](_0x91eb06);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1790c9,_0x14862b){const _0x1ae287=_0x14862b&&_0x14862b['message'];if(_0x1ae287&&_0x1ae287['startsWith']('realtimecollaborationclient'))throw _0x14862b;const _0x423b47=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x423b47['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x57f413(_0x1790c9,this['editor'],_0x1ae287?{'originalError':_0x1ae287}:void 0x0);}['_saveOperationInBuffer'](_0x28de90){this['_knownOperations']['has'](_0x28de90)||(this['_knownOperations']['add'](_0x28de90),this['_bufferedOperations']['push'](_0x28de90),this['_pendingAction']||'marker'==_0x28de90['type']&&!_0x28de90['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x37715c=!0x1){!_0x37715c&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x216494=>{_0x216494&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5210e1=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x52e563){return _0x52e563['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52e563['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x52e563['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5210e1)||this['_crash'](_0x5210e1['message'],_0x5210e1);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xec8961=>{this['on']('change:_isPendingUpdate',()=>{_0xec8961();});});}async['_sendBufferedOperations'](){const _0x1f5938=this['editor']['plugins']['get']($);if(this['_shouldSendSelectionUpdate']()&&(_0x1f5938['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4e4019=[...this['_bufferedOperations']];for(const _0x4723d5 of _0x4e4019)_0x4723d5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4723d5);const _0x5a3e0f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4e4019),_0x29b6c3=X++,_0x56e5cf=this['_compressOperations'](_0x4e4019),_0x9b8ac1=await this['_service']['sendOperations'](_0x56e5cf,_0x56e5cf['baseVersion'],_0x5a3e0f);try{return await this['_handleServerResponse'](_0x4e4019,_0x9b8ac1,_0x29b6c3);}catch(_0x5be1d1){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5be1d1);}}async['_handleServerResponse'](_0x3f4b03,_0x316bff,_0x44a3f0){if('error'in _0x316bff)throw _0x316bff['error'];let _0x16e9a6=!0x1;if(_0x316bff['wereChangesApplied']){_0x316bff['lastOperationId']&&(this['_lastSyncedOperationId']=_0x316bff['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41786a=>!_0x3f4b03['includes'](_0x41786a));for(const _0x45b282 of _0x3f4b03)_0x45b282['createdAt']='lastOperationAcceptedAt'in _0x316bff&&_0x316bff['lastOperationAcceptedAt']||void 0x0;Z(_0x3f4b03,_0x316bff['version']-_0x3f4b03['length']),this['_updateServerHistory'](_0x3f4b03);const _0x487a03=_0x3f4b03['filter'](_0x3ec078=>{if(!_0x3ec078['_isInit'])return!0x1;const _0xf9473a=this['_getAffectedRoot'](_0x3ec078);return _0xf9473a&&!this['_knownRootNames']['has'](_0xf9473a);});Z(_0x487a03,this['_document']['version']),this['_applyOperationsSet'](_0x487a03),_0x16e9a6=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4eb02e=this['_decompressOperations'](_0x316bff['data'],_0x316bff['metadata'])['filter'](_0x53c42f=>_0x53c42f['baseVersion']>=this['_lastServerVersion']);_0x4eb02e['forEach'](_0x48dfbc=>this['_addKnownRoot'](_0x48dfbc)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1306e7=>!_0x1306e7['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1306e7))),this['_bufferedOperations']['length']&&Z(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4eb02e),_0x16e9a6=this['_handleExternalOperations'](_0x4eb02e,_0x316bff['version'],_0x316bff['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x16e9a6?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x334fad,_0x1b5ef0,_0x48fd9b){try{const _0x22355d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x269410,operationsB:_0xee2a90,originalOperations:_0x3402b1}=_0x5dac39(_0x334fad,this['_bufferedOperations'],_0x22355d);Z(_0x269410,this['_document']['version']),Z(_0xee2a90,_0x1b5ef0);for(const _0x5151a5 of _0x269410){const _0x15b73d=_0x3402b1['get'](_0x5151a5);_0x5151a5['_authorId']=_0x15b73d?_0x15b73d['_authorId']:null;}_0x48fd9b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x334fad,_0x48fd9b),this['_lastSyncedOperationId']=_0x48fd9b),this['_bufferedOperations']=[..._0xee2a90],this['_applyOperationsSet'](_0x269410),this['_updateServerHistory'](_0x334fad);}catch(_0x58ebb7){return console['error'](_0x58ebb7),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1be031,_0x62a23f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x225e95=>{for(const _0x3478ad of _0x1be031)this['_knownOperations']['add'](_0x3478ad),this['_addKnownRoot'](_0x3478ad),_0x225e95['batch']['addOperation'](_0x3478ad),this['editor']['model']['applyOperation'](_0x3478ad);});}['_addKnownRoot'](_0x48704d){const _0x3fd5a0=this['_getAffectedRoot'](_0x48704d);_0x3fd5a0&&this['_knownRootNames']['add'](_0x3fd5a0);}['_getAffectedRoot'](_0x5394ef){let _0x278c3d,_0x563900;switch(_0x5394ef['type']){case'insert':_0x278c3d=_0x5394ef['position']['root'];break;case'marker':if(_0x563900=_0x5394ef['newRange'],!_0x563900)return null;_0x278c3d=_0x563900['root'];break;case'addRootAttribute':_0x278c3d=_0x5394ef['root'];break;case'addRoot':_0x278c3d=_0x5394ef['affectedSelectable'];break;case'move':_0x278c3d=_0x5394ef['targetPosition']['root'];break;default:return null;}return _0x278c3d['rootName'];}['_updateServerHistory'](_0x17f4f2){_0x17f4f2['forEach'](_0x13d058=>{const _0x498faa=_0x13d058['clone']();_0x498faa['_authorId']=_0x13d058['_authorId'],_0x498faa['_isInit']=!!_0x13d058['_isInit'],_0x498faa['createdAt']=_0x13d058['createdAt'],_0x498faa['baseVersion']+=this['_offset'],_0x13d058['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x498faa),this['serverHistory']['addOperation'](_0x498faa);});}['_handleReconnectionError'](_0x3d404a){const _0x4c9ab6=this['editor']['plugins']['get']('Notification'),_0x2a56b6=this['editor']['locale'];_0x3d404a||(_0x3d404a=K(_0x2a56b6,'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.')),_0x4c9ab6['showWarning'](_0x3d404a,{'title':K(_0x2a56b6,'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'](_0x2629a3)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2629a3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5b8fd6){const _0x2f2ea1=_0x5b8fd6['map'](_0x9428e2=>_0x9428e2['toJSON']());return this['_compressor']['compress'](_0x2f2ea1);}['_decompressOperations'](_0x2c2322,_0x3ae284){return this['_compressor']['decompress'](_0x2c2322)['map']((_0x5272e0,_0x5ca56e)=>{const _0xed3bb4='init'==_0x3ae284[_0x5ca56e]['type'];if('InsertOperation'==_0x5272e0['__className']){const _0x344d86=_0x5272e0['position']['root'];!this['_document']['getRoot'](_0x344d86)&&(this['_document']['createRoot']('$root',_0x344d86)['_isAttached']=!0x1);}const _0x2a40c8=_0x2f2427['fromJSON'](_0x5272e0,this['_document']);return _0x2a40c8['wasUndone']=_0x5272e0['wasUndone'],_0x2a40c8['_isInit']=_0xed3bb4,_0x2a40c8['_authorId']=_0xed3bb4?null:_0x3ae284[_0x5ca56e]['userId'],_0x2a40c8['_isDisconnection']='cs:removeUser'===_0x3ae284[_0x5ca56e]['type'],_0x2a40c8['createdAt']=_0x3ae284[_0x5ca56e]['createdAt'],_0x2a40c8;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x272337=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x272337&&_0x272337['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Y extends Error{}function Z(_0x40100e,_0x5ad243){for(const _0xb84446 of _0x40100e)_0xb84446['baseVersion']=_0x5ad243++;}class tt{['_ignoredOperations'];['_operationToId'];constructor(_0x1efc76){this['_ignoredOperations']=_0x1efc76,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4ca3c1){let _0x573564=_0x4ca3c1['length'];for(;_0x573564--;){const _0x212bc9=_0x4ca3c1[_0x573564];if(!this['_ignoredOperations']['has'](_0x212bc9)){if(!this['_operationToId']['has'](_0x212bc9)){const _0x272238=_0x5e41d4()['slice'](0x1,0x12);this['_operationToId']['set'](_0x212bc9,_0x272238);}return this['_operationToId']['get'](_0x212bc9);}}}['setIdForTheLastOperation'](_0x460f88,_0x1caaa0){if(!_0x1caaa0)return;let _0x6ec204=_0x460f88['length'];for(;_0x6ec204--;){const _0x5b57a0=_0x460f88[_0x6ec204];this['_ignoredOperations']['has'](_0x5b57a0)||this['_operationToId']['set'](_0x5b57a0,_0x1caaa0);}}}class a extends _0x302365{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2d811c{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x592e76)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x2683a2];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x44bd19){super(_0x44bd19),this['_services']=new Map();}async['init'](){const _0x5579eb=this['context'],_0x405496=_0x5579eb['plugins']['get']('CommentsRepository');if(_0x5579eb['plugins']['get'](n)['addToReconnectionStack'](this),_0x405496['adapter']={'addCommentThread':async({channelId:_0x31d3ec,threadId:_0x2a6ea4,comments:_0xfdafaf,resolvedAt:_0x476e6d,resolvedBy:_0xdef4f8,context:_0x515876,attributes:_0x571a39})=>{const _0x1835f8=await this['_getService'](_0x31d3ec)['addCommentThread']({'commentThreadId':_0x2a6ea4,'comments':_0xfdafaf['map'](_0x5587c4=>function(_0x546814,_0x2bf216,_0x49f2dc){return{'commentThreadId':_0x49f2dc,'commentId':_0x546814['commentId'],'userId':_0x546814['authorId'],'content':_0x546814['content'],'documentId':_0x2bf216,'createdAt':_0x546814['createdAt'],'attributes':_0x546814['attributes']||{}};}(_0x5587c4,_0x31d3ec,_0x2a6ea4)),'resolvedAt':_0x476e6d,'resolvedBy':_0xdef4f8,'context':_0x515876,'attributes':_0x571a39})['catch'](at);return{'threadId':_0x1835f8['commentThreadId'],'comments':_0x1835f8['comments']};},'getCommentThread':async({channelId:_0x548c6a,threadId:_0xb6f095})=>{const _0x3e9436=await this['_getService'](_0x548c6a)['getCommentThread'](_0xb6f095)['catch'](at);return _0x3e9436['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3e9436]),{'threadId':_0x3e9436['commentThreadId'],'comments':_0x3e9436['comments']['map'](B),'context':_0x3e9436['context'],'resolvedAt':_0x3e9436['resolvedAt'],'resolvedBy':_0x3e9436['resolvedBy'],'attributes':_0x3e9436['attributes']||{}});},'updateCommentThread':async({channelId:_0x2e0cb5,threadId:_0x3383c1,context:_0x4e1fa8,unlinkedAt:_0x3fbc58,attributes:_0x3a937e})=>this['_getService'](_0x2e0cb5)['updateCommentThread']({'commentThreadId':_0x3383c1,'context':_0x4e1fa8,'attributes':_0x3a937e,'unlinkedAt':_0x3fbc58})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0xe4c753,threadId:_0x3f43b5})=>{const _0xa6bcee=await this['_getService'](_0xe4c753)['resolveCommentThread'](_0x3f43b5)['catch'](F)['catch'](at);return{'threadId':_0xa6bcee['commentThreadId'],'resolvedAt':_0xa6bcee['resolvedAt'],'resolvedBy':_0xa6bcee['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4b1edc,threadId:_0x34d42f})=>this['_getService'](_0x4b1edc)['reopenCommentThread'](_0x34d42f)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x4c1952,threadId:_0x379ce9})=>this['_getService'](_0x4c1952)['removeCommentThread'](_0x379ce9)['catch'](F)['catch'](at),'addComment':({channelId:_0x28f70d,threadId:_0x5dfc75,commentId:_0x486324,content:_0x51af97,attributes:_0x1fb248})=>this['_getService'](_0x28f70d)['addComment'](_0x5dfc75,_0x486324,_0x51af97,_0x1fb248)['catch'](at),'updateComment':({channelId:_0x56e3e3,threadId:_0x3c6371,commentId:_0x208cfb,content:_0xb41cfb,attributes:_0x391593})=>this['_getService'](_0x56e3e3)['updateComment'](_0x3c6371,_0x208cfb,_0xb41cfb,_0x391593)['catch'](F)['catch'](at),'removeComment':({channelId:_0x48e6cc,threadId:_0xadf6df,commentId:_0x42898f})=>this['_getService'](_0x48e6cc)['removeComment'](_0xadf6df,_0x42898f)['catch'](F)['catch'](at)},_0x5579eb instanceof _0x1a39e0){const _0x39c0d0=_0x5579eb['config']['get']('collaboration.channelId'),_0x537830=_0x5579eb['plugins']['get'](i);await this['_setUpService'](_0x39c0d0);const _0x4b60ed=await this['_services']['get'](_0x39c0d0)['getConnectedSessions']();this['listenTo'](_0x537830,'sessionAdd:'+_0x39c0d0,(_0x25f72f,{session:_0x5def48})=>{_0x5def48['id']===_0x537830['mySessionId']&&(_0x25f72f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5def48['permissions'],_0x39c0d0));}),_0x537830['register'](_0x39c0d0,_0x4b60ed);}}async['_setUpService'](_0x1dc4df){if(this['_services']['has'](_0x1dc4df))throw new _0x57f413('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1dc4df});const _0x217e36=this['context']['plugins']['get']('CommentsRepository'),_0x560135=new s['CommentsService'](_0x1dc4df);this['_services']['set'](_0x1dc4df,_0x560135),this['listenTo'](_0x560135,'commentThreadAdded',(_0x53367e,_0x8a622a)=>{const {commentThreadId:_0x286c2d,documentId:_0xcbfba4,context:_0x561c1d,attributes:_0x1e4cbc,resolvedAt:_0x2f665c,resolvedBy:_0x368102,comments:_0x2c927a}=_0x8a622a;_0x217e36['getCommentThread'](_0x286c2d)||_0x217e36['addCommentThread']({'threadId':_0x286c2d,'channelId':_0xcbfba4,'comments':_0x2c927a?_0x2c927a['map'](B):[],'context':_0x561c1d,'attributes':_0x1e4cbc,'resolvedAt':_0x2f665c,'resolvedBy':_0x368102,'isFromAdapter':!0x0});}),this['listenTo'](_0x560135,'commentThreadUpdated',(_0x2c6140,{commentThreadId:_0x49aae5,documentId:_0x4c17ac,context:_0x275684,unlinkedAt:_0x2ba56a,attributes:_0x4847b5})=>{_0x217e36['getCommentThread'](_0x49aae5)&&_0x217e36['updateCommentThread']({'threadId':_0x49aae5,'channelId':_0x4c17ac,'context':_0x275684,'unlinkedAt':_0x2ba56a,'attributes':_0x4847b5,'isFromAdapter':!0x0});}),this['listenTo'](_0x560135,'commentThreadResolved',(_0x54a327,{commentThreadId:_0x53b73b,resolvedBy:_0x5d29b9,resolvedAt:_0x5e6cf6})=>{const _0x1aef4a=_0x217e36['getCommentThread'](_0x53b73b);_0x1aef4a&&_0x1aef4a['resolve']({'resolvedBy':_0x5d29b9,'resolvedAt':_0x5e6cf6,'isFromAdapter':!0x0});}),this['listenTo'](_0x560135,'commentThreadReopened',(_0x558ea9,{commentThreadId:_0x2f4737})=>{const _0x3ba29c=_0x217e36['getCommentThread'](_0x2f4737);_0x3ba29c&&_0x3ba29c['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x560135,'commentThreadRemoved',(_0xb34b2b,{commentThreadId:_0x412318})=>{const _0x3d92e2=_0x217e36['getCommentThread'](_0x412318);_0x3d92e2&&_0x3d92e2['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x560135,'commentAdded',(_0x2e1053,_0x18c18f)=>{const _0x5f502c=_0x18c18f['commentThreadId'],_0x5646a7=_0x217e36['getCommentThread'](_0x5f502c);_0x5646a7&&_0x5646a7['addComment']({...B(_0x18c18f),'isFromAdapter':!0x0});}),this['listenTo'](_0x560135,'commentUpdated',(_0xed0aee,{commentThreadId:_0x4adadf,commentId:_0x38502d,content:_0x59a6b7,attributes:_0x220469})=>{const _0x2d8290=_0x217e36['getCommentThread'](_0x4adadf);if(_0x2d8290){const _0x40d5a3=_0x2d8290['getComment'](_0x38502d);_0x40d5a3&&_0x40d5a3['update']({'content':_0x59a6b7,'attributes':_0x220469,'isFromAdapter':!0x0});}}),this['listenTo'](_0x560135,'commentRemoved',(_0xfb758,{commentThreadId:_0x9ebf72,commentId:_0x11ab8d})=>{const _0x3eedd0=_0x217e36['getCommentThread'](_0x9ebf72);if(_0x3eedd0){const _0x39b11d=_0x3eedd0['getComment'](_0x11ab8d);_0x39b11d&&_0x39b11d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1dc4df);}['destroy'](){if(this['context']instanceof _0x1a39e0){const _0x5926b1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5926b1);}}['_terminateService'](_0x2d30e8){if(!this['_services']['has'](_0x2d30e8))throw new _0x57f413('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2d30e8});this['_getService'](_0x2d30e8)['disconnect'](),this['_services']['delete'](_0x2d30e8);}async['reconnect'](){for(const _0x33743e of this['_services']['keys']())await this['_connectService'](_0x33743e);if(this['context']instanceof _0x1a39e0){const _0x4c7ee1=this['context']['config']['get']('collaboration.channelId'),_0x3496dc=this['context']['plugins']['get'](i);_0x3496dc['unregister'](_0x4c7ee1);const _0x3c2fe2=await this['_services']['get'](_0x4c7ee1)['getConnectedSessions']();_0x3496dc['register'](_0x4c7ee1,_0x3c2fe2);}}async['_connectService'](_0x259b80){const {connection:_0x591756}=this['context']['plugins']['get'](n),_0x2f3e48=this['context']['plugins']['get']('CommentsRepository'),_0xe77b3=this['_services']['get'](_0x259b80),_0x215e02=await _0xe77b3['connect'](_0x591756);await this['_fetchMissingUsersForThreads'](_0x215e02);const _0x750871=new Set(Array['from'](_0x2f3e48['getCommentThreads']({'channelId':_0x259b80}),_0xce5086=>_0xce5086['id']));for(const _0x14cefe of _0x215e02)_0x14cefe['deletedAt']||_0x750871['delete'](_0x14cefe['commentThreadId']);for(const _0x3c039c of _0x750871)_0x2f3e48['getCommentThread'](_0x3c039c)['remove']({'isFromAdapter':!0x0});for(const _0x2e343c of _0x215e02){let _0xa5f6e=_0x2f3e48['getCommentThread'](_0x2e343c['commentThreadId']);const {commentThreadId:_0x52b5a1,context:_0x3aaa3b,attributes:_0x30a2c7,resolvedBy:_0x1c40e5,resolvedAt:_0x51bb6f,unlinkedAt:_0xc66867,deletedAt:_0x483208}=_0x2e343c;if(_0x483208)continue;_0xa5f6e||(_0xa5f6e=_0x2f3e48['addCommentThread']({'channelId':_0x259b80,'threadId':_0x52b5a1,'context':_0x3aaa3b,'attributes':_0x30a2c7||{},'resolvedBy':_0x1c40e5,'resolvedAt':_0x51bb6f,'unlinkedAt':_0xc66867,'isFromAdapter':!0x0}));const _0x599d93=new Set(Array['from'](_0xa5f6e['comments'],_0x47d6ff=>_0x47d6ff['id']));for(const _0x33ca38 of _0x2e343c['comments'])_0x599d93['delete'](_0x33ca38['commentId']);for(const _0x31f29a of _0x599d93)_0xa5f6e['getComment'](_0x31f29a)['remove']({'isFromAdapter':!0x0});for(const _0x438656 of _0x2e343c['comments']){const _0x4c6add=_0xa5f6e['getComment'](_0x438656['commentId']);_0x4c6add?_0x4c6add['content']!==_0x438656['content']&&_0x4c6add['update']({'content':_0x438656['content'],'isFromAdapter':!0x0}):_0xa5f6e['addComment'](Object['assign'](B(_0x438656),{'isFromAdapter':!0x0}));}}}['_getService'](_0x367120){if(!this['_services']['has'](_0x367120))throw new _0x57f413('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x367120});return this['_services']['get'](_0x367120);}async['_fetchMissingUsersForThreads'](_0x5941d2){const _0x3fd951=this['context']['plugins']['get'](_0x2683a2),{connection:_0x432a71}=this['context']['plugins']['get'](n),_0x23f351=new Set();for(const {resolvedBy:_0x382d62,comments:_0x21deda}of _0x5941d2){_0x382d62&&!_0x3fd951['getUser'](_0x382d62)&&_0x23f351['add'](_0x382d62);for(const {userId:_0x4c0f2a}of _0x21deda)_0x3fd951['getUser'](_0x4c0f2a)||_0x23f351['add'](_0x4c0f2a);}if(0x0===_0x23f351['size'])return;const _0x1b4270=await ct['getMany'](_0x432a71,Array['from'](_0x23f351));for(const _0x4fe8f8 of _0x1b4270)_0x3fd951['getUser'](_0x4fe8f8['id'])||_0x3fd951['addUser'](_0x4fe8f8);}}async function F(_0x57cbf5){if('404'!==_0x57cbf5['code'])throw _0x57cbf5;}function at(_0x15e857){if((_0xd4520d=_0x15e857)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xd4520d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xd4520d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xd4520d;throw _0x15e857;}function B(_0x26aaaa){return{'threadId':_0x26aaaa['commentThreadId'],'commentId':_0x26aaaa['commentId'],'content':_0x26aaaa['content'],'createdAt':_0x26aaaa['createdAt'],'authorId':_0x26aaaa['userId'],'attributes':_0x26aaaa['attributes']||{}};}class m extends _0x302365{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x5f17e4)());['_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(_0x2d43ea){super(_0x2d43ea);const _0x3c2416=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3c2416);}['init'](){const _0x5a4c47=this['editor']['plugins']['get'](n),_0x3161af=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3161af['adapter']={'getSuggestion':async _0x5ac84d=>{await this['_waitForServiceReady']();const _0x214bcc=await this['_trackChangesService']['get'](_0x5ac84d)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x214bcc]),_0x214bcc;},'addSuggestion':async({id:_0x473465,type:_0x4b56e9,data:_0x4aba18,originalSuggestionId:_0x1a1599,attributes:_0x5f3e23})=>{await this['_waitForServiceReady']();const _0x562145={'id':_0x473465,'type':_0x4b56e9,'data':_0x4aba18,'originalSuggestionId':_0x1a1599,'attributes':_0x5f3e23},_0x296399=await this['_trackChangesService']['add'](_0x473465,_0x4b56e9,_0x4aba18,_0x1a1599,_0x5f3e23)['catch'](_0xa3aab=>{if(ht(_0xa3aab))return new Promise(_0x4b8521=>{this['_bufferedRequests']['set'](_0x473465,{'resolve':_0x4b8521,'suggestionData':_0x562145});});throw _0xa3aab;});return this['_bufferedRequests']['delete'](_0x473465),_0x296399;},'updateSuggestion':async(_0x2d0143,_0x56fffa)=>{if(await this['_waitForServiceReady'](),'open'!==_0x56fffa['state'])return this['_trackChangesService']['update'](_0x2d0143,_0x56fffa)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5dbae9,_0x53dcaa)=>{_0x3161af['hasSuggestion'](_0x53dcaa['id'])&&(_0x3161af['getSuggestion'](_0x53dcaa['id'])['attributes']=_0x53dcaa['attributes']);}),this['_trackChangesService']['connect'](_0x5a4c47['connection'])['then'](_0x1e66b6=>(_0x5a4c47['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1e66b6)['then'](()=>{for(const _0x98354f of _0x1e66b6){_0x3161af['addSuggestionData'](_0x98354f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2f8ce2=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x12bf67}=this['editor']['plugins']['get'](n),_0x2d2fe4=await this['_trackChangesService']['connect'](_0x12bf67);await this['_fetchMissingUsersForThreads'](_0x2d2fe4);for(const {suggestionData:_0xec6f5d,resolve:_0x970b0a}of this['_bufferedRequests']['values']()){let _0x5d0cf5=_0x2d2fe4['find'](_0x18d058=>_0x18d058['id']===_0xec6f5d['id']);_0x5d0cf5||(_0x5d0cf5=await this['_trackChangesService']['add'](_0xec6f5d['id'],_0xec6f5d['type'],_0xec6f5d['data'],_0xec6f5d['originalSuggestionId'])),_0x970b0a(_0x5d0cf5);}for(const _0x27210f of _0x2d2fe4)_0x2f8ce2['hasSuggestion'](_0x27210f['id'])||_0x2f8ce2['addSuggestionData'](_0x27210f);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x27b6bc=>{this['listenTo'](this['_trackChangesService'],'connected',_0xa7169b=>{_0xa7169b['off'](),_0x27b6bc();});});}async['_fetchMissingUsersForThreads'](_0x18b2be){const _0x399928=this['editor']['plugins']['get'](_0x2683a2),{connection:_0x4facc5}=this['editor']['plugins']['get'](n),_0x3eb7ca=new Set();for(const {authorId:_0x5f5875}of _0x18b2be)_0x399928['getUser'](_0x5f5875)||_0x3eb7ca['add'](_0x5f5875);if(0x0===_0x3eb7ca['size'])return;const _0x325dbd=await ct['getMany'](_0x4facc5,Array['from'](_0x3eb7ca));for(const _0x35e7a8 of _0x325dbd)_0x399928['getUser'](_0x35e7a8['id'])||_0x399928['addUser'](_0x35e7a8);}}function k(_0x4dd87d){if(ht(_0x4dd87d))return new Promise(()=>{});throw _0x4dd87d;}function ht(_0x335c77){return _0x335c77['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x335c77['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x302365{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 _0x3fba96=this['editor']['plugins']['get'](n),_0x3bd451=this['editor']['plugins']['get']('CommentsEditing'),_0x14b01e=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3fba96,'change:state',(_0x37b3e0,_0x3e8901,_0xdec1db)=>{_0x3bd451['isThreadsLoadingPaused']='connected'!==_0xdec1db;});}),this['listenTo'](_0x3fba96,'change:state',(_0x142a09,_0x560a37,_0x697d59)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x697d59);}),_0x14b01e['_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 _0x302365{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 _0x302365{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x5cace5)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x2683a2];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x32bdde){super(_0x32bdde);const _0x3a5415=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x3a5415);}async['init'](){const _0x56bdbd=this['editor']['plugins']['get'](l),_0x3eaf37=_0x56bdbd['serverHistory'],_0x464ffc=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3eaf37,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x56bdbd['sessionId']});const _0x302478=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xb2f961=await _0x23e084['isBundleUploaded'](_0x464ffc['connection'],_0x302478);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xab8aff})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xab8aff)),'updateRevisions':async _0x309278=>{await this['_waitForServiceReady']();const _0x32965c=this['_revisionTracker']['currentRevision'];if(_0xb2f961&&0x1===_0x309278['length']&&_0x309278[0x0]['id']===_0x32965c['id'])return _0x309278;for(const _0x448918 of _0x309278)_0x448918['id']===_0x32965c['id']&&(_0x448918['isEmptyCurrent']=_0x448918['fromVersion']===_0x448918['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x309278,this['_lastRequestId'])['then'](_0x304dc4=>(this['_lastRequestId']=_0x304dc4,_0x309278))['catch'](_0x18e649=>{if(q(_0x18e649)||'400'===_0x18e649['code']&&void 0x0!==_0x18e649['data']['wrongRequestId']){for(const _0x180616 of _0x309278){!this['_revisionTracker']['repository']['getRevision'](_0x180616['id'])||this['_revisionTracker']['_bufferUpdate'](_0x180616['id'],_0x180616,!0x1);}if(q(_0x18e649))throw _0x18e649;return _0x309278;}throw _0x18e649;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x167a28,{revisionsData:_0x59122e,requestId:_0x1587fa})=>{Math['max'](..._0x59122e['map'](_0x4b2c35=>_0x4b2c35['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x59122e,_0x1587fa);}):this['_handleRevisionsUpdate'](_0x59122e,_0x1587fa);});const {revisions:_0x37a556,requestId:_0x50ce45}=await this['_revisionHistoryService']['connect'](_0x464ffc['connection']);_0x464ffc['addToReconnectionStack'](this),this['_lastRequestId']=_0x50ce45,await this['_fetchMissingUsers'](_0x37a556);for(const _0x1a8d86 of _0x37a556)this['_revisionTracker']['addRevisionData'](_0x1a8d86);this['listenTo'](_0x56bdbd,'change:_isConnected',(_0x51dd31,_0x267834,_0x5282b3)=>{_0x5282b3&&(this['_oldOffset']=_0x56bdbd['_offset'],_0x51dd31['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x464ffc,'state',_0x4f2d36=>_0x4f2d36===_0x4777ba['CONNECTED']);}async['reconnect'](){const _0x21a943=this['editor']['plugins']['get'](n),_0x1b0f83=this['editor']['plugins']['get'](l),_0x1a89f3=async()=>{const _0x5d1544=this['_revisionTracker']['currentRevision'],_0x4be4ad=_0x5d1544['id'],_0x9b78f6=_0x4be4ad!==_0x1b0f83['sessionId'];if(_0x9b78f6){const _0x2b33bb=_0x1b0f83['_offset']-this['_oldOffset'],_0xe9e941=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5d1544['toVersion']+_0x2b33bb!==_0xe9e941){const _0x59451d=_0x5d1544['fromVersion']+_0x2b33bb,_0x301869=this['editor']['plugins']['get'](_0x2683a2),_0x161eb7=this['_revisionTracker']['buildRevisionData']({'revision':_0x5d1544,'from':_0x59451d,'to':_0xe9e941});_0x161eb7['id']=_0x5d1544['id'];const _0x593949=_0x161eb7['authorsIds']['map'](_0x1f6869=>_0x301869['getUser'](_0x1f6869));_0x5d1544['_update']({..._0x161eb7,'authors':_0x593949},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5d1544['id'],_0x161eb7,!0x0);}this['_revisionTracker']['_startingVersion']=_0xe9e941,(_0x5d1544['toVersion']===_0x5d1544['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4be4ad)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4be4ad),this['_revisionTracker']['_createCurrentRevision'](_0xe9e941));}const {revisions:_0x1ef87a,requestId:_0x439a53}=await this['_revisionHistoryService']['reconnect'](_0x21a943['connection'],this['_lastRequestId']);_0x9b78f6&&_0x1ef87a['length']>0x0?_0x1b0f83['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1ef87a),this['_handleRevisionsUpdate'](_0x1ef87a,_0x439a53),this['_revisionTracker']['sendBufferedUpdates']());};return _0x1b0f83['_isConnected']?_0x1a89f3():new Promise((_0x331908,_0x99ed30)=>{_0x1b0f83['once']('change:_isConnected',()=>{_0x1a89f3()['then'](_0x331908)['catch'](_0x99ed30);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1c2cfa=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2c533e=>{_0x2c533e['off'](),_0x1c2cfa();});});}['_getLatestVersionFromServerOperations'](){const _0x1b9969=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x12f7c5 of _0x1b9969)if('marker'!==_0x12f7c5['type']||_0x12f7c5['affectsData'])return _0x12f7c5['baseVersion']+0x1;}['_getLatestVersion'](){const _0x7b26f9=this['editor']['plugins']['get'](l);return new Promise(_0x16e56f=>{_0x7b26f9['_isPendingUpdate']?_0x7b26f9['once']('change:_isPendingUpdate',()=>{_0x16e56f(this['_getLatestVersionFromServerOperations']());}):_0x16e56f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x279540,_0x1d67bd){const _0xd7dfb0=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1d67bd;for(const _0x124d30 of _0x279540){const _0x376711=_0xd7dfb0['getRevision'](_0x124d30['id']);if(_0x376711){if((_0x124d30['fromVersion']||_0x124d30['toVersion'])&&(_0x124d30['diffData']=null),_0x376711===this['_revisionTracker']['currentRevision']){const _0x3449f4=Math['max'](_0x376711['toVersion'],_0x124d30['toVersion']),_0x5dd0aa=Math['max'](_0x376711['fromVersion'],_0x124d30['fromVersion']);let _0x57e107;_0x376711['toVersion']===_0x124d30['toVersion']&&_0x376711['fromVersion']===_0x124d30['fromVersion']?(_0x57e107=!0x0,this['_preventResendingRevisionData'](_0x124d30)):_0x124d30['toVersion']===_0x3449f4&&_0x124d30['fromVersion']===_0x5dd0aa?_0x57e107=!0x1:(_0x376711['toVersion']===_0x3449f4&&_0x376711['fromVersion']===_0x5dd0aa||this['_fixRevision']({'revision':_0x376711,'from':_0x5dd0aa,'to':_0x3449f4}),_0x57e107=!0x0),_0x57e107&&(delete _0x124d30['fromVersion'],delete _0x124d30['toVersion'],delete _0x124d30['diffData'],delete _0x124d30['createdAt'],delete _0x124d30['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x124d30),this['_preventResendingRevisionData'](_0x124d30);}else this['_revisionTracker']['addRevisionData'](_0x124d30);}const _0xd819cd=_0xd7dfb0['getRevisions']();_0xd819cd['reverse']();for(let _0x1a1b76=0x0;_0x1a1b76<_0xd819cd['length']-0x1;_0x1a1b76++){const _0x526882=_0xd819cd[_0x1a1b76],_0x1ca942=_0xd819cd[_0x1a1b76+0x1];if(_0x526882['fromVersion']<_0x1ca942['toVersion']){const _0x42d77e=_0x1ca942['toVersion'],_0x103c0e=Math['max'](_0x42d77e,_0x526882['toVersion']);this['_fixRevision']({'revision':_0x526882,'from':_0x42d77e,'to':_0x103c0e});}}}['_fixRevision']({revision:_0x5bffb4,from:_0x278a67,to:_0x131710}={}){const _0x1d0037=this['editor']['plugins']['get'](_0x2683a2),_0x41a89b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5bffb4,'from':_0x278a67,'to':_0x131710});_0x41a89b['authors']=_0x41a89b['authorsIds']['map'](_0x26a6a0=>_0x1d0037['getUser'](_0x26a6a0)),_0x5bffb4['_update'](_0x41a89b);}['_preventResendingRevisionData'](_0x3af702){const _0x47d25f={};_0x47d25f['id']=_0x3af702['id'];for(const _0x52cdd4 of Object['keys'](_0x3af702))'id'!==_0x52cdd4&&(_0x47d25f[_0x52cdd4]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x47d25f['id'],_0x47d25f,!0x0);}async['_fetchMissingUsers'](_0xffbec5){const _0x156003=this['editor']['plugins']['get'](_0x2683a2),{connection:_0x1fe0e7}=this['editor']['plugins']['get'](n),_0xa9a88d=new Set();for(const _0x3719ba of _0xffbec5){for(const _0x47b5c0 of _0x3719ba['authorsIds'])_0x430e71(_0x47b5c0);_0x3719ba['creatorId']&&_0x430e71(_0x3719ba['creatorId']);}if(0x0===_0xa9a88d['size'])return;const _0x1745d2=await ct['getMany'](_0x1fe0e7,Array['from'](_0xa9a88d));for(const _0x56aeca of _0x1745d2)_0x156003['getUser'](_0x56aeca['id'])||_0x156003['addUser'](_0x56aeca);function _0x430e71(_0x5f5c1c){_0x156003['getUser'](_0x5f5c1c)||_0xa9a88d['add'](_0x5f5c1c);}}}function q(_0x200a5f){return _0x200a5f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x200a5f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x200a5f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x302365{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 _0x5a7c8c{['_collapseAt'];constructor(_0x331552,_0xded3=0x6){super(_0x331552);const _0x3092dd=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0xded3,this['bind']('isHidden')['to'](this,'usersCount',_0x4f42d0=>_0x4f42d0<_0xded3),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3092dd['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':_0x3092dd['to']('usersCount',_0x1e6c67=>'+'+(_0x1e6c67-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x5a7c8c{['items'];['keystrokes'];constructor(_0x2fa64b){super(_0x2fa64b);const _0x13732=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x18f030(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x13732['if']('hasPopup'),'aria-expanded':_0x13732['to']('isExpanded',_0x26e522=>this['hasPopup']&&String(_0x26e522)),'aria-label':_0x13732['to']('hasPopup',_0x39308a=>K(_0x2fa64b,_0x39308a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x13732['to']('hasPopup',_0xebe7db=>!!_0xebe7db&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x13732['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x13732['to'](_0x52f8c7=>{const _0x234d2f=_0x52f8c7,_0x3b5279=document['querySelector']('.ck-presence-list__dropdown-list'),_0x213c1c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3b5279?.['contains'](_0x234d2f['relatedTarget'])||_0x213c1c?.['contains'](_0x234d2f['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x54c14e,_0x5d8461,_0x23ad0c)=>{this['element']&&(_0x23ad0c?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 _0x5a7c8c{['counterView'];['inlineListView'];constructor(_0x2a4e81,_0x263481=0x6){super(_0x2a4e81);const _0x531ad2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x263481),this['inlineListView']=new is(_0x2a4e81),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x501523 of this['inlineListView']['items'])_0x501523['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',_0x531ad2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x5a7c8c{['listWrapperView'];constructor(_0x452b1f,_0x3f7327){super(_0x452b1f);const _0x361adb=this['bindTemplate'];this['listWrapperView']=new ut(_0x452b1f,_0x3f7327),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x452b1f,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x361adb['to'](_0x2cadca=>{const _0x5e6822=_0x2cadca,_0x4b5751=document['querySelector']('.ck-presence-list__list'),_0x4dab55=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4b5751?.['contains'](_0x5e6822['relatedTarget'])||_0x4dab55?.['contains'](_0x5e6822['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x1fbfd9{constructor(_0x91cd1c,_0xd6eaa6){super(_0x91cd1c);const _0x5b629d=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xd6eaa6?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5b629d['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5b629d['to']('role'),'aria-label':_0x5b629d['to']('ariaLabel'),'aria-labelledby':_0x5b629d['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x54f381['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x53287b=this['element'];_0x53287b&&(this['_isScrollable']=Math['max'](_0x53287b['scrollHeight'],_0x53287b['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x5b3ad4,_0x2c6196,_0x2bd954){super(_0x5b3ad4);const _0x45dfbe=this['bindTemplate'];this['userView']=new st(_0x5b3ad4,_0x2c6196);const _0x1cc54b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2c6196['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2c6196['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2c6196['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2bd954&&(_0x1cc54b['tag']='button',_0x1cc54b['on']={'click':_0x45dfbe['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1cc54b);}['focus'](){this['element']['focus']();}}class A extends _0x5a7c8c{['userView'];['markerView'];constructor(_0x1d01fb,_0x48b888,_0x70d4b0){super(_0x1d01fb);const _0x41c644=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x1d01fb,_0x48b888),this['markerView']=new ot(_0x1d01fb,_0x48b888);const _0x17f78b=new it(_0x1d01fb);_0x17f78b['template']['tag']='span',_0x17f78b['text']=_0x48b888['name'];const _0x366ddb={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x41c644['to']('isFocusable',_0x3d524=>!!_0x3d524&&0x0),'aria-labelledby':_0x17f78b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x41c644['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x41c644['to']('hasTooltip',_0x1e3488=>!_0x1e3488),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x17f78b]};_0x70d4b0&&(_0x366ddb['tag']='button',_0x366ddb['on']={'click':_0x41c644['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x366ddb);}}class ot extends _0x5a7c8c{constructor(_0x543475,_0x2eea32){super(_0x543475),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2eea32['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2d811c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3f2369){super(_0x3f2369),this['context']['config']['define']('presenceList',x);const _0x261cfb=_0x3f2369['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x261cfb)throw new _0x57f413('presencelist-collapseat-invalid-format',this);if(_0x261cfb<0x1)throw new _0x57f413('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5538c8(),this['balloonPanelView']=new _0x3b85f5(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2314a5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2314a5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x43eb26,_0x4ea937)=>{this['_handleUserAdd'](_0x4ea937);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x125e2a,_0x23b398)=>{this['_handleUserRemove'](_0x23b398);});}['_createView'](){const _0x14bb94=this['context'],_0x412a5a=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1c7589=this['balloonPanelView'];if(!_0x2c0363(_0x14bb94['config']['get']('presenceList.container')))throw new _0x57f413('presencelist-missing-container',this);return _0x412a5a['counterView']['bind']('usersCount')['to'](this),_0x412a5a['bind']('isCollapsed')['to'](this,'usersCount',_0x2c09dd=>{const {collapseAt:_0x14f142}=_0x14bb94['config']['get']('presenceList'),_0x7dd8a9=_0x2c09dd>=_0x14f142;if(_0x7dd8a9&&!_0x412a5a['inlineListView']['items']['find'](_0x5a4f0c=>_0x5a4f0c instanceof b)){const _0x380d03=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x380d03&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x412a5a['inlineListView']['items']['add'](_0x412a5a['counterView']);}return _0x7dd8a9||this['hideDropdown'](),_0x7dd8a9;}),_0x412a5a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2e327b=>{const _0x9d72cf=_0x14bb94['config']['get']('presenceList'),_0x5011d5=new A(_0x14bb94['locale'],_0x2e327b,!!_0x9d72cf['onClick']);return _0x5011d5['bind']('hasTooltip')['to'](_0x412a5a,'isCollapsed',_0x24c877=>!_0x24c877),_0x5011d5['bind']('isFocusable')['to'](_0x412a5a,'isCollapsed',_0x5400ff=>!_0x5400ff),_0x9d72cf['onClick']&&this['listenTo'](_0x5011d5,'execute',()=>{this['view']['isCollapsed']||_0x9d72cf['onClick'](_0x2e327b,_0x5011d5['element']);}),_0x5011d5;}),this['listenTo'](_0x412a5a['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x412a5a['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x412a5a['inlineListView']['keystrokes']['set']('Enter',(_0x473b30,_0x5c7e63)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5c7e63());}),_0x412a5a['render'](),_0x1c7589['render'](),_0x58304e({'emitter':_0x412a5a,'activator':()=>_0x1c7589['isVisible'],'contextElements':[_0x1c7589['element'],_0x412a5a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x14bb94['config']['get']('presenceList.container')['appendChild'](_0x412a5a['element']),this['_bodyCollection']=new _0x565468(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x412a5a;}['_handleUserAdd'](_0x4ae91a){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4ae91a['isMe'])return;const _0x59da95=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x59da95-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x332a2d=_0x4ae91a['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4ae91a,_0x332a2d);}['_handleUserRemove'](_0x16539c){this['usersCount']--;const {collapseAt:_0xc2e38d}=this['context']['config']['get']('presenceList'),_0x4e2e6b=this['usersCount']>=_0xc2e38d;if(this['currentDisplayedUsers']['get'](_0x16539c['id']))this['currentDisplayedUsers']['remove'](_0x16539c['id']);else{if(_0x4e2e6b&&this['currentDisplayedUsers']['length']+0x1===_0xc2e38d-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4e2e6b?0x1:0x0)<this['usersCount']){for(const _0x3a141e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3a141e['id'])&&(this['currentDisplayedUsers']['add'](_0x3a141e,Math['min'](this['currentDisplayedUsers']['length']-(_0x4e2e6b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4e2e6b?0x1:0x0)===_0xc2e38d-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x490c84=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x490c84['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x17fde9}=this['presenceDropdownView'];_0x17fde9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x595bb9=>{if(!_0x490c84['displayMe']&&_0x595bb9['isMe'])return null;const _0x13889a=new j(this['context']['locale'],_0x595bb9,!!_0x490c84['onClick']);return _0x490c84['onClick']&&this['listenTo'](_0x13889a,'execute',()=>{_0x490c84['onClick'](_0x595bb9,_0x13889a['element']);}),_0x13889a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x17fde9['focus'](),_0x17fde9['checkIfScrollable']();const _0x1f62d1=(_0x51f8a7,_0x3edff7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3edff7();};_0x17fde9['keystrokes']['set']('Esc',_0x1f62d1),_0x17fde9['keystrokes']['set']('Shift+Tab',_0x1f62d1),_0x17fde9['keystrokes']['set']('Tab',(_0x5d24d4,_0x47db34)=>{!function(_0x1e47e9){const _0x1ebb66=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1334a9=>_0x1334a9+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5e0241=[...document['body']['querySelectorAll'](_0x1ebb66)]['filter'](_0x454950=>_0x454950===document['activeElement']||_0x454950['offsetWidth']+_0x454950['offsetHeight']>0x0)['sort']((_0x1a3b83,_0x239fc8)=>(_0x1a3b83['tabIndex']||0x0)-(_0x239fc8['tabIndex']||0x0)),_0xc1369b=_0x5e0241['indexOf'](_0x1e47e9),_0x350c5b=_0x5e0241[(_0xc1369b+0x1)%_0x5e0241['length']];_0x350c5b&&_0x350c5b['focus']();}(this['view']['element']),this['hideDropdown'](),_0x47db34();}),_0x17fde9['focusTracker']['add'](this['view']['element']),_0x17fde9['focusTracker']['on']('change:isFocused',(_0x36af27,_0x2d556b,_0x2e8c3b)=>{_0x2e8c3b||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 _0x2d811c{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 _0xa0a9ec,Plugin as _0x4edcf1,PendingActions as _0x46588f,Context as _0x167299}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x340059,CKEditorError as _0x21fa12,Collection as _0x2c863a,global as _0x274993,version as nt,uid as _0xa6257d,KeystrokeHandler as _0x4c3498}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3cff3d,View as _0x50a2fd,ListView as _0x47392b,ListItemView as et,LabelView as it,BalloonPanelView as _0x5b36ff,clickOutsideHandler as _0x2723a3,BodyCollection as _0x5a4715}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x9f50e9,History as _0x191b51,NoOperation as _0x1217d9,InsertOperation as _0x5d5652,MarkerOperation as _0x2c727b,RootAttributeOperation as _0x208e95,transformOperationSets as _0x45e26d,OperationFactory as _0x88c11e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x25a895,CollaborativeEditingService as _0x467e77,User as ct,CommentsService as _0x360dc4,TrackChangesService as tt,RevisionHistoryService as _0x3326f7,EditorService as _0x5a159d}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5926ab,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3e0e91}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1e73ad}from'es-toolkit/compat';class n extends _0xa0a9ec{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3cff3d];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d16de){super(_0x1d16de),this['set']('state',_0x25a895['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x340059())();}['init'](){const _0x2b6f9b=this['context'],_0x4acdda=_0x2b6f9b['plugins']['get']('CloudServices'),_0x5a5faf=_0x2b6f9b['plugins']['get'](_0x3cff3d);if(!_0x4acdda['token'])throw new _0x21fa12('websocketgateway-missing-token',this);if(!_0x4acdda['webSocketUrl'])throw new _0x21fa12('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'](_0x4acdda['token'],_0x4acdda['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x331ac4=>{if(this['connection']=_0x331ac4,this['bind']('state')['to'](_0x331ac4,'state',this,'_isBrowserOffline',(_0x3f46e6,_0x499eda)=>('connected'!==_0x3f46e6&&(this['_shouldPluginsReconnect']=!0x0),_0x499eda||_0x3f46e6!==_0x25a895['CONNECTED']?_0x25a895['DISCONNECTED']:this['state']==_0x25a895['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x25a895['CONNECTING']):_0x25a895['CONNECTED'])),this['connection']['on']('error',(_0x4d07e0,_0xcbb12b)=>{if('limitExceeded'!==_0xcbb12b['code'])throw console['error'](_0xcbb12b),new _0x21fa12('cloudservices-init',null,{'originalError':_0xcbb12b});_0x5a5faf['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'});}),!_0x331ac4['me'])return new Promise(_0x4c7a73=>_0x331ac4['on']('change:me',_0x4c7a73));})['catch'](_0x999689=>{throw console['error'](_0x999689),new _0x21fa12('cloudservices-init',null,{'originalError':_0x999689});});}['addToReconnectionStack'](_0x1ab457){if('function'!=typeof _0x1ab457['reconnect'])throw new _0x21fa12('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1ab457))throw new _0x21fa12('websocketgateway-plugin-already-registered',this,{'name':_0x1ab457['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1ab457);}['removeFromReconnectionStack'](_0x26249e){this['_reconnectionStack']['delete'](_0x26249e);}['isInReconnectionStack'](_0xba818c){return this['_reconnectionStack']['has'](_0xba818c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4a7366=>_0x4a7366['reconnect']())))['then'](()=>this['state']=_0x25a895['CONNECTED'])['catch'](_0x8f1586=>{throw console['error'](_0x8f1586),new _0x21fa12('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x25a895['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0xa0a9ec{['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,_0x5926ab];}constructor(_0x7db9dd){super(_0x7db9dd),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c863a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5926ab);}['init'](){const _0x27243f=this['context']['plugins']['get'](n);this['listenTo'](_0x27243f,'change:state',(_0x2c71e7,_0x592bb9,_0x2df524)=>{if('connected'!==_0x2df524)this['channelSessions']['forEach'](_0x24873d=>_0x24873d['clear']()),this['channelConnectedUsers']['forEach'](_0xaf5617=>_0xaf5617['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x42061d,_0x291a76]of this['_registeredSessions'])for(const _0x48f048 of _0x291a76)this['_handleSessionAdd'](_0x42061d,_0x48f048);}}),this['_createUser'](_0x27243f['connection']['me'],!0x0);}['register'](_0x54ca66,_0x1c7271){if(this['_registeredSessions']['has'](_0x54ca66))throw new _0x21fa12('sessions-register-already-registered',null,{'channelId':_0x54ca66});this['_registeredSessions']['set'](_0x54ca66,_0x1c7271),this['channelSessions']['set'](_0x54ca66,new _0x2c863a()),this['channelConnectedUsers']['set'](_0x54ca66,new _0x2c863a()),this['listenTo'](_0x1c7271,'add',(_0x32a6d8,_0x257ae9)=>this['_handleSessionAdd'](_0x54ca66,_0x257ae9)),this['listenTo'](_0x1c7271,'remove',(_0x17b8e0,_0x4103a3)=>this['_handleSessionRemove'](_0x54ca66,_0x4103a3));for(const _0x321115 of _0x1c7271)this['_handleSessionAdd'](_0x54ca66,_0x321115);}['unregister'](_0x2b17f0){if(!this['_registeredSessions']['has'](_0x2b17f0))throw new _0x21fa12('sessions-unregister-not-exist',null,{'channelId':_0x2b17f0});const _0x7146be=this['_registeredSessions']['get'](_0x2b17f0);this['stopListening'](_0x7146be);for(const _0x5d37a1 of _0x7146be)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2b17f0,_0x5d37a1);this['_registeredSessions']['delete'](_0x2b17f0),this['channelSessions']['delete'](_0x2b17f0),this['channelConnectedUsers']['delete'](_0x2b17f0);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x4d56c6){for(const _0x22eb35 of this['channelSessions']['values']())for(const _0x1dc6a8 of _0x22eb35)if(_0x1dc6a8['id']===_0x4d56c6)return _0x1dc6a8['user'];}['getUserSessions'](_0x140fa8,_0x104a24){const _0xabdd02=_0x104a24?[this['channelSessions']['get'](_0x104a24)]:this['channelSessions']['values'](),_0x4ecd4c=new Set();for(const _0x203ffe of _0xabdd02)for(const _0x3d3d8d of _0x203ffe)_0x3d3d8d['user']['id']===_0x140fa8['id']&&_0x4ecd4c['add'](_0x3d3d8d['id']);return _0x4ecd4c;}['getUserRole'](_0xc15853){for(const _0x3032f5 of this['channelSessions']['values']())for(const _0x36728a of _0x3032f5)if(_0x36728a['user']===_0xc15853)return _0x36728a['role'];}['_handleSessionAdd'](_0x35cecd,_0x26889a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1fa627=_0x26889a['user'],_0x21b5eb=this['_users']['getUser'](_0x1fa627['id'])||this['_createUser'](_0x1fa627),_0x4b4f92=Object['assign']({},_0x26889a,{'user':_0x21b5eb});this['channelSessions']['get'](_0x35cecd)['add'](_0x4b4f92);const _0x574d99=this['channelConnectedUsers']['get'](_0x35cecd);_0x574d99['has'](_0x21b5eb['id'])||_0x574d99['add'](_0x21b5eb),this['allConnectedUsers']['has'](_0x21b5eb['id'])||this['allConnectedUsers']['add'](_0x21b5eb,_0x21b5eb['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x35cecd,{'channelId':_0x35cecd,'session':_0x4b4f92});}['_handleSessionRemove'](_0x1049d9,_0x328cc9){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x11c14b=this['channelConnectedUsers']['get'](_0x1049d9),_0x5df6c4=_0x328cc9['user'];_0x5df6c4['id']&&(this['channelSessions']['get'](_0x1049d9)['remove'](_0x328cc9['id']),_0x11c14b['has'](_0x5df6c4['id'])&&!this['getUserSessions'](_0x5df6c4,_0x1049d9)['size']&&_0x11c14b['remove'](_0x5df6c4['id']),this['allConnectedUsers']['get'](_0x5df6c4['id'])&&!this['getUserSessions'](_0x5df6c4)['size']&&this['allConnectedUsers']['remove'](_0x5df6c4['id']));}['_createUser'](_0x3888b2,_0x5a97f){const _0x181585=this['_users']['addUser'](_0x3888b2);return _0x5a97f&&this['_users']['defineMe'](_0x3888b2['id']),_0x181585['orderNumber']=this['_uniqueUsersCount']++,_0x181585;}}class G extends _0x4edcf1{['_domEmitter']=new(_0x340059())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x23de68=this['editor'],_0x5d01bc=_0x23de68['plugins']['get'](i);_0x23de68['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5e3ee6,{writer:_0x49c7ab})=>function(_0x2d0c35,_0x2b9408,_0x5cd877,_0x58f353){const _0x35b545=_0x2d0c35['markerName']['split'](':')[0x2],_0x5403dd=_0x5cd877['getUserBySessionId'](_0x35b545);if(!_0x5403dd||_0x35b545===_0x5cd877['mySessionId'])return;if(!_0x58f353['model']['schema']['checkChild'](_0x2d0c35['markerRange']['start'],'$text'))return;const _0x4bb384={'class':'ck-user__marker\x20'+_0x5403dd['color']['getMarkerClass'](),'data-name':_0x5403dd['name'],'data-session-id':_0x35b545},_0x46316d=_0x58f353['model']['markers']['get'](_0x2d0c35['markerName']),_0x108b14=_0x46316d['getStart'](),_0x3e3166=_0x108b14['nodeAfter'],_0x9f6705=_0x58f353['model']['schema'];if(_0x3e3166&&_0x9f6705['isObject'](_0x3e3166)&&_0x9f6705['isInline'](_0x3e3166)&&!_0x58f353['model']['markers']['get']('user:range:'+_0x35b545)['getRange']()['isCollapsed'])return;const _0x5cc7d4=_0x108b14['parent'];return _0x58f353['model']['schema']['isLimit'](_0x5cc7d4)&&!_0x58f353['model']['hasContent'](_0x5cc7d4)&&(_0x4bb384['contenteditable']=!0x1),function(_0x161b4c,_0x5328ab,_0x54cb95){const _0x319c37=_0x161b4c['createUIElement']('span',_0x5328ab);return _0x161b4c['setCustomProperty']('userPositionMarker',!0x0,_0x319c37),_0x319c37['render']=function(_0x4ff178){const _0x5a304c=this['toDomElement'](_0x4ff178),_0x53062d=document['createElement']('span');return _0x53062d['classList']['add']('ck-user__marker-tooltip'),_0x53062d['setAttribute']('contenteditable','false'),_0x53062d['setAttribute']('spellcheck','false'),_0x53062d['textContent']=_0x54cb95['name'],_0x5a304c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x53062d['outerHTML']+'⁠',_0x5a304c['addEventListener']('mouseenter',()=>{_0x5a304c['classList']['add']('ck-user__marker_hovered');}),_0x5a304c['addEventListener']('mouseleave',()=>{_0x5a304c['classList']['remove']('ck-user__marker_hovered');}),_0x5a304c;},_0x319c37['isSimilar']=function(_0x4ab081){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4ab081['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4ab081['getAttribute']('data-session-id'));},_0x319c37;}(_0x2b9408,_0x4bb384,_0x5403dd);}(_0x5e3ee6,_0x49c7ab,_0x5d01bc,_0x23de68)}),_0x23de68['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x8075c3=>function(_0x3da46c,_0x41c612){const _0x38aaa7=_0x3da46c['markerName']['split'](':')[0x2];if(_0x38aaa7===_0x41c612['mySessionId'])return null;const _0x27e717=_0x41c612['getUserBySessionId'](_0x38aaa7);if(!_0x27e717)return{'id':_0x38aaa7,'classes':[]};return{'id':_0x38aaa7,'classes':['ck-user__selection',_0x27e717['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x38aaa7},'priority':0x7d0+_0x27e717['orderNumber']};}(_0x8075c3,_0x5d01bc)}),function(_0x34ebca){const _0x1d3eca=_0x34ebca['model'],_0x190dff=new Map(),_0x3e017d=_0x34ebca['plugins']['get'](i);_0x1d3eca['markers']['on']('update:user:range',(_0x7b7243,_0x56bc38,_0x330a99,_0x4ba947)=>{if(!_0x4ba947&&_0x190dff['get'](_0x56bc38['name']))return _0x190dff['get'](_0x56bc38['name'])['detach'](),void _0x190dff['delete'](_0x56bc38['name']);const _0x790dc7=_0x56bc38['name']['split'](':')[0x2];if(_0x790dc7===_0x3e017d['mySessionId'])return;const _0x42910e='user:position:'+_0x790dc7;_0x1d3eca['markers']['has'](_0x42910e)&&_0x34ebca['editing']['reconvertMarker'](_0x42910e),_0x56bc38['on']('change:range',(_0x2a98c9,_0x30486d,_0xf7d200)=>{if('$graveyard'!=_0x30486d['root']['rootName']&&'$graveyard'==_0x56bc38['getRange']()['root']['rootName']&&!_0x190dff['has'](_0x56bc38['name'])){const _0x695f9c=_0x1d3eca['schema']['getNearestSelectionRange'](_0xf7d200['deletionPosition']);if(_0x695f9c){const _0x3e0d01=_0x9f50e9['fromRange'](_0x695f9c);_0x190dff['set'](_0x56bc38['name'],_0x3e0d01),_0x3e0d01['on']('change:range',(_0x51af86,_0x25adb5,_0x4fa6d5)=>{if('$graveyard'==_0x3e0d01['root']['rootName']){const _0x56001e=_0x1d3eca['schema']['getNearestSelectionRange'](_0x4fa6d5['deletionPosition']);_0x56001e?(_0x3e0d01['start']=_0x56001e['start'],_0x3e0d01['end']=_0x56001e['end']):(_0x190dff['delete'](_0x56bc38['name']),_0x3e0d01['detach']());}});}}});}),_0x1d3eca['document']['on']('change',()=>{_0x190dff['size']>0x0&&_0x1d3eca['enqueueChange']({'isUndoable':!0x1},_0x1ee2f3=>{for(const [_0x12fa29,_0x319845]of _0x190dff)'$graveyard'==_0x1d3eca['markers']['get'](_0x12fa29)['getRange']()['root']['rootName']&&(te(_0x12fa29['split'](':')[0x2],_0x319845['toRange'](),_0x1d3eca,_0x1ee2f3),_0x319845['detach']());_0x190dff['clear']();});});}(_0x23de68),this['_domEmitter']['listenTo'](_0x274993['document'],'keydown',(_0x1206e9,{key:_0x462bb6})=>{'Escape'===_0x462bb6&&function(_0x5a4cee){_0x5a4cee['editing']['view']['change'](_0x52df26=>{for(const _0x2d605d of _0x5a4cee['model']['markers']){if(!_0x2d605d['name']['startsWith']('user:position'))continue;const _0x269615=_0x5a4cee['editing']['mapper']['markerNameToElements'](_0x2d605d['name']);if(_0x269615){for(const _0xf37cf7 of _0x269615)_0x52df26['removeClass']('ck-user__marker_hovered',_0xf37cf7);}}});}(_0x23de68);},{'useCapture':!0x0});}['afterInit'](){const _0x37462c=this['editor'],_0x349e03=_0x37462c['commands']['get']('undo');_0x349e03&&_0x37462c['model']['on']('applyOperation',(_0x1ad36e,_0x1a1079)=>{const _0x1a1be5=_0x1a1079[0x0];if(!_0x1a1be5['isDocumentOperation'])return;if('marker'!=_0x1a1be5['type']||!_0x1a1be5['name']['startsWith']('user:'))return;const _0x3f9871=_0x1a1be5['batch'];_0x349e03['_createdBatches']['has'](_0x3f9871)&&(_0x1a1be5['newRange']=_0x1a1be5['oldRange']?_0x37462c['model']['createRange'](_0x1a1be5['oldRange']['start'],_0x1a1be5['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x271192=this['editor'],_0x205b1c=_0x271192['model']['document'],_0x4e10a7=_0x271192['plugins']['get'](i);_0x271192['model']['enqueueChange']({'isUndoable':!0x1},_0x41015b=>{const _0x5b0dc5='user:range:'+_0x4e10a7['mySessionId'],_0x354566='user:position:'+_0x4e10a7['mySessionId'],_0x1d5563=_0x271192['model']['markers']['has'](_0x5b0dc5);_0x271192['editing']['view']['hasDomSelection']?te(_0x4e10a7['mySessionId'],_0x205b1c['selection']['getFirstRange'](),_0x271192['model'],_0x41015b):_0x1d5563&&(_0x41015b['removeMarker'](_0x5b0dc5),_0x41015b['removeMarker'](_0x354566));});}}function te(_0x593889,_0x371bf9,_0x5e3163,_0xdeb702){const _0x4aa15c='user:range:'+_0x593889,_0x4c58ba='user:position:'+_0x593889,_0x2f769e=_0x371bf9['getContainedElement']();let _0x3ae629=_0x371bf9['start'];if(_0x2f769e&&_0x2f769e['is']('element','tableCell')){const _0x3d48e1=function(_0x1db97e,_0x2a0b72){for(const _0xef80d0 of _0x1db97e['getPositions']())if(_0x2a0b72['schema']['checkChild'](_0xef80d0,'$text'))return _0xef80d0;}(_0x371bf9,_0x5e3163);_0x3d48e1&&(_0x3ae629=_0x3d48e1,_0x371bf9=_0xdeb702['createRange'](_0x3ae629));}const _0x2ec0ff=_0xdeb702['createRange'](_0x3ae629);_0x5e3163['markers']['has'](_0x4aa15c)?(_0xdeb702['updateMarker'](_0x4aa15c,{'range':_0x371bf9}),_0xdeb702['updateMarker'](_0x4c58ba,{'range':_0x2ec0ff})):(_0xdeb702['addMarker'](_0x4aa15c,{'range':_0x371bf9,'usingOperation':!0x0}),_0xdeb702['addMarker'](_0x4c58ba,{'range':_0x2ec0ff,'usingOperation':!0x0}));}function $(_0x45f15c,_0x2b2b6c,_0x1c84a4){const _0x5a61ac=_0x45f15c['t'],t=_0x45f15c['t'];switch(_0x2b2b6c){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 _0x5a61ac({'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'},_0x1c84a4);default:return'';}}let Q=0x1;class l extends _0x4edcf1{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x467e77)());['_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,_0x46588f,_0x5926ab,_0x3cff3d];}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 _0x4aadf0=this['serverHistory']['getOperations']();for(let _0x34497d=_0x4aadf0['length']-0x1;_0x34497d>=0x0;_0x34497d--){const _0x44229c=_0x4aadf0[_0x34497d];if(!this['_disconnectionOperations']['has'](_0x44229c))return _0x44229c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x51c6af){if(super(_0x51c6af),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x191b51(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x21fa12('collaboration-missing-channelid',this);const _0x3f78f6=_0x51c6af['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3f78f6,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3e0e91(),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 _0xdcb5d5=this['editor'],_0x39ffac=_0xdcb5d5['plugins']['get'](_0x5926ab),_0x3a73aa=_0xdcb5d5['plugins']['get'](n);this['listenTo'](_0x39ffac,'getOperationAuthor',(_0x5ef5bc,_0x3cf6ef)=>{const _0x4a8709=_0x3cf6ef[0x0];_0x4a8709['_authorId']&&(_0x5ef5bc['return']=_0x39ffac['getUser'](_0x4a8709['_authorId']),_0x5ef5bc['stop']()),null===_0x4a8709['_authorId']&&(_0x5ef5bc['return']=null,_0x5ef5bc['stop']());},{'priority':'high'}),this['listenTo'](_0xdcb5d5['model']['document']['selection'],'change:range',(_0x2c0a59,_0x5c62bf)=>{_0x5c62bf['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xdcb5d5['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xdcb5d5['model']['on']('applyOperation',(_0x598981,_0x191750)=>{const _0x1213d6=_0x191750[0x0];_0x1213d6['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1213d6),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3a73aa,'state',this,'_hasSynchronizationProblem',(_0x4bbfc8,_0x45efcd)=>'connected'===_0x4bbfc8&&!_0x45efcd),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xdcb5d5['disableReadOnlyMode']('rtc-offline'):_0xdcb5d5['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xdcb5d5['disableReadOnlyMode']('rtc-offline'):_0xdcb5d5['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a9ad1=this['editor']['plugins']['get'](i),_0x1aa730=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2a9ad1['unregister'](this['_channelId']);const _0x31dde7=await this['_service']['reconnect'](_0x1aa730['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x31dde7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x560f10=await this['_service']['getConnectedSessions']();_0x2a9ad1['register'](this['_channelId'],_0x560f10),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x263654){if(function(_0x561cf1){return'404'===_0x561cf1['code'];}(_0x263654)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x46b8fb){return'409'===_0x46b8fb['code'];}(_0x263654)){const _0x16d85f=$(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'](_0x16d85f);}else{if(!(_0x263654 instanceof X))throw _0x263654;this['_handleReconnectionError']();}}}}['destroy'](){const _0x80bfaa=this['editor']['plugins']['get'](n),_0x366c26=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x366c26['channelSessions']['has'](this['_channelId'])&&_0x366c26['unregister'](this['_channelId']),_0x80bfaa['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x356e11){if(this['sessionId']!==_0x356e11['sessionId']&&this['_lastSyncedOperationId']!==_0x356e11['lastOperationId'])throw new X();return this['sessionId']=_0x356e11['sessionId'],this['_handleServerResponse']([],{..._0x356e11,'wereChangesApplied':!0x1,'data':_0x356e11['data']},'reconnect');}async['_connectService'](_0x202251,_0x23a351=!0x1){const {connection:_0x515861}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x515861,this['_channelId'])['then'](_0x4a7809=>this['_initSessionsHandling'](_0x4a7809))['catch'](_0x30938f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x30938f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x262909,_0x1781b5)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1781b5);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4ffb07=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x202251);this['_isPendingUpdate']=!0x0;const _0xa45ed9=await this['_service']['connect'](_0x515861,this['_compressOperations'](_0x202251),_0x4ffb07);if(this['sessionId']=_0xa45ed9['sessionId'],_0x23a351){if(!_0xa45ed9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xa45ed9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x202251,_0xa45ed9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xa45ed9,_0x202251);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3d720e=this['editor']['plugins']['get'](i),_0x23930b=this['editor']['plugins']['get'](G),_0x3e87f3=_0x3d720e['channelSessions']['get'](this['_channelId']);_0x3e87f3&&_0x3e87f3['length']>0x1?_0x23930b['createUserMarkerOperations']():this['listenTo'](_0x3d720e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3d720e['channelSessions']['get'](this['_channelId'])['length']&&_0x23930b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1ae2e4,_0x2d6104,_0x318568,_0x218ef5){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2d6104){const _0x41c530=this['_decompressOperations'](_0x318568,_0x218ef5);await this['_fetchMissingUsers'](_0x41c530),this['_handleExternalOperations'](_0x41c530,_0x2d6104,_0x318568['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x269dae}=this['editor'];let _0x508efe;try{_0x508efe=await this['_service']['getDocumentDetails']();}catch{const _0x4776eb=$(_0x269dae,'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'](_0x4776eb);}const _0x4f6867=_0x508efe['currentDocumentSession']||_0x508efe['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4f6867['lastOperationId']){const _0x13682d=$(_0x269dae,'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'](_0x13682d);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3d8939){const _0x3882ce=this['editor']['plugins']['get'](i);this['listenTo'](_0x3882ce,'sessionAdd:'+this['_channelId'],(_0x34e451,{session:_0x55d8b7})=>{if(_0x55d8b7['id']===_0x3882ce['mySessionId']){_0x34e451['off']();const _0x39d406=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x324d33=_0x55d8b7['permissions'];_0x39d406&&_0x39d406['isEnabled']&&(_0x324d33=_0x324d33['filter'](_0x41607f=>'document:write'!==_0x41607f)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x324d33,this['_channelId']);}}),_0x3882ce['register'](this['_channelId'],_0x3d8939);}['_initThrowingOnDataSet'](){const _0x14b612=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5951bf)=>{if(!_0x5951bf[_0x5951bf['length']-0x1]['suppressErrorInCollaboration'])throw new _0x21fa12('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x14b612['apply'](this['editor']['data'],_0x5951bf);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x543437,[_0x4b9788])=>{if(this['_document']['version'])throw new _0x21fa12('realtimecollaborationclient-init-document-already-initialized',this);_0x543437['stop'](),this['_setPendingAction']();const _0x5f5c8a=this['editor']['config']['get']('rootsAttributes'),_0x4d810f=this['_getOperationsFromInitData'](_0x4b9788,_0x5f5c8a);0x0==_0x4d810f['length']&&_0x4d810f['push'](new _0x1217d9(0x0)),_0x543437['return']=this['_connectService'](_0x4d810f)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x125e5e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x125e5e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x358638,[_0x498b42,_0x3ffbdf])=>{_0x358638['stop']();const _0x516e9d=this['editor']['model']['document']['getRoot'](_0x498b42);if(!this['_knownRootNames']['has'](_0x498b42)){const _0x260d1f=_0x3ffbdf&&_0x3ffbdf['data']?_0x3ffbdf['data']:'',_0x87af5f=_0x3ffbdf&&_0x3ffbdf['attributes']?_0x3ffbdf['attributes']:{};await this['_loadRoot'](_0x498b42,_0x260d1f,_0x87af5f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x516e9d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x516e9d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4e4f2d){const _0x3fac01=this['editor']['plugins']['get'](_0x5926ab),{connection:_0x9a6e3d}=this['editor']['plugins']['get'](n),_0x378e10=new Set();for(const _0x3f505c of _0x4e4f2d){const _0x3e12ac=_0x3f505c['_authorId'];_0x3e12ac&&!_0x3fac01['getUser'](_0x3e12ac)&&_0x378e10['add'](_0x3e12ac);}if(0x0===_0x378e10['size'])return;const _0x28da9b=await ct['getMany'](_0x9a6e3d,Array['from'](_0x378e10));for(const _0x206e11 of _0x28da9b)_0x3fac01['getUser'](_0x206e11['id'])||_0x3fac01['addUser'](_0x206e11);}['_getOperationsFromInitData'](_0x433c2c,_0x24398e={}){const _0x1ce4ee=this['editor']['model'],_0x2aa11e=[];let _0x179dce=0x0;const _0x32ae1e='string'==typeof _0x433c2c?{'main':_0x433c2c}:_0x433c2c;for(const _0x3adf78 of Object['keys'](_0x32ae1e)){if(!this['_document']['roots']['has'](_0x3adf78))throw new _0x21fa12('realtimecollaborationclient-init-non-existent-root',this);const _0x57e157=this['editor']['data']['parse'](_0x32ae1e[_0x3adf78]),_0x4fecda=this['_document']['getRoot'](_0x3adf78),_0x1d309f=new _0x5d5652(_0x1ce4ee['createPositionAt'](_0x4fecda,0x0),_0x57e157,_0x179dce++);_0x2aa11e['push'](_0x1d309f);for(const [_0xe0c73e,_0x4a9f9d]of _0x57e157['markers']){const _0x408e54=_0x1ce4ee['createRange'](_0x1ce4ee['createPositionFromPath'](_0x4fecda,_0x4a9f9d['start']['path']['slice']()),_0x1ce4ee['createPositionFromPath'](_0x4fecda,_0x4a9f9d['end']['path']['slice']())),_0x3cc672=new _0x2c727b(_0xe0c73e,null,_0x408e54,_0x1ce4ee['markers'],!0x0,_0x179dce++);_0x2aa11e['push'](_0x3cc672);}}if(_0x24398e)for(const [_0x30cc16,_0x18f557]of Object['entries'](_0x24398e)){const _0x5985c5=_0x1ce4ee['document']['getRoot'](_0x30cc16);if(!_0x5985c5)throw new _0x21fa12('multi-root-editor-root-attributes-no-root',null);for(const [_0x4d24c6,_0x32b4cf]of Object['entries'](_0x18f557))if(null!==_0x32b4cf){const _0x4f552d=new _0x208e95(_0x5985c5,_0x4d24c6,null,_0x32b4cf,_0x179dce++);_0x2aa11e['push'](_0x4f552d);}}return _0x2aa11e;}async['_loadRoot'](_0x3b1a97,_0x3d1946,_0x47285f){this['_getOperationsFromInitData']({[_0x3b1a97]:_0x3d1946},{[_0x3b1a97]:_0x47285f})['forEach']((_0x22b447,_0x1d9d3b)=>{_0x22b447['baseVersion']=this['_document']['version']+_0x1d9d3b,_0x22b447['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x22b447);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5162ce,_0x3b745e){let _0x26154c;this['_offset']=_0x5162ce['offset'];const _0x8e1d45=_0x5162ce['wereChangesApplied']&&!_0x5162ce['initData'],_0x2b31e4=_0x8e1d45?0x0:_0x5162ce['data']['baseVersion'];if(_0x3b745e['forEach'](_0x36230e=>{_0x36230e['_isInit']=!0x0,_0x36230e['createdAt']=_0x5162ce['sessionCreatedAt'],_0x36230e['_authorId']=null;}),_0x8e1d45)_0x26154c=_0x3b745e,this['_applyOperationsSet'](_0x26154c,_0x8e1d45);else{if(_0x5162ce['initData']){const _0x1e8298=this['_getOperationsFromInitData'](_0x5162ce['initData']);this['_document']['history']['version']=-_0x1e8298['length'],_0x1e8298['forEach'](_0x397585=>{_0x397585['baseVersion']-=_0x1e8298['length'],_0x397585['createdAt']=_0x5162ce['sessionCreatedAt'],_0x397585['_isInit']=!0x0,_0x397585['_authorId']=null;}),this['_applyOperationsSet'](_0x1e8298,!0x0),this['serverHistory']['version']=-_0x1e8298['length']+this['_offset'],this['_updateServerHistory'](_0x1e8298);}this['_document']['history']['version']=_0x2b31e4,_0x26154c=this['_decompressOperations'](_0x5162ce['data'],_0x5162ce['metadata']),await this['_fetchMissingUsers'](_0x26154c),this['_applyOperationsSet'](_0x26154c,_0x8e1d45);}_0x5162ce['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x26154c,_0x5162ce['lastOperationId']),this['_lastSyncedOperationId']=_0x5162ce['lastOperationId']),this['serverHistory']['version']=_0x2b31e4+this['_offset'],this['_updateServerHistory'](_0x26154c),_0x3b745e['filter'](_0x3be17e=>{const _0x95848=this['_getAffectedRoot'](_0x3be17e);return _0x95848&&!this['_knownRootNames']['has'](_0x95848);})['forEach']((_0x32a915,_0x4b02c9)=>{_0x32a915['baseVersion']=this['_document']['version']+_0x4b02c9,this['_saveOperationInBuffer'](_0x32a915);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3f3dc6,_0x5e58ce){const _0x5dc70b=_0x5e58ce&&_0x5e58ce['message'];if(_0x5dc70b&&_0x5dc70b['startsWith']('realtimecollaborationclient'))throw _0x5e58ce;const _0x30f035=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x30f035['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x21fa12(_0x3f3dc6,this['editor'],_0x5dc70b?{'originalError':_0x5dc70b}:void 0x0);}['_saveOperationInBuffer'](_0x563524){this['_knownOperations']['has'](_0x563524)||(this['_knownOperations']['add'](_0x563524),this['_bufferedOperations']['push'](_0x563524),this['_pendingAction']||'marker'==_0x563524['type']&&!_0x563524['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xfe1ff4=!0x1){!_0xfe1ff4&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1a6236=>{_0x1a6236&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4902bc=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5e6f1e){return _0x5e6f1e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e6f1e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5e6f1e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4902bc)||this['_crash'](_0x4902bc['message'],_0x4902bc);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2bd1ac=>{this['on']('change:_isPendingUpdate',()=>{_0x2bd1ac();});});}async['_sendBufferedOperations'](){const _0x42120d=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x42120d['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x42ce7e=[...this['_bufferedOperations']];for(const _0x285df4 of _0x42ce7e)_0x285df4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x285df4);const _0x510565=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x42ce7e),_0x13ad76=Q++,_0x3eef7a=this['_compressOperations'](_0x42ce7e),_0x3c67d1=await this['_service']['sendOperations'](_0x3eef7a,_0x3eef7a['baseVersion'],_0x510565);try{return await this['_handleServerResponse'](_0x42ce7e,_0x3c67d1,_0x13ad76);}catch(_0x30ef13){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x30ef13);}}async['_handleServerResponse'](_0x2f55a6,_0x2c6a2a,_0x3cabbe){if('error'in _0x2c6a2a)throw _0x2c6a2a['error'];let _0x39fa57=!0x1;if(_0x2c6a2a['wereChangesApplied']){_0x2c6a2a['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2c6a2a['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5abb66=>!_0x2f55a6['includes'](_0x5abb66));for(const _0x61aec9 of _0x2f55a6)_0x61aec9['createdAt']='lastOperationAcceptedAt'in _0x2c6a2a&&_0x2c6a2a['lastOperationAcceptedAt']||void 0x0;Y(_0x2f55a6,_0x2c6a2a['version']-_0x2f55a6['length']),this['_updateServerHistory'](_0x2f55a6);const _0x45b5f4=_0x2f55a6['filter'](_0x10b5ce=>{if(!_0x10b5ce['_isInit'])return!0x1;const _0x1710fd=this['_getAffectedRoot'](_0x10b5ce);return _0x1710fd&&!this['_knownRootNames']['has'](_0x1710fd);});Y(_0x45b5f4,this['_document']['version']),this['_applyOperationsSet'](_0x45b5f4),_0x39fa57=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x145f37=this['_decompressOperations'](_0x2c6a2a['data'],_0x2c6a2a['metadata'])['filter'](_0x4e4b00=>_0x4e4b00['baseVersion']>=this['_lastServerVersion']);_0x145f37['forEach'](_0x678e89=>this['_addKnownRoot'](_0x678e89)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5af37d=>!_0x5af37d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5af37d))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x145f37),_0x39fa57=this['_handleExternalOperations'](_0x145f37,_0x2c6a2a['version'],_0x2c6a2a['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x39fa57?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xfce28d,_0x5e333f,_0x39ff76){try{const _0x59fa73={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5cab42,operationsB:_0x164a67,originalOperations:_0x57d1a0}=_0x45e26d(_0xfce28d,this['_bufferedOperations'],_0x59fa73);Y(_0x5cab42,this['_document']['version']),Y(_0x164a67,_0x5e333f);for(const _0x19056d of _0x5cab42){const _0xd6b31f=_0x57d1a0['get'](_0x19056d);_0x19056d['_authorId']=_0xd6b31f?_0xd6b31f['_authorId']:null;}_0x39ff76&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xfce28d,_0x39ff76),this['_lastSyncedOperationId']=_0x39ff76),this['_bufferedOperations']=[..._0x164a67],this['_applyOperationsSet'](_0x5cab42),this['_updateServerHistory'](_0xfce28d);}catch(_0x33c731){return console['error'](_0x33c731),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3116b8,_0x31668e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5b476f=>{for(const _0x2fa748 of _0x3116b8)this['_knownOperations']['add'](_0x2fa748),this['_addKnownRoot'](_0x2fa748),_0x5b476f['batch']['addOperation'](_0x2fa748),this['editor']['model']['applyOperation'](_0x2fa748);});}['_addKnownRoot'](_0x1ad852){const _0x28cfa6=this['_getAffectedRoot'](_0x1ad852);_0x28cfa6&&this['_knownRootNames']['add'](_0x28cfa6);}['_getAffectedRoot'](_0x1b2bb7){let _0x5c1fff,_0x154a53;switch(_0x1b2bb7['type']){case'insert':_0x5c1fff=_0x1b2bb7['position']['root'];break;case'marker':if(_0x154a53=_0x1b2bb7['newRange'],!_0x154a53)return null;_0x5c1fff=_0x154a53['root'];break;case'addRootAttribute':_0x5c1fff=_0x1b2bb7['root'];break;case'addRoot':_0x5c1fff=_0x1b2bb7['affectedSelectable'];break;case'move':_0x5c1fff=_0x1b2bb7['targetPosition']['root'];break;default:return null;}return _0x5c1fff['rootName'];}['_updateServerHistory'](_0x843378){_0x843378['forEach'](_0x25ce82=>{const _0x41ef22=_0x25ce82['clone']();_0x41ef22['_authorId']=_0x25ce82['_authorId'],_0x41ef22['_isInit']=!!_0x25ce82['_isInit'],_0x41ef22['createdAt']=_0x25ce82['createdAt'],_0x41ef22['baseVersion']+=this['_offset'],_0x25ce82['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x41ef22),this['serverHistory']['addOperation'](_0x41ef22);});}['_handleReconnectionError'](_0x4e78c1){const _0x68fa3c=this['editor']['plugins']['get']('Notification'),_0x58927d=this['editor']['locale'];_0x4e78c1||(_0x4e78c1=$(_0x58927d,'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.')),_0x68fa3c['showWarning'](_0x4e78c1,{'title':$(_0x58927d,'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'](_0x46588f)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x46588f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5b4993){const _0x3f55f9=_0x5b4993['map'](_0x564746=>_0x564746['toJSON']());return this['_compressor']['compress'](_0x3f55f9);}['_decompressOperations'](_0x10d12b,_0x188fcc){return this['_compressor']['decompress'](_0x10d12b)['map']((_0x2c5337,_0x571929)=>{const _0x17f913='init'==_0x188fcc[_0x571929]['type'];if('InsertOperation'==_0x2c5337['__className']){const _0x52616c=_0x2c5337['position']['root'];!this['_document']['getRoot'](_0x52616c)&&(this['_document']['createRoot']('$root',_0x52616c)['_isAttached']=!0x1);}const _0x5a56f9=_0x88c11e['fromJSON'](_0x2c5337,this['_document']);return _0x5a56f9['wasUndone']=_0x2c5337['wasUndone'],_0x5a56f9['_isInit']=_0x17f913,_0x5a56f9['_authorId']=_0x17f913?null:_0x188fcc[_0x571929]['userId'],_0x5a56f9['_isDisconnection']='cs:removeUser'===_0x188fcc[_0x571929]['type'],_0x5a56f9['createdAt']=_0x188fcc[_0x571929]['createdAt'],_0x5a56f9;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5696fa=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5696fa&&_0x5696fa['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x593d5e,_0x59df4f){for(const _0x46e85b of _0x593d5e)_0x46e85b['baseVersion']=_0x59df4f++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x3f029b){this['_ignoredOperations']=_0x3f029b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x42caac){let _0xbbc7e3=_0x42caac['length'];for(;_0xbbc7e3--;){const _0x16cfb=_0x42caac[_0xbbc7e3];if(!this['_ignoredOperations']['has'](_0x16cfb)){if(!this['_operationToId']['has'](_0x16cfb)){const _0x358f23=_0xa6257d()['slice'](0x1,0x12);this['_operationToId']['set'](_0x16cfb,_0x358f23);}return this['_operationToId']['get'](_0x16cfb);}}}['setIdForTheLastOperation'](_0x54fed1,_0x5f2ef9){if(!_0x5f2ef9)return;let _0x21a374=_0x54fed1['length'];for(;_0x21a374--;){const _0x322d15=_0x54fed1[_0x21a374];this['_ignoredOperations']['has'](_0x322d15)||this['_operationToId']['set'](_0x322d15,_0x5f2ef9);}}}class a extends _0x4edcf1{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0xa0a9ec{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x360dc4)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5926ab];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x525793){super(_0x525793),this['_services']=new Map();}async['init'](){const _0x15158a=this['context'],_0x2ebb18=_0x15158a['plugins']['get']('CommentsRepository');if(_0x15158a['plugins']['get'](n)['addToReconnectionStack'](this),_0x2ebb18['adapter']={'addCommentThread':async({channelId:_0x24591b,threadId:_0x5d7a59,comments:_0x3bcf56,resolvedAt:_0x2ce1e4,resolvedBy:_0x4def01,context:_0x1f3b64,attributes:_0xd109a1})=>{const _0x547f4e=await this['_getService'](_0x24591b)['addCommentThread']({'commentThreadId':_0x5d7a59,'comments':_0x3bcf56['map'](_0x483d52=>function(_0x55c0d7,_0x5e5e3a,_0x22d77d){return{'commentThreadId':_0x22d77d,'commentId':_0x55c0d7['commentId'],'userId':_0x55c0d7['authorId'],'content':_0x55c0d7['content'],'documentId':_0x5e5e3a,'createdAt':_0x55c0d7['createdAt'],'attributes':_0x55c0d7['attributes']||{}};}(_0x483d52,_0x24591b,_0x5d7a59)),'resolvedAt':_0x2ce1e4,'resolvedBy':_0x4def01,'context':_0x1f3b64,'attributes':_0xd109a1})['catch'](at);return{'threadId':_0x547f4e['commentThreadId'],'comments':_0x547f4e['comments']};},'getCommentThread':async({channelId:_0x55cc3c,threadId:_0x31d285})=>{const _0x54c8ca=await this['_getService'](_0x55cc3c)['getCommentThread'](_0x31d285)['catch'](at);return _0x54c8ca['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x54c8ca]),{'threadId':_0x54c8ca['commentThreadId'],'comments':_0x54c8ca['comments']['map'](B),'context':_0x54c8ca['context'],'resolvedAt':_0x54c8ca['resolvedAt'],'resolvedBy':_0x54c8ca['resolvedBy'],'attributes':_0x54c8ca['attributes']||{}});},'updateCommentThread':async({channelId:_0x17bc74,threadId:_0x289223,context:_0x527818,unlinkedAt:_0x3a57ca,attributes:_0x5ab2dc})=>this['_getService'](_0x17bc74)['updateCommentThread']({'commentThreadId':_0x289223,'context':_0x527818,'attributes':_0x5ab2dc,'unlinkedAt':_0x3a57ca})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x17a4ca,threadId:_0x490f2d})=>{const _0x27afd4=await this['_getService'](_0x17a4ca)['resolveCommentThread'](_0x490f2d)['catch'](F)['catch'](at);return{'threadId':_0x27afd4['commentThreadId'],'resolvedAt':_0x27afd4['resolvedAt'],'resolvedBy':_0x27afd4['resolvedBy']};},'reopenCommentThread':async({channelId:_0x378434,threadId:_0x3f00fd})=>this['_getService'](_0x378434)['reopenCommentThread'](_0x3f00fd)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x5c16ca,threadId:_0x371c3d})=>this['_getService'](_0x5c16ca)['removeCommentThread'](_0x371c3d)['catch'](F)['catch'](at),'addComment':({channelId:_0x33c7bd,threadId:_0xd067fc,commentId:_0x3a743a,content:_0x4e2c04,attributes:_0x4271b8})=>this['_getService'](_0x33c7bd)['addComment'](_0xd067fc,_0x3a743a,_0x4e2c04,_0x4271b8)['catch'](at),'updateComment':({channelId:_0x2bc7c8,threadId:_0x58df83,commentId:_0x204aeb,content:_0x3e14d7,attributes:_0x594d50})=>this['_getService'](_0x2bc7c8)['updateComment'](_0x58df83,_0x204aeb,_0x3e14d7,_0x594d50)['catch'](F)['catch'](at),'removeComment':({channelId:_0x40e172,threadId:_0x5d5453,commentId:_0x320411})=>this['_getService'](_0x40e172)['removeComment'](_0x5d5453,_0x320411)['catch'](F)['catch'](at)},_0x15158a instanceof _0x167299){const _0x34d4c2=_0x15158a['config']['get']('collaboration.channelId'),_0x20ae73=_0x15158a['plugins']['get'](i);await this['_setUpService'](_0x34d4c2);const _0x377b0e=await this['_services']['get'](_0x34d4c2)['getConnectedSessions']();this['listenTo'](_0x20ae73,'sessionAdd:'+_0x34d4c2,(_0x956113,{session:_0x46cb3d})=>{_0x46cb3d['id']===_0x20ae73['mySessionId']&&(_0x956113['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x46cb3d['permissions'],_0x34d4c2));}),_0x20ae73['register'](_0x34d4c2,_0x377b0e);}}async['_setUpService'](_0x69fdba){if(this['_services']['has'](_0x69fdba))throw new _0x21fa12('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x69fdba});const _0x23d09c=this['context']['plugins']['get']('CommentsRepository'),_0x517953=new s['CommentsService'](_0x69fdba);this['_services']['set'](_0x69fdba,_0x517953),this['listenTo'](_0x517953,'commentThreadAdded',(_0x3d98c1,_0x97ee56)=>{const {commentThreadId:_0x3647c8,documentId:_0x477e60,context:_0x47dfd8,attributes:_0x2495cf,resolvedAt:_0x372dc2,resolvedBy:_0x2cec50,comments:_0x3316c2}=_0x97ee56;_0x23d09c['getCommentThread'](_0x3647c8)||_0x23d09c['addCommentThread']({'threadId':_0x3647c8,'channelId':_0x477e60,'comments':_0x3316c2?_0x3316c2['map'](B):[],'context':_0x47dfd8,'attributes':_0x2495cf,'resolvedAt':_0x372dc2,'resolvedBy':_0x2cec50,'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadUpdated',(_0x26c36c,{commentThreadId:_0x57f229,documentId:_0xa7c7a5,context:_0x19d467,unlinkedAt:_0x187b98,attributes:_0x442327})=>{_0x23d09c['getCommentThread'](_0x57f229)&&_0x23d09c['updateCommentThread']({'threadId':_0x57f229,'channelId':_0xa7c7a5,'context':_0x19d467,'unlinkedAt':_0x187b98,'attributes':_0x442327,'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadResolved',(_0x5ac7a1,{commentThreadId:_0x436011,resolvedBy:_0x307e6b,resolvedAt:_0x554a5c})=>{const _0x49d22=_0x23d09c['getCommentThread'](_0x436011);_0x49d22&&_0x49d22['resolve']({'resolvedBy':_0x307e6b,'resolvedAt':_0x554a5c,'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadReopened',(_0x200a34,{commentThreadId:_0x5848e4})=>{const _0xcf1c4c=_0x23d09c['getCommentThread'](_0x5848e4);_0xcf1c4c&&_0xcf1c4c['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadRemoved',(_0x1b0000,{commentThreadId:_0x25a845})=>{const _0x3f2e18=_0x23d09c['getCommentThread'](_0x25a845);_0x3f2e18&&_0x3f2e18['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentAdded',(_0x4119d8,_0x1e050c)=>{const _0x2a350e=_0x1e050c['commentThreadId'],_0x2e2fef=_0x23d09c['getCommentThread'](_0x2a350e);_0x2e2fef&&_0x2e2fef['addComment']({...B(_0x1e050c),'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentUpdated',(_0x5b8b3e,{commentThreadId:_0x1a4bcf,commentId:_0x51714b,content:_0x1ff93b,attributes:_0x5cc035})=>{const _0x374790=_0x23d09c['getCommentThread'](_0x1a4bcf);if(_0x374790){const _0x483523=_0x374790['getComment'](_0x51714b);_0x483523&&_0x483523['update']({'content':_0x1ff93b,'attributes':_0x5cc035,'isFromAdapter':!0x0});}}),this['listenTo'](_0x517953,'commentRemoved',(_0x498d80,{commentThreadId:_0xae34b4,commentId:_0x35483b})=>{const _0x393766=_0x23d09c['getCommentThread'](_0xae34b4);if(_0x393766){const _0xa5fa34=_0x393766['getComment'](_0x35483b);_0xa5fa34&&_0xa5fa34['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x69fdba);}['destroy'](){if(this['context']instanceof _0x167299){const _0x234caf=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x234caf);}}['_terminateService'](_0xebf08c){if(!this['_services']['has'](_0xebf08c))throw new _0x21fa12('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xebf08c});this['_getService'](_0xebf08c)['disconnect'](),this['_services']['delete'](_0xebf08c);}async['reconnect'](){for(const _0x47cd76 of this['_services']['keys']())await this['_connectService'](_0x47cd76);if(this['context']instanceof _0x167299){const _0x36348f=this['context']['config']['get']('collaboration.channelId'),_0x1747ab=this['context']['plugins']['get'](i);_0x1747ab['unregister'](_0x36348f);const _0x21090d=await this['_services']['get'](_0x36348f)['getConnectedSessions']();_0x1747ab['register'](_0x36348f,_0x21090d);}}async['_connectService'](_0x2497cc){const {connection:_0x1c7d6d}=this['context']['plugins']['get'](n),_0x5d39dd=this['context']['plugins']['get']('CommentsRepository'),_0x4fed55=this['_services']['get'](_0x2497cc),_0x28479d=await _0x4fed55['connect'](_0x1c7d6d);await this['_fetchMissingUsersForThreads'](_0x28479d);const _0x464472=new Set(Array['from'](_0x5d39dd['getCommentThreads']({'channelId':_0x2497cc}),_0x1c6d1f=>_0x1c6d1f['id']));for(const _0x8b5f0f of _0x28479d)_0x8b5f0f['deletedAt']||_0x464472['delete'](_0x8b5f0f['commentThreadId']);for(const _0x4bae4d of _0x464472)_0x5d39dd['getCommentThread'](_0x4bae4d)['remove']({'isFromAdapter':!0x0});for(const _0x548634 of _0x28479d){let _0x13ee4b=_0x5d39dd['getCommentThread'](_0x548634['commentThreadId']);const {commentThreadId:_0x2da3ba,context:_0x3fca79,attributes:_0x3ff786,resolvedBy:_0x262d1f,resolvedAt:_0x428511,unlinkedAt:_0x496e4a,deletedAt:_0x5bfc2f}=_0x548634;if(_0x5bfc2f)continue;_0x13ee4b||(_0x13ee4b=_0x5d39dd['addCommentThread']({'channelId':_0x2497cc,'threadId':_0x2da3ba,'context':_0x3fca79,'attributes':_0x3ff786||{},'resolvedBy':_0x262d1f,'resolvedAt':_0x428511,'unlinkedAt':_0x496e4a,'isFromAdapter':!0x0}));const _0x2734da=new Set(Array['from'](_0x13ee4b['comments'],_0x53e08f=>_0x53e08f['id']));for(const _0xca9ff6 of _0x548634['comments'])_0x2734da['delete'](_0xca9ff6['commentId']);for(const _0xfc0ff0 of _0x2734da)_0x13ee4b['getComment'](_0xfc0ff0)['remove']({'isFromAdapter':!0x0});for(const _0x25f95f of _0x548634['comments']){const _0x203e50=_0x13ee4b['getComment'](_0x25f95f['commentId']);_0x203e50?_0x203e50['content']!==_0x25f95f['content']&&_0x203e50['update']({'content':_0x25f95f['content'],'isFromAdapter':!0x0}):_0x13ee4b['addComment'](Object['assign'](B(_0x25f95f),{'isFromAdapter':!0x0}));}}}['_getService'](_0x247d93){if(!this['_services']['has'](_0x247d93))throw new _0x21fa12('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x247d93});return this['_services']['get'](_0x247d93);}async['_fetchMissingUsersForThreads'](_0x1c716b){const _0x547b15=this['context']['plugins']['get'](_0x5926ab),{connection:_0x5e95fb}=this['context']['plugins']['get'](n),_0x2f4f35=new Set();for(const {resolvedBy:_0x4348ae,comments:_0x54d40d}of _0x1c716b){_0x4348ae&&!_0x547b15['getUser'](_0x4348ae)&&_0x2f4f35['add'](_0x4348ae);for(const {userId:_0x34fa53}of _0x54d40d)_0x547b15['getUser'](_0x34fa53)||_0x2f4f35['add'](_0x34fa53);}if(0x0===_0x2f4f35['size'])return;const _0x2c7b7a=await ct['getMany'](_0x5e95fb,Array['from'](_0x2f4f35));for(const _0x2f87ab of _0x2c7b7a)_0x547b15['getUser'](_0x2f87ab['id'])||_0x547b15['addUser'](_0x2f87ab);}}async function F(_0x3b9ec6){if('404'!==_0x3b9ec6['code'])throw _0x3b9ec6;}function at(_0x3c643b){if((_0x47c4eb=_0x3c643b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x47c4eb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x47c4eb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x47c4eb;throw _0x3c643b;}function B(_0x30a260){return{'threadId':_0x30a260['commentThreadId'],'commentId':_0x30a260['commentId'],'content':_0x30a260['content'],'createdAt':_0x30a260['createdAt'],'authorId':_0x30a260['userId'],'attributes':_0x30a260['attributes']||{}};}class m extends _0x4edcf1{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(_0x21be87){super(_0x21be87);const _0x46bd14=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x46bd14);}['init'](){const _0x31e1d5=this['editor']['plugins']['get'](n),_0x3da68b=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3da68b['adapter']={'getSuggestion':async _0x458f1d=>{await this['_waitForServiceReady']();const _0x7b01fb=await this['_trackChangesService']['get'](_0x458f1d)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x7b01fb]),_0x7b01fb;},'addSuggestion':async({id:_0x552738,type:_0x2afcad,data:_0x40cfb4,originalSuggestionId:_0x5abaf2,attributes:_0x1d3326})=>{await this['_waitForServiceReady']();const _0x4bbde8={'id':_0x552738,'type':_0x2afcad,'data':_0x40cfb4,'originalSuggestionId':_0x5abaf2,'attributes':_0x1d3326},_0x4c56cf=await this['_trackChangesService']['add'](_0x552738,_0x2afcad,_0x40cfb4,_0x5abaf2,_0x1d3326)['catch'](_0x2afe69=>{if(ht(_0x2afe69))return new Promise(_0x6ea133=>{this['_bufferedRequests']['set'](_0x552738,{'resolve':_0x6ea133,'suggestionData':_0x4bbde8});});throw _0x2afe69;});return this['_bufferedRequests']['delete'](_0x552738),_0x4c56cf;},'updateSuggestion':async(_0x18c55d,_0x54dd09)=>{if(await this['_waitForServiceReady'](),'open'!==_0x54dd09['state'])return this['_trackChangesService']['update'](_0x18c55d,_0x54dd09)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x308cb4,_0x5ebf56)=>{_0x3da68b['hasSuggestion'](_0x5ebf56['id'])&&(_0x3da68b['getSuggestion'](_0x5ebf56['id'])['attributes']=_0x5ebf56['attributes']);}),this['_trackChangesService']['connect'](_0x31e1d5['connection'])['then'](_0x5aca8b=>(_0x31e1d5['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5aca8b)['then'](()=>{for(const _0x4fb1b6 of _0x5aca8b){_0x3da68b['addSuggestionData'](_0x4fb1b6)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3906bf=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3011af}=this['editor']['plugins']['get'](n),_0x481ff3=await this['_trackChangesService']['connect'](_0x3011af);await this['_fetchMissingUsersForThreads'](_0x481ff3);for(const {suggestionData:_0x52b862,resolve:_0x517891}of this['_bufferedRequests']['values']()){let _0x445576=_0x481ff3['find'](_0x4e892c=>_0x4e892c['id']===_0x52b862['id']);_0x445576||(_0x445576=await this['_trackChangesService']['add'](_0x52b862['id'],_0x52b862['type'],_0x52b862['data'],_0x52b862['originalSuggestionId'])),_0x517891(_0x445576);}for(const _0x189312 of _0x481ff3)_0x3906bf['hasSuggestion'](_0x189312['id'])||_0x3906bf['addSuggestionData'](_0x189312);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x434f88=>{this['listenTo'](this['_trackChangesService'],'connected',_0x12182a=>{_0x12182a['off'](),_0x434f88();});});}async['_fetchMissingUsersForThreads'](_0x430404){const _0x1107f3=this['editor']['plugins']['get'](_0x5926ab),{connection:_0x4b01d5}=this['editor']['plugins']['get'](n),_0x290635=new Set();for(const {authorId:_0x165ca7}of _0x430404)_0x1107f3['getUser'](_0x165ca7)||_0x290635['add'](_0x165ca7);if(0x0===_0x290635['size'])return;const _0x123396=await ct['getMany'](_0x4b01d5,Array['from'](_0x290635));for(const _0x144d70 of _0x123396)_0x1107f3['getUser'](_0x144d70['id'])||_0x1107f3['addUser'](_0x144d70);}}function k(_0x4b7804){if(ht(_0x4b7804))return new Promise(()=>{});throw _0x4b7804;}function ht(_0x14be09){return _0x14be09['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14be09['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4edcf1{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 _0x211781=this['editor']['plugins']['get'](n),_0x4e9aa5=this['editor']['plugins']['get']('CommentsEditing'),_0x26c129=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x211781,'change:state',(_0x9afa68,_0x45e548,_0x363acc)=>{_0x4e9aa5['isThreadsLoadingPaused']='connected'!==_0x363acc;});}),this['listenTo'](_0x211781,'change:state',(_0x3660d1,_0x215fea,_0xc3594a)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xc3594a);}),_0x26c129['_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 _0x4edcf1{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 _0x4edcf1{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x3326f7)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5926ab];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ba78b){super(_0x2ba78b);const _0x543687=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x543687);}async['init'](){const _0x4a09c5=this['editor']['plugins']['get'](l),_0x131234=_0x4a09c5['serverHistory'],_0x5ccaee=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x131234,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4a09c5['sessionId']});const _0x209f2e=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xbe94b5=await _0x5a159d['isBundleUploaded'](_0x5ccaee['connection'],_0x209f2e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x5854f6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5854f6)),'updateRevisions':async _0x3132e2=>{await this['_waitForServiceReady']();const _0x177f99=this['_revisionTracker']['currentRevision'];if(_0xbe94b5&&0x1===_0x3132e2['length']&&_0x3132e2[0x0]['id']===_0x177f99['id'])return _0x3132e2;for(const _0x2bfa24 of _0x3132e2)_0x2bfa24['id']===_0x177f99['id']&&(_0x2bfa24['isEmptyCurrent']=_0x2bfa24['fromVersion']===_0x2bfa24['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3132e2,this['_lastRequestId'])['then'](_0x45d3f3=>(this['_lastRequestId']=_0x45d3f3,_0x3132e2))['catch'](_0x23d63c=>{if(q(_0x23d63c)||'400'===_0x23d63c['code']&&void 0x0!==_0x23d63c['data']['wrongRequestId']){for(const _0x48617b of _0x3132e2){!this['_revisionTracker']['repository']['getRevision'](_0x48617b['id'])||this['_revisionTracker']['_bufferUpdate'](_0x48617b['id'],_0x48617b,!0x1);}if(q(_0x23d63c))throw _0x23d63c;return _0x3132e2;}throw _0x23d63c;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x53e0c4,{revisionsData:_0x5f4e08,requestId:_0x224148})=>{Math['max'](..._0x5f4e08['map'](_0x532d7d=>_0x532d7d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5f4e08,_0x224148);}):this['_handleRevisionsUpdate'](_0x5f4e08,_0x224148);});const {revisions:_0x5b37a5,requestId:_0x41ef82}=await this['_revisionHistoryService']['connect'](_0x5ccaee['connection']);_0x5ccaee['addToReconnectionStack'](this),this['_lastRequestId']=_0x41ef82,await this['_fetchMissingUsers'](_0x5b37a5);for(const _0x2229a0 of _0x5b37a5)this['_revisionTracker']['addRevisionData'](_0x2229a0);this['listenTo'](_0x4a09c5,'change:_isConnected',(_0x4dc574,_0x758de,_0x13cf65)=>{_0x13cf65&&(this['_oldOffset']=_0x4a09c5['_offset'],_0x4dc574['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5ccaee,'state',_0x526e64=>_0x526e64===_0x25a895['CONNECTED']);}async['reconnect'](){const _0x584681=this['editor']['plugins']['get'](n),_0x464cb2=this['editor']['plugins']['get'](l),_0x550ab8=async()=>{const _0x39d5bb=this['_revisionTracker']['currentRevision'],_0x38338e=_0x39d5bb['id'],_0xbd84dc=_0x38338e!==_0x464cb2['sessionId'];if(_0xbd84dc){const _0xaf0a89=_0x464cb2['_offset']-this['_oldOffset'],_0x2ec0b2=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x39d5bb['toVersion']+_0xaf0a89!==_0x2ec0b2){const _0x474fab=_0x39d5bb['fromVersion']+_0xaf0a89,_0x129f45=this['editor']['plugins']['get'](_0x5926ab),_0x7abba7=this['_revisionTracker']['buildRevisionData']({'revision':_0x39d5bb,'from':_0x474fab,'to':_0x2ec0b2});_0x7abba7['id']=_0x39d5bb['id'];const _0x2595b5=_0x7abba7['authorsIds']['map'](_0x5b835d=>_0x129f45['getUser'](_0x5b835d));_0x39d5bb['_update']({..._0x7abba7,'authors':_0x2595b5},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x39d5bb['id'],_0x7abba7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2ec0b2,(_0x39d5bb['toVersion']===_0x39d5bb['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x38338e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x38338e),this['_revisionTracker']['_createCurrentRevision'](_0x2ec0b2));}const {revisions:_0x5c0984,requestId:_0x18c15e}=await this['_revisionHistoryService']['reconnect'](_0x584681['connection'],this['_lastRequestId']);_0xbd84dc&&_0x5c0984['length']>0x0?_0x464cb2['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5c0984),this['_handleRevisionsUpdate'](_0x5c0984,_0x18c15e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x464cb2['_isConnected']?_0x550ab8():new Promise((_0x466187,_0x572177)=>{_0x464cb2['once']('change:_isConnected',()=>{_0x550ab8()['then'](_0x466187)['catch'](_0x572177);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x427e79=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3ec9e5=>{_0x3ec9e5['off'](),_0x427e79();});});}['_getLatestVersionFromServerOperations'](){const _0x2e86a2=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1b5524 of _0x2e86a2)if('marker'!==_0x1b5524['type']||_0x1b5524['affectsData'])return _0x1b5524['baseVersion']+0x1;}['_getLatestVersion'](){const _0x37b1bf=this['editor']['plugins']['get'](l);return new Promise(_0x3be700=>{_0x37b1bf['_isPendingUpdate']?_0x37b1bf['once']('change:_isPendingUpdate',()=>{_0x3be700(this['_getLatestVersionFromServerOperations']());}):_0x3be700(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x50b058,_0x4d19aa){const _0xf349a7=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4d19aa;for(const _0xb13dd4 of _0x50b058){const _0x451096=_0xf349a7['getRevision'](_0xb13dd4['id']);if(_0x451096){if((_0xb13dd4['fromVersion']||_0xb13dd4['toVersion'])&&(_0xb13dd4['diffData']=null),_0x451096===this['_revisionTracker']['currentRevision']){const _0x449f77=Math['max'](_0x451096['toVersion'],_0xb13dd4['toVersion']),_0x163393=Math['max'](_0x451096['fromVersion'],_0xb13dd4['fromVersion']);let _0x2033c3;_0x451096['toVersion']===_0xb13dd4['toVersion']&&_0x451096['fromVersion']===_0xb13dd4['fromVersion']?(_0x2033c3=!0x0,this['_preventResendingRevisionData'](_0xb13dd4)):_0xb13dd4['toVersion']===_0x449f77&&_0xb13dd4['fromVersion']===_0x163393?_0x2033c3=!0x1:(_0x451096['toVersion']===_0x449f77&&_0x451096['fromVersion']===_0x163393||this['_fixRevision']({'revision':_0x451096,'from':_0x163393,'to':_0x449f77}),_0x2033c3=!0x0),_0x2033c3&&(delete _0xb13dd4['fromVersion'],delete _0xb13dd4['toVersion'],delete _0xb13dd4['diffData'],delete _0xb13dd4['createdAt'],delete _0xb13dd4['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xb13dd4),this['_preventResendingRevisionData'](_0xb13dd4);}else this['_revisionTracker']['addRevisionData'](_0xb13dd4);}const _0x435abd=_0xf349a7['getRevisions']();_0x435abd['reverse']();for(let _0x19a724=0x0;_0x19a724<_0x435abd['length']-0x1;_0x19a724++){const _0xe01e29=_0x435abd[_0x19a724],_0x2d58ae=_0x435abd[_0x19a724+0x1];if(_0xe01e29['fromVersion']<_0x2d58ae['toVersion']){const _0x1eae0b=_0x2d58ae['toVersion'],_0xc3d649=Math['max'](_0x1eae0b,_0xe01e29['toVersion']);this['_fixRevision']({'revision':_0xe01e29,'from':_0x1eae0b,'to':_0xc3d649});}}}['_fixRevision']({revision:_0x47f3d3,from:_0x322436,to:_0xa49cb}={}){const _0x32fc75=this['editor']['plugins']['get'](_0x5926ab),_0x13802f=this['_revisionTracker']['buildRevisionData']({'revision':_0x47f3d3,'from':_0x322436,'to':_0xa49cb});_0x13802f['authors']=_0x13802f['authorsIds']['map'](_0x51a2bb=>_0x32fc75['getUser'](_0x51a2bb)),_0x47f3d3['_update'](_0x13802f);}['_preventResendingRevisionData'](_0x390959){const _0x5f2bba={};_0x5f2bba['id']=_0x390959['id'];for(const _0x6d7eee of Object['keys'](_0x390959))'id'!==_0x6d7eee&&(_0x5f2bba[_0x6d7eee]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5f2bba['id'],_0x5f2bba,!0x0);}async['_fetchMissingUsers'](_0x3ab3bc){const _0x335e73=this['editor']['plugins']['get'](_0x5926ab),{connection:_0x3dc295}=this['editor']['plugins']['get'](n),_0x2f9ecb=new Set();for(const _0x166859 of _0x3ab3bc){for(const _0x3ca9a3 of _0x166859['authorsIds'])_0x28ce36(_0x3ca9a3);_0x166859['creatorId']&&_0x28ce36(_0x166859['creatorId']);}if(0x0===_0x2f9ecb['size'])return;const _0x20eaf8=await ct['getMany'](_0x3dc295,Array['from'](_0x2f9ecb));for(const _0x3d4347 of _0x20eaf8)_0x335e73['getUser'](_0x3d4347['id'])||_0x335e73['addUser'](_0x3d4347);function _0x28ce36(_0x540ecc){_0x335e73['getUser'](_0x540ecc)||_0x2f9ecb['add'](_0x540ecc);}}}function q(_0x16941b){return _0x16941b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x16941b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x16941b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x4edcf1{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 _0x50a2fd{['_collapseAt'];constructor(_0x1e6981,_0x1b4311=0x6){super(_0x1e6981);const _0x32dfa8=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1b4311,this['bind']('isHidden')['to'](this,'usersCount',_0x13126b=>_0x13126b<_0x1b4311),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x32dfa8['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':_0x32dfa8['to']('usersCount',_0x310b89=>'+'+(_0x310b89-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x50a2fd{['items'];['keystrokes'];constructor(_0x2835c0){super(_0x2835c0);const _0x7956e1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4c3498(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x7956e1['if']('hasPopup'),'aria-expanded':_0x7956e1['to']('isExpanded',_0x2233be=>this['hasPopup']&&String(_0x2233be)),'aria-label':_0x7956e1['to']('hasPopup',_0x26e31d=>$(_0x2835c0,_0x26e31d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x7956e1['to']('hasPopup',_0x5433a6=>!!_0x5433a6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x7956e1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x7956e1['to'](_0x2f8c33=>{const _0x5a84bb=_0x2f8c33,_0x2fdb7e=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5ccab4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2fdb7e?.['contains'](_0x5a84bb['relatedTarget'])||_0x5ccab4?.['contains'](_0x5a84bb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x49ac52,_0x25dc70,_0x2d2327)=>{this['element']&&(_0x2d2327?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 _0x50a2fd{['counterView'];['inlineListView'];constructor(_0x195f43,_0x1c1b59=0x6){super(_0x195f43);const _0x453ede=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x1c1b59),this['inlineListView']=new is(_0x195f43),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5e8945 of this['inlineListView']['items'])_0x5e8945['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',_0x453ede['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x50a2fd{['listWrapperView'];constructor(_0x30b77b,_0x44ad8b){super(_0x30b77b);const _0x1df705=this['bindTemplate'];this['listWrapperView']=new ut(_0x30b77b,_0x44ad8b),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x30b77b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1df705['to'](_0x1d9408=>{const _0x2a071d=_0x1d9408,_0x49f0dc=document['querySelector']('.ck-presence-list__list'),_0x4fe392=document['querySelector']('.ck-balloon-panel_with-arrow');_0x49f0dc?.['contains'](_0x2a071d['relatedTarget'])||_0x4fe392?.['contains'](_0x2a071d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x47392b{constructor(_0x570402,_0xe5d62c){super(_0x570402);const _0x3432d7=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xe5d62c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3432d7['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3432d7['to']('role'),'aria-label':_0x3432d7['to']('ariaLabel'),'aria-labelledby':_0x3432d7['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x274993['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x397587=this['element'];_0x397587&&(this['_isScrollable']=Math['max'](_0x397587['scrollHeight'],_0x397587['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x3d7e6d,_0x102391,_0x39da59){super(_0x3d7e6d);const _0x49c0d8=this['bindTemplate'];this['userView']=new st(_0x3d7e6d,_0x102391);const _0x3b28f5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x102391['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x102391['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x102391['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x39da59&&(_0x3b28f5['tag']='button',_0x3b28f5['on']={'click':_0x49c0d8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3b28f5);}['focus'](){this['element']['focus']();}}class A extends _0x50a2fd{['userView'];['markerView'];constructor(_0x5526a0,_0x4084b4,_0x4aa8e9){super(_0x5526a0);const _0x38cfff=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x5526a0,_0x4084b4),this['markerView']=new ot(_0x5526a0,_0x4084b4);const _0x5d2363=new it(_0x5526a0);_0x5d2363['template']['tag']='span',_0x5d2363['text']=_0x4084b4['name'];const _0x3394d0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x38cfff['to']('isFocusable',_0x484afb=>!!_0x484afb&&0x0),'aria-labelledby':_0x5d2363['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x38cfff['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x38cfff['to']('hasTooltip',_0x482738=>!_0x482738),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5d2363]};_0x4aa8e9&&(_0x3394d0['tag']='button',_0x3394d0['on']={'click':_0x38cfff['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3394d0);}}class ot extends _0x50a2fd{constructor(_0x31040,_0x3d13c3){super(_0x31040),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3d13c3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0xa0a9ec{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xf7f044){super(_0xf7f044),this['context']['config']['define']('presenceList',x);const _0x338208=_0xf7f044['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x338208)throw new _0x21fa12('presencelist-collapseat-invalid-format',this);if(_0x338208<0x1)throw new _0x21fa12('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c863a(),this['balloonPanelView']=new _0x5b36ff(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x373793 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x373793);this['listenTo'](this['_allConnectedUsers'],'add',(_0x111b68,_0xdde041)=>{this['_handleUserAdd'](_0xdde041);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xcdad86,_0x43c20c)=>{this['_handleUserRemove'](_0x43c20c);});}['_createView'](){const _0x218b1c=this['context'],_0x110123=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x536e07=this['balloonPanelView'];if(!_0x1e73ad(_0x218b1c['config']['get']('presenceList.container')))throw new _0x21fa12('presencelist-missing-container',this);return _0x110123['counterView']['bind']('usersCount')['to'](this),_0x110123['bind']('isCollapsed')['to'](this,'usersCount',_0x3f2b4a=>{const {collapseAt:_0x3f5894}=_0x218b1c['config']['get']('presenceList'),_0x250eea=_0x3f2b4a>=_0x3f5894;if(_0x250eea&&!_0x110123['inlineListView']['items']['find'](_0x2ed3cd=>_0x2ed3cd instanceof b)){const _0x574cc2=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x574cc2&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x110123['inlineListView']['items']['add'](_0x110123['counterView']);}return _0x250eea||this['hideDropdown'](),_0x250eea;}),_0x110123['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x48612c=>{const _0x3f2c30=_0x218b1c['config']['get']('presenceList'),_0x79d2dd=new A(_0x218b1c['locale'],_0x48612c,!!_0x3f2c30['onClick']);return _0x79d2dd['bind']('hasTooltip')['to'](_0x110123,'isCollapsed',_0x90a234=>!_0x90a234),_0x79d2dd['bind']('isFocusable')['to'](_0x110123,'isCollapsed',_0x1ede3d=>!_0x1ede3d),_0x3f2c30['onClick']&&this['listenTo'](_0x79d2dd,'execute',()=>{this['view']['isCollapsed']||_0x3f2c30['onClick'](_0x48612c,_0x79d2dd['element']);}),_0x79d2dd;}),this['listenTo'](_0x110123['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x110123['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x110123['inlineListView']['keystrokes']['set']('Enter',(_0x3234d2,_0x2b34e4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2b34e4());}),_0x110123['render'](),_0x536e07['render'](),_0x2723a3({'emitter':_0x110123,'activator':()=>_0x536e07['isVisible'],'contextElements':[_0x536e07['element'],_0x110123['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x218b1c['config']['get']('presenceList.container')['appendChild'](_0x110123['element']),this['_bodyCollection']=new _0x5a4715(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x110123;}['_handleUserAdd'](_0x1e04f0){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1e04f0['isMe'])return;const _0x2a506f=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2a506f-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2c9c1a=_0x1e04f0['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1e04f0,_0x2c9c1a);}['_handleUserRemove'](_0x57c6f0){this['usersCount']--;const {collapseAt:_0x228c65}=this['context']['config']['get']('presenceList'),_0x4fb1d8=this['usersCount']>=_0x228c65;if(this['currentDisplayedUsers']['get'](_0x57c6f0['id']))this['currentDisplayedUsers']['remove'](_0x57c6f0['id']);else{if(_0x4fb1d8&&this['currentDisplayedUsers']['length']+0x1===_0x228c65-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4fb1d8?0x1:0x0)<this['usersCount']){for(const _0x2ed4f3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2ed4f3['id'])&&(this['currentDisplayedUsers']['add'](_0x2ed4f3,Math['min'](this['currentDisplayedUsers']['length']-(_0x4fb1d8?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4fb1d8?0x1:0x0)===_0x228c65-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4fc9df=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x4fc9df['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x137cba}=this['presenceDropdownView'];_0x137cba['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x197fdd=>{if(!_0x4fc9df['displayMe']&&_0x197fdd['isMe'])return null;const _0x50a103=new j(this['context']['locale'],_0x197fdd,!!_0x4fc9df['onClick']);return _0x4fc9df['onClick']&&this['listenTo'](_0x50a103,'execute',()=>{_0x4fc9df['onClick'](_0x197fdd,_0x50a103['element']);}),_0x50a103;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x137cba['focus'](),_0x137cba['checkIfScrollable']();const _0xf7dbba=(_0x59247a,_0xa8d897)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xa8d897();};_0x137cba['keystrokes']['set']('Esc',_0xf7dbba),_0x137cba['keystrokes']['set']('Shift+Tab',_0xf7dbba),_0x137cba['keystrokes']['set']('Tab',(_0x29bcba,_0x39c2fd)=>{!function(_0x579ccf){const _0x579fa1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3f539e=>_0x3f539e+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5f56b9=[...document['body']['querySelectorAll'](_0x579fa1)]['filter'](_0x4e6734=>_0x4e6734===document['activeElement']||_0x4e6734['offsetWidth']+_0x4e6734['offsetHeight']>0x0)['sort']((_0x13e5ba,_0x2d6618)=>(_0x13e5ba['tabIndex']||0x0)-(_0x2d6618['tabIndex']||0x0)),_0x434140=_0x5f56b9['indexOf'](_0x579ccf),_0x723134=_0x5f56b9[(_0x434140+0x1)%_0x5f56b9['length']];_0x723134&&_0x723134['focus']();}(this['view']['element']),this['hideDropdown'](),_0x39c2fd();}),_0x137cba['focusTracker']['add'](this['view']['element']),_0x137cba['focusTracker']['on']('change:isFocused',(_0x3e4f1d,_0x2c4ed8,_0x294613)=>{_0x294613||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 _0xa0a9ec{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};