@ckeditor/ckeditor5-real-time-collaboration 47.0.0-alpha.3 → 47.0.0-alpha.4

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 _0x5b3d3d,Plugin as _0x38fa51,PendingActions as _0x353cb1,Context as _0x39648d}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5a6129,CKEditorError as _0x3c299b,Collection as _0x3e4b61,global as _0x166590,version as nt,uid as _0x1b3102,KeystrokeHandler as _0x4cb197}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xc37cde,View as _0x2e7f59,ListView as _0x189eb0,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x2f1aa7,clickOutsideHandler as _0x47fb05,BodyCollection as _0x115a40}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x57d69b,History as _0x5f4adf,NoOperation as _0x249d09,InsertOperation as _0xa284d2,MarkerOperation as _0x552db8,RootAttributeOperation as _0x1defe4,transformOperationSets as _0x2ea55e,OperationFactory as _0x13e959}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x1eb7a7,User as lt,CommentsService as _0x4b6acc,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x43f46f,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x357efb}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x420389}from'es-toolkit/compat';class n extends _0x5b3d3d{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xc37cde];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1933cb){super(_0x1933cb),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5a6129())();}['init'](){const _0xe15243=this['context'],_0x435216=_0xe15243['plugins']['get']('CloudServices'),_0x594bf8=_0xe15243['plugins']['get'](_0xc37cde);if(!_0x435216['token'])throw new _0x3c299b('websocketgateway-missing-token',this);if(!_0x435216['webSocketUrl'])throw new _0x3c299b('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'](_0x435216['token'],_0x435216['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x150613=>{if(this['connection']=_0x150613,this['bind']('state')['to'](_0x150613,'state',this,'_isBrowserOffline',(_0x4262f3,_0xc26b52)=>('connected'!==_0x4262f3&&(this['_shouldPluginsReconnect']=!0x0),_0xc26b52||_0x4262f3!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0xdd8bff,_0x18fd56)=>{if('limitExceeded'!==_0x18fd56['code'])throw console['error'](_0x18fd56),new _0x3c299b('cloudservices-init',null,{'originalError':_0x18fd56});_0x594bf8['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'});}),!_0x150613['me'])return new Promise(_0x40356c=>_0x150613['on']('change:me',_0x40356c));})['catch'](_0x461672=>{throw console['error'](_0x461672),new _0x3c299b('cloudservices-init',null,{'originalError':_0x461672});});}['addToReconnectionStack'](_0x19a90f){if('function'!=typeof _0x19a90f['reconnect'])throw new _0x3c299b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x19a90f))throw new _0x3c299b('websocketgateway-plugin-already-registered',this,{'name':_0x19a90f['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x19a90f);}['removeFromReconnectionStack'](_0xec446e){this['_reconnectionStack']['delete'](_0xec446e);}['isInReconnectionStack'](_0x4d8984){return this['_reconnectionStack']['has'](_0x4d8984);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xd5e428=>_0xd5e428['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x4cb39f=>{throw console['error'](_0x4cb39f),new _0x3c299b('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x5b3d3d{['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,_0x43f46f];}constructor(_0x40855b){super(_0x40855b),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3e4b61(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x43f46f);}['init'](){const _0x2661ee=this['context']['plugins']['get'](n);this['listenTo'](_0x2661ee,'change:state',(_0x47f5c7,_0x52bc23,_0x476b64)=>{if('connected'!==_0x476b64)this['channelSessions']['forEach'](_0x5469ef=>_0x5469ef['clear']()),this['channelConnectedUsers']['forEach'](_0x3cb419=>_0x3cb419['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x269ec9,_0x4319c6]of this['_registeredSessions'])for(const _0xcc0996 of _0x4319c6)this['_handleSessionAdd'](_0x269ec9,_0xcc0996);}}),this['_createUser'](_0x2661ee['connection']['me'],!0x0);}['register'](_0x55b09f,_0xe4a20f){if(this['_registeredSessions']['has'](_0x55b09f))throw new _0x3c299b('sessions-register-already-registered',null,{'channelId':_0x55b09f});this['_registeredSessions']['set'](_0x55b09f,_0xe4a20f),this['channelSessions']['set'](_0x55b09f,new _0x3e4b61()),this['channelConnectedUsers']['set'](_0x55b09f,new _0x3e4b61()),this['listenTo'](_0xe4a20f,'add',(_0x34c873,_0x164daf)=>this['_handleSessionAdd'](_0x55b09f,_0x164daf)),this['listenTo'](_0xe4a20f,'remove',(_0x5b540b,_0x156c4b)=>this['_handleSessionRemove'](_0x55b09f,_0x156c4b));for(const _0x79bdb0 of _0xe4a20f)this['_handleSessionAdd'](_0x55b09f,_0x79bdb0);}['unregister'](_0x45cb0c){if(!this['_registeredSessions']['has'](_0x45cb0c))throw new _0x3c299b('sessions-unregister-not-exist',null,{'channelId':_0x45cb0c});const _0x10d146=this['_registeredSessions']['get'](_0x45cb0c);this['stopListening'](_0x10d146);for(const _0x48770e of _0x10d146)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x45cb0c,_0x48770e);this['_registeredSessions']['delete'](_0x45cb0c),this['channelSessions']['delete'](_0x45cb0c),this['channelConnectedUsers']['delete'](_0x45cb0c);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x4c7e8d){for(const _0x12dfa6 of this['channelSessions']['values']())for(const _0x493253 of _0x12dfa6)if(_0x493253['id']===_0x4c7e8d)return _0x493253['user'];}['getUserSessions'](_0x59e388,_0x3ee410){const _0x936289=_0x3ee410?[this['channelSessions']['get'](_0x3ee410)]:this['channelSessions']['values'](),_0x5efb0e=new Set();for(const _0x4076de of _0x936289)for(const _0x3598ad of _0x4076de)_0x3598ad['user']['id']===_0x59e388['id']&&_0x5efb0e['add'](_0x3598ad['id']);return _0x5efb0e;}['getUserRole'](_0x1e33f4){for(const _0xbe400b of this['channelSessions']['values']())for(const _0x46aa11 of _0xbe400b)if(_0x46aa11['user']===_0x1e33f4)return _0x46aa11['role'];}['_handleSessionAdd'](_0x5d8f3f,_0xbc77f3){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x279a03=_0xbc77f3['user'],_0x49acc1=this['_users']['getUser'](_0x279a03['id'])||this['_createUser'](_0x279a03),_0x39fa9e=Object['assign']({},_0xbc77f3,{'user':_0x49acc1});if(this['channelSessions']['get'](_0x5d8f3f)['add'](_0x39fa9e),!_0x279a03['hiddenInPresenceList']){const _0x1f9e1f=this['channelConnectedUsers']['get'](_0x5d8f3f);_0x1f9e1f['has'](_0x49acc1['id'])||_0x1f9e1f['add'](_0x49acc1),this['allConnectedUsers']['has'](_0x49acc1['id'])||_0x279a03['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x49acc1,_0x49acc1['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5d8f3f,{'channelId':_0x5d8f3f,'session':_0x39fa9e});}['_handleSessionRemove'](_0x1efa03,_0x2f6838){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x291af4=this['channelConnectedUsers']['get'](_0x1efa03),_0x1ed50d=_0x2f6838['user'];_0x1ed50d['id']&&(this['channelSessions']['get'](_0x1efa03)['remove'](_0x2f6838['id']),_0x291af4['has'](_0x1ed50d['id'])&&!this['getUserSessions'](_0x1ed50d,_0x1efa03)['size']&&_0x291af4['remove'](_0x1ed50d['id']),this['allConnectedUsers']['get'](_0x1ed50d['id'])&&!this['getUserSessions'](_0x1ed50d)['size']&&this['allConnectedUsers']['remove'](_0x1ed50d['id']));}['_createUser'](_0x4860bd,_0x453b5b){const _0x1ec7b0=this['_users']['addUser'](_0x4860bd);return _0x453b5b&&this['_users']['defineMe'](_0x4860bd['id']),_0x1ec7b0['orderNumber']=this['_uniqueUsersCount']++,_0x1ec7b0;}}class V extends _0x38fa51{['_domEmitter']=new(_0x5a6129())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x15090b=this['editor'],_0x3c7003=_0x15090b['plugins']['get'](i);_0x15090b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4cca01,{writer:_0x3f70a0})=>function(_0x4c9111,_0xbc80fe,_0x2cc0d4,_0x3bc77d){const _0x143d49=_0x4c9111['markerName']['split'](':')[0x2],_0x68f7f5=_0x2cc0d4['getUserBySessionId'](_0x143d49);if(!_0x68f7f5||_0x143d49===_0x2cc0d4['mySessionId'])return;if(!_0x3bc77d['model']['schema']['checkChild'](_0x4c9111['markerRange']['start'],'$text'))return;const _0x11b0fa={'class':'ck-user__marker\x20'+_0x68f7f5['color']['getMarkerClass'](),'data-name':_0x68f7f5['name'],'data-session-id':_0x143d49},_0x47dcf7=_0x3bc77d['model']['markers']['get'](_0x4c9111['markerName']),_0xe501f2=_0x47dcf7['getStart'](),_0x1093af=_0xe501f2['nodeAfter'],_0x3990f8=_0x3bc77d['model']['schema'];if(_0x1093af&&_0x3990f8['isObject'](_0x1093af)&&_0x3990f8['isInline'](_0x1093af)&&!_0x3bc77d['model']['markers']['get']('user:range:'+_0x143d49)['getRange']()['isCollapsed'])return;const _0x4495cc=_0xe501f2['parent'];return _0x3bc77d['model']['schema']['isLimit'](_0x4495cc)&&!_0x3bc77d['model']['hasContent'](_0x4495cc)&&(_0x11b0fa['contenteditable']=!0x1),function(_0x42f6eb,_0x2c1b8b,_0x3e9154){const _0x1116c9=_0x42f6eb['createUIElement']('span',_0x2c1b8b);return _0x42f6eb['setCustomProperty']('userPositionMarker',!0x0,_0x1116c9),_0x1116c9['render']=function(_0x336566){const _0x59a9c0=this['toDomElement'](_0x336566),_0x443eee=document['createElement']('span');return _0x443eee['classList']['add']('ck-user__marker-tooltip'),_0x443eee['setAttribute']('contenteditable','false'),_0x443eee['setAttribute']('spellcheck','false'),_0x443eee['textContent']=_0x3e9154['name'],_0x59a9c0['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x443eee['outerHTML']+'⁠',_0x59a9c0['addEventListener']('mouseenter',()=>{_0x59a9c0['classList']['add']('ck-user__marker_hovered');}),_0x59a9c0['addEventListener']('mouseleave',()=>{_0x59a9c0['classList']['remove']('ck-user__marker_hovered');}),_0x59a9c0;},_0x1116c9['isSimilar']=function(_0x8b428a){return!(!this['getCustomProperty']('userPositionMarker')||!_0x8b428a['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x8b428a['getAttribute']('data-session-id'));},_0x1116c9;}(_0xbc80fe,_0x11b0fa,_0x68f7f5);}(_0x4cca01,_0x3f70a0,_0x3c7003,_0x15090b)}),_0x15090b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x23e69f=>function(_0x3bbe1c,_0x2f7900){const _0x549459=_0x3bbe1c['markerName']['split'](':')[0x2];if(_0x549459===_0x2f7900['mySessionId'])return null;const _0x4377b0=_0x2f7900['getUserBySessionId'](_0x549459);if(!_0x4377b0)return{'id':_0x549459,'classes':[]};return{'id':_0x549459,'classes':['ck-user__selection',_0x4377b0['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x549459},'priority':0x7d0+_0x4377b0['orderNumber']};}(_0x23e69f,_0x3c7003)}),function(_0x8c2943){const _0x56843e=_0x8c2943['model'],_0x3ba191=new Map(),_0x11fa6e=_0x8c2943['plugins']['get'](i);_0x56843e['markers']['on']('update:user:range',(_0x5331d9,_0x10424a,_0x21b523,_0x5d328d)=>{if(!_0x5d328d&&_0x3ba191['get'](_0x10424a['name']))return _0x3ba191['get'](_0x10424a['name'])['detach'](),void _0x3ba191['delete'](_0x10424a['name']);const _0x49a671=_0x10424a['name']['split'](':')[0x2];if(_0x49a671===_0x11fa6e['mySessionId'])return;const _0x3e9c4d='user:position:'+_0x49a671;_0x56843e['markers']['has'](_0x3e9c4d)&&_0x8c2943['editing']['reconvertMarker'](_0x3e9c4d),_0x10424a['on']('change:range',(_0x30c00b,_0x261b07,_0x5479c9)=>{if('$graveyard'!=_0x261b07['root']['rootName']&&'$graveyard'==_0x10424a['getRange']()['root']['rootName']&&!_0x3ba191['has'](_0x10424a['name'])){const _0x556465=_0x56843e['schema']['getNearestSelectionRange'](_0x5479c9['deletionPosition']);if(_0x556465){const _0x5edc95=_0x57d69b['fromRange'](_0x556465);_0x3ba191['set'](_0x10424a['name'],_0x5edc95),_0x5edc95['on']('change:range',(_0x72bb54,_0x130cc9,_0x24040b)=>{if('$graveyard'==_0x5edc95['root']['rootName']){const _0x4ac1df=_0x56843e['schema']['getNearestSelectionRange'](_0x24040b['deletionPosition']);_0x4ac1df?(_0x5edc95['start']=_0x4ac1df['start'],_0x5edc95['end']=_0x4ac1df['end']):(_0x3ba191['delete'](_0x10424a['name']),_0x5edc95['detach']());}});}}});}),_0x56843e['document']['on']('change',()=>{_0x3ba191['size']>0x0&&_0x56843e['enqueueChange']({'isUndoable':!0x1},_0x2aa1af=>{for(const [_0x28603b,_0x52e28f]of _0x3ba191)'$graveyard'==_0x56843e['markers']['get'](_0x28603b)['getRange']()['root']['rootName']&&(Z(_0x28603b['split'](':')[0x2],_0x52e28f['toRange'](),_0x56843e,_0x2aa1af),_0x52e28f['detach']());_0x3ba191['clear']();});});}(_0x15090b),this['_domEmitter']['listenTo'](_0x166590['document'],'keydown',(_0x4cb0e0,{key:_0x4f2d4e})=>{'Escape'===_0x4f2d4e&&function(_0x29c078){_0x29c078['editing']['view']['change'](_0x3af29f=>{for(const _0x579f66 of _0x29c078['model']['markers']){if(!_0x579f66['name']['startsWith']('user:position'))continue;const _0x4717fe=_0x29c078['editing']['mapper']['markerNameToElements'](_0x579f66['name']);if(_0x4717fe){for(const _0x319802 of _0x4717fe)_0x3af29f['removeClass']('ck-user__marker_hovered',_0x319802);}}});}(_0x15090b);},{'useCapture':!0x0});}['afterInit'](){const _0x46a5f8=this['editor'],_0xfc8e8c=_0x46a5f8['commands']['get']('undo');_0xfc8e8c&&_0x46a5f8['model']['on']('applyOperation',(_0x405aee,_0x5aa7e7)=>{const _0x10270e=_0x5aa7e7[0x0];if(!_0x10270e['isDocumentOperation'])return;if('marker'!=_0x10270e['type']||!_0x10270e['name']['startsWith']('user:'))return;const _0x424752=_0x10270e['batch'];_0xfc8e8c['_createdBatches']['has'](_0x424752)&&(_0x10270e['newRange']=_0x10270e['oldRange']?_0x46a5f8['model']['createRange'](_0x10270e['oldRange']['start'],_0x10270e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x177473=this['editor'],_0x1617be=_0x177473['model']['document'],_0x58efce=_0x177473['plugins']['get'](i);_0x177473['model']['enqueueChange']({'isUndoable':!0x1},_0x2a0ce5=>{const _0xf04803='user:range:'+_0x58efce['mySessionId'],_0x3b68c0='user:position:'+_0x58efce['mySessionId'],_0x4e8e35=_0x177473['model']['markers']['has'](_0xf04803);_0x177473['editing']['view']['hasDomSelection']?Z(_0x58efce['mySessionId'],_0x1617be['selection']['getFirstRange'](),_0x177473['model'],_0x2a0ce5):_0x4e8e35&&(_0x2a0ce5['removeMarker'](_0xf04803),_0x2a0ce5['removeMarker'](_0x3b68c0));});}}function Z(_0x32262a,_0x2fa432,_0x229f9a,_0x3352a0){const _0x1ca262='user:range:'+_0x32262a,_0x47866a='user:position:'+_0x32262a,_0x34cb00=_0x2fa432['getContainedElement']();let _0x57f7a2=_0x2fa432['start'];if(_0x34cb00&&_0x34cb00['is']('element','tableCell')){const _0xa9c377=function(_0x53e942,_0x5a45e4){for(const _0x35635c of _0x53e942['getPositions']())if(_0x5a45e4['schema']['checkChild'](_0x35635c,'$text'))return _0x35635c;}(_0x2fa432,_0x229f9a);_0xa9c377&&(_0x57f7a2=_0xa9c377,_0x2fa432=_0x3352a0['createRange'](_0x57f7a2));}const _0x42f264=_0x3352a0['createRange'](_0x57f7a2);_0x229f9a['markers']['has'](_0x1ca262)?(_0x3352a0['updateMarker'](_0x1ca262,{'range':_0x2fa432}),_0x3352a0['updateMarker'](_0x47866a,{'range':_0x42f264})):(_0x3352a0['addMarker'](_0x1ca262,{'range':_0x2fa432,'usingOperation':!0x0}),_0x3352a0['addMarker'](_0x47866a,{'range':_0x42f264,'usingOperation':!0x0}));}function W(_0x1c0caf,_0x4f01ad,_0x48a4fc){const _0x2e1efa=_0x1c0caf['t'],t=_0x1c0caf['t'];switch(_0x4f01ad){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 _0x2e1efa({'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'},_0x48a4fc);default:return'';}}let G=0x1;class l extends _0x38fa51{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x1eb7a7)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0x353cb1,_0x43f46f,_0xc37cde];}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 _0x3a6f57=this['serverHistory']['getOperations']();for(let _0x47f0ab=_0x3a6f57['length']-0x1;_0x47f0ab>=0x0;_0x47f0ab--){const _0x55c951=_0x3a6f57[_0x47f0ab];if(!this['_disconnectionOperations']['has'](_0x55c951))return _0x55c951['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x214aca){if(super(_0x214aca),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5f4adf(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3c299b('collaboration-missing-channelid',this);const _0xbf9e8b=_0x214aca['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0xbf9e8b,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x357efb(),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 J(this['_disconnectionOperations']);}['init'](){const _0x3df039=this['editor'],_0x4e7677=_0x3df039['plugins']['get'](_0x43f46f),_0x3c6350=_0x3df039['plugins']['get'](n);this['listenTo'](_0x4e7677,'getOperationAuthor',(_0x128240,_0x2723b6)=>{const _0x288485=_0x2723b6[0x0];_0x288485['_authorId']&&(_0x128240['return']=_0x4e7677['getUser'](_0x288485['_authorId']),_0x128240['stop']()),null===_0x288485['_authorId']&&(_0x128240['return']=null,_0x128240['stop']());},{'priority':'high'}),this['listenTo'](_0x3df039['model']['document']['selection'],'change:range',(_0x16b125,_0x465ece)=>{_0x465ece['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3df039['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3df039['model']['on']('applyOperation',(_0x37b1c4,_0x4da77f)=>{const _0x384baa=_0x4da77f[0x0];_0x384baa['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x384baa),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3c6350,'state',this,'_hasSynchronizationProblem',(_0x2472d2,_0x56b6f1)=>'connected'===_0x2472d2&&!_0x56b6f1),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3df039['disableReadOnlyMode']('rtc-offline'):_0x3df039['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3df039['disableReadOnlyMode']('rtc-offline'):_0x3df039['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x38752b=this['editor']['plugins']['get'](i),_0x1ad38b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x38752b['unregister'](this['_channelId']);const _0x25017a=await this['_service']['reconnect'](_0x1ad38b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x25017a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4278b6=await this['_service']['getConnectedSessions']();_0x38752b['register'](this['_channelId'],_0x4278b6),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x498585){if(function(_0xada4d4){return'404'===_0xada4d4['code'];}(_0x498585)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x383ab8){return'409'===_0x383ab8['code'];}(_0x498585)){const _0x3906b9=W(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'](_0x3906b9);}else{if(!(_0x498585 instanceof $))throw _0x498585;this['_handleReconnectionError']();}}}}['destroy'](){const _0x23031a=this['editor']['plugins']['get'](n),_0x2299ba=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2299ba['channelSessions']['has'](this['_channelId'])&&_0x2299ba['unregister'](this['_channelId']),_0x23031a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x10e05c){if(this['sessionId']!==_0x10e05c['sessionId']&&this['_lastSyncedOperationId']!==_0x10e05c['lastOperationId'])throw new $();return this['sessionId']=_0x10e05c['sessionId'],this['_handleServerResponse']([],{..._0x10e05c,'wereChangesApplied':!0x1,'data':_0x10e05c['data']},'reconnect');}async['_connectService'](_0x4cdfc5,_0x39cc12=!0x1){const {connection:_0x1ad701}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x1ad701,this['_channelId'])['then'](_0x5d63e8=>this['_initSessionsHandling'](_0x5d63e8))['catch'](_0x51dac3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x51dac3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2973b2,_0xd88df2)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xd88df2);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x1401f8=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4cdfc5);this['_isPendingUpdate']=!0x0;const _0x418092=await this['_service']['connect'](_0x1ad701,this['_compressOperations'](_0x4cdfc5),_0x1401f8);if(this['sessionId']=_0x418092['sessionId'],_0x39cc12){if(!_0x418092['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x418092['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4cdfc5,_0x418092,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x418092,_0x4cdfc5);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4f673b=this['editor']['plugins']['get'](i),_0x455052=this['editor']['plugins']['get'](V),_0x1dc7e8=_0x4f673b['channelSessions']['get'](this['_channelId']);_0x1dc7e8&&_0x1dc7e8['length']>0x1?_0x455052['createUserMarkerOperations']():this['listenTo'](_0x4f673b,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4f673b['channelSessions']['get'](this['_channelId'])['length']&&_0x455052['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3dfb37,_0x5e2408,_0x23a710,_0x42f79e){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5e2408){const _0x2428b2=this['_decompressOperations'](_0x23a710,_0x42f79e);await this['_fetchMissingUsers'](_0x2428b2),this['_handleExternalOperations'](_0x2428b2,_0x5e2408,_0x23a710['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x10129c}=this['editor'];let _0x4c892f;try{_0x4c892f=await this['_service']['getDocumentDetails']();}catch{const _0x4d0128=W(_0x10129c,'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'](_0x4d0128);}const _0x745055=_0x4c892f['currentDocumentSession']||_0x4c892f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x745055['lastOperationId']){const _0x2d7f29=W(_0x10129c,'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'](_0x2d7f29);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x40d28e){const _0x235a27=this['editor']['plugins']['get'](i);this['listenTo'](_0x235a27,'sessionAdd:'+this['_channelId'],(_0x5c293b,{session:_0x3dffe8})=>{if(_0x3dffe8['id']===_0x235a27['mySessionId']){_0x5c293b['off']();const _0x2c4f35=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5074e4=_0x3dffe8['permissions'];_0x2c4f35&&_0x2c4f35['isEnabled']&&(_0x5074e4=_0x5074e4['filter'](_0x2695e2=>'document:write'!==_0x2695e2)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5074e4,this['_channelId']);}}),_0x235a27['register'](this['_channelId'],_0x40d28e);}['_initThrowingOnDataSet'](){const _0x4b1788=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1035a3)=>{if(!_0x1035a3[_0x1035a3['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3c299b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4b1788['apply'](this['editor']['data'],_0x1035a3);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x37a2da,[_0x24c0a2])=>{if(this['_document']['version'])throw new _0x3c299b('realtimecollaborationclient-init-document-already-initialized',this);_0x37a2da['stop'](),this['_setPendingAction']();const _0x4fed2d=this['editor']['config']['get']('rootsAttributes'),_0x15bf76=this['_getOperationsFromInitData'](_0x24c0a2,_0x4fed2d);0x0==_0x15bf76['length']&&_0x15bf76['push'](new _0x249d09(0x0)),_0x37a2da['return']=this['_connectService'](_0x15bf76)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4fc7f=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4fc7f))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1d00f3,[_0x5a24bc,_0x56f058])=>{_0x1d00f3['stop']();const _0x3b911c=this['editor']['model']['document']['getRoot'](_0x5a24bc);if(!this['_knownRootNames']['has'](_0x5a24bc)){const _0x52c3ad=_0x56f058&&_0x56f058['data']?_0x56f058['data']:'',_0x504d46=_0x56f058&&_0x56f058['attributes']?_0x56f058['attributes']:{};await this['_loadRoot'](_0x5a24bc,_0x52c3ad,_0x504d46);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3b911c['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3b911c);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x287be1){const _0x25010b=this['editor']['plugins']['get'](_0x43f46f),{connection:_0x7aa01c}=this['editor']['plugins']['get'](n),_0x51e982=new Set();for(const _0x1883f9 of _0x287be1){const _0x4e05b2=_0x1883f9['_authorId'];_0x4e05b2&&!_0x25010b['getUser'](_0x4e05b2)&&_0x51e982['add'](_0x4e05b2);}if(0x0===_0x51e982['size'])return;const _0x247744=await lt['getMany'](_0x7aa01c,Array['from'](_0x51e982));for(const _0x5e2c5b of _0x247744)_0x25010b['getUser'](_0x5e2c5b['id'])||_0x25010b['addUser'](_0x5e2c5b);}['_getOperationsFromInitData'](_0x16d2a1,_0x307ed3={}){const _0x45c8e4=this['editor']['model'],_0x243966=[];let _0x374dd9=0x0;const _0x49eedb='string'==typeof _0x16d2a1?{'main':_0x16d2a1}:_0x16d2a1;for(const _0x2c31dc of Object['keys'](_0x49eedb)){if(!this['_document']['roots']['has'](_0x2c31dc))throw new _0x3c299b('realtimecollaborationclient-init-non-existent-root',this);const _0x50d998=this['editor']['data']['parse'](_0x49eedb[_0x2c31dc]),_0x47c138=this['_document']['getRoot'](_0x2c31dc),_0x15ee16=new _0xa284d2(_0x45c8e4['createPositionAt'](_0x47c138,0x0),_0x50d998,_0x374dd9++);_0x243966['push'](_0x15ee16);for(const [_0x59793a,_0xc00da3]of _0x50d998['markers']){const _0x22a70e=_0x45c8e4['createRange'](_0x45c8e4['createPositionFromPath'](_0x47c138,_0xc00da3['start']['path']['slice']()),_0x45c8e4['createPositionFromPath'](_0x47c138,_0xc00da3['end']['path']['slice']())),_0x50f702=new _0x552db8(_0x59793a,null,_0x22a70e,_0x45c8e4['markers'],!0x0,_0x374dd9++);_0x243966['push'](_0x50f702);}}if(_0x307ed3)for(const [_0xa6ef93,_0x489646]of Object['entries'](_0x307ed3)){const _0x4e106d=_0x45c8e4['document']['getRoot'](_0xa6ef93);if(!_0x4e106d)throw new _0x3c299b('multi-root-editor-root-attributes-no-root',null);for(const [_0x53bc4a,_0x30459a]of Object['entries'](_0x489646))if(null!==_0x30459a){const _0x17fe9d=new _0x1defe4(_0x4e106d,_0x53bc4a,null,_0x30459a,_0x374dd9++);_0x243966['push'](_0x17fe9d);}}return _0x243966;}async['_loadRoot'](_0x85cfce,_0x232440,_0x1143ff){this['_getOperationsFromInitData']({[_0x85cfce]:_0x232440},{[_0x85cfce]:_0x1143ff})['forEach']((_0x28608a,_0x3f35b9)=>{_0x28608a['baseVersion']=this['_document']['version']+_0x3f35b9,_0x28608a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x28608a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1a5dba,_0x4061f7){let _0x58b148;this['_offset']=_0x1a5dba['offset'];const _0x40cc99=_0x1a5dba['wereChangesApplied']&&!_0x1a5dba['initData'],_0xba3316=_0x40cc99?0x0:_0x1a5dba['data']['baseVersion'];if(_0x4061f7['forEach'](_0x484899=>{_0x484899['_isInit']=!0x0,_0x484899['createdAt']=_0x1a5dba['sessionCreatedAt'],_0x484899['_authorId']=null;}),_0x40cc99)_0x58b148=_0x4061f7,this['_applyOperationsSet'](_0x58b148,_0x40cc99);else{if(_0x1a5dba['initData']){const _0x4771c0=this['_getOperationsFromInitData'](_0x1a5dba['initData']);this['_document']['history']['version']=-_0x4771c0['length'],_0x4771c0['forEach'](_0x3b72fe=>{_0x3b72fe['baseVersion']-=_0x4771c0['length'],_0x3b72fe['createdAt']=_0x1a5dba['sessionCreatedAt'],_0x3b72fe['_isInit']=!0x0,_0x3b72fe['_authorId']=null;}),this['_applyOperationsSet'](_0x4771c0,!0x0),this['serverHistory']['version']=-_0x4771c0['length']+this['_offset'],this['_updateServerHistory'](_0x4771c0);}this['_document']['history']['version']=_0xba3316,_0x58b148=this['_decompressOperations'](_0x1a5dba['data'],_0x1a5dba['metadata']),await this['_fetchMissingUsers'](_0x58b148),this['_applyOperationsSet'](_0x58b148,_0x40cc99);}_0x1a5dba['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x58b148,_0x1a5dba['lastOperationId']),this['_lastSyncedOperationId']=_0x1a5dba['lastOperationId']),this['serverHistory']['version']=_0xba3316+this['_offset'],this['_updateServerHistory'](_0x58b148),_0x4061f7['filter'](_0x2bcd44=>{const _0x3ded98=this['_getAffectedRoot'](_0x2bcd44);return _0x3ded98&&!this['_knownRootNames']['has'](_0x3ded98);})['forEach']((_0x3b5556,_0x466a23)=>{_0x3b5556['baseVersion']=this['_document']['version']+_0x466a23,this['_saveOperationInBuffer'](_0x3b5556);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x346d3a,_0x49199c){const _0x53f155=_0x49199c&&_0x49199c['message'];if(_0x53f155&&_0x53f155['startsWith']('realtimecollaborationclient'))throw _0x49199c;const _0x247bd2=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x247bd2['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3c299b(_0x346d3a,this['editor'],_0x53f155?{'originalError':_0x53f155}:void 0x0);}['_saveOperationInBuffer'](_0x5e9a74){this['_knownOperations']['has'](_0x5e9a74)||(this['_knownOperations']['add'](_0x5e9a74),this['_bufferedOperations']['push'](_0x5e9a74),this['_pendingAction']||'marker'==_0x5e9a74['type']&&!_0x5e9a74['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2a2ce5=!0x1){!_0x2a2ce5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xc96ef9=>{_0xc96ef9&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x169f07=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xecca7f){return _0xecca7f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xecca7f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xecca7f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x169f07)||this['_crash'](_0x169f07['message'],_0x169f07);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x264ec6=>{this['on']('change:_isPendingUpdate',()=>{_0x264ec6();});});}async['_sendBufferedOperations'](){const _0x3f6538=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x3f6538['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x24ad46=[...this['_bufferedOperations']];for(const _0x6c35a1 of _0x24ad46)_0x6c35a1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x6c35a1);const _0x2a9ea9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x24ad46),_0x52207d=G++,_0x191e20=this['_compressOperations'](_0x24ad46),_0x27ba10=await this['_service']['sendOperations'](_0x191e20,_0x191e20['baseVersion'],_0x2a9ea9);try{return await this['_handleServerResponse'](_0x24ad46,_0x27ba10,_0x52207d);}catch(_0x2d8ef7){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2d8ef7);}}async['_handleServerResponse'](_0x277a32,_0x5f4326,_0x38ddc4){if('error'in _0x5f4326)throw _0x5f4326['error'];let _0x39f87c=!0x1;if(_0x5f4326['wereChangesApplied']){_0x5f4326['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5f4326['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x590616=>!_0x277a32['includes'](_0x590616));for(const _0x2677e1 of _0x277a32)_0x2677e1['createdAt']='lastOperationAcceptedAt'in _0x5f4326&&_0x5f4326['lastOperationAcceptedAt']||void 0x0;K(_0x277a32,_0x5f4326['version']-_0x277a32['length']),this['_updateServerHistory'](_0x277a32);const _0x2e96ad=_0x277a32['filter'](_0x40c01a=>{if(!_0x40c01a['_isInit'])return!0x1;const _0x9c49f5=this['_getAffectedRoot'](_0x40c01a);return _0x9c49f5&&!this['_knownRootNames']['has'](_0x9c49f5);});K(_0x2e96ad,this['_document']['version']),this['_applyOperationsSet'](_0x2e96ad),_0x39f87c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x29e5bb=this['_decompressOperations'](_0x5f4326['data'],_0x5f4326['metadata'])['filter'](_0x4cd859=>_0x4cd859['baseVersion']>=this['_lastServerVersion']);_0x29e5bb['forEach'](_0xef53bd=>this['_addKnownRoot'](_0xef53bd)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2cc7b1=>!_0x2cc7b1['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2cc7b1))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x29e5bb),_0x39f87c=this['_handleExternalOperations'](_0x29e5bb,_0x5f4326['version'],_0x5f4326['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x39f87c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x2f27d6,_0x4fcc5d,_0x28f714){try{const _0xb80017={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5a9595,operationsB:_0x1bfb41,originalOperations:_0x3a581d}=_0x2ea55e(_0x2f27d6,this['_bufferedOperations'],_0xb80017);K(_0x5a9595,this['_document']['version']),K(_0x1bfb41,_0x4fcc5d);for(const _0x1f36de of _0x5a9595){const _0x3ee9e8=_0x3a581d['get'](_0x1f36de);_0x1f36de['_authorId']=_0x3ee9e8?_0x3ee9e8['_authorId']:null;}_0x28f714&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2f27d6,_0x28f714),this['_lastSyncedOperationId']=_0x28f714),this['_bufferedOperations']=[..._0x1bfb41],this['_applyOperationsSet'](_0x5a9595),this['_updateServerHistory'](_0x2f27d6);}catch(_0x28e776){return console['error'](_0x28e776),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2565d8,_0x21c9e2=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x463afc=>{for(const _0x27f27b of _0x2565d8)this['_knownOperations']['add'](_0x27f27b),this['_addKnownRoot'](_0x27f27b),_0x463afc['batch']['addOperation'](_0x27f27b),this['editor']['model']['applyOperation'](_0x27f27b);});}['_addKnownRoot'](_0x2ee1f4){const _0x5e487e=this['_getAffectedRoot'](_0x2ee1f4);_0x5e487e&&this['_knownRootNames']['add'](_0x5e487e);}['_getAffectedRoot'](_0x4ab26d){let _0x76a329,_0x4865cd;switch(_0x4ab26d['type']){case'insert':_0x76a329=_0x4ab26d['position']['root'];break;case'marker':if(_0x4865cd=_0x4ab26d['newRange'],!_0x4865cd)return null;_0x76a329=_0x4865cd['root'];break;case'addRootAttribute':_0x76a329=_0x4ab26d['root'];break;case'addRoot':_0x76a329=_0x4ab26d['affectedSelectable'];break;case'move':_0x76a329=_0x4ab26d['targetPosition']['root'];break;default:return null;}return _0x76a329['rootName'];}['_updateServerHistory'](_0x16a69c){_0x16a69c['forEach'](_0x4f290f=>{const _0x59ce02=_0x4f290f['clone']();_0x59ce02['_authorId']=_0x4f290f['_authorId'],_0x59ce02['_isInit']=!!_0x4f290f['_isInit'],_0x59ce02['createdAt']=_0x4f290f['createdAt'],_0x59ce02['baseVersion']+=this['_offset'],_0x4f290f['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x59ce02),this['serverHistory']['addOperation'](_0x59ce02);});}['_handleReconnectionError'](_0x13691f){const _0x5dd0b5=this['editor']['plugins']['get']('Notification'),_0x3c7cc4=this['editor']['locale'];_0x13691f||(_0x13691f=W(_0x3c7cc4,'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.')),_0x5dd0b5['showWarning'](_0x13691f,{'title':W(_0x3c7cc4,'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'](_0x353cb1)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x353cb1)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x45a028){const _0x17ba04=_0x45a028['map'](_0x481688=>_0x481688['toJSON']());return this['_compressor']['compress'](_0x17ba04);}['_decompressOperations'](_0x3337de,_0xce3501){return this['_compressor']['decompress'](_0x3337de)['map']((_0x557926,_0x328cec)=>{const _0x40fd5b='init'==_0xce3501[_0x328cec]['type'];if('InsertOperation'==_0x557926['__className']){const _0x18cfd5=_0x557926['position']['root'];!this['_document']['getRoot'](_0x18cfd5)&&(this['_document']['createRoot']('$root',_0x18cfd5)['_isAttached']=!0x1);}const _0x24d95f=_0x13e959['fromJSON'](_0x557926,this['_document']);return _0x24d95f['wasUndone']=_0x557926['wasUndone'],_0x24d95f['_isInit']=_0x40fd5b,_0x24d95f['_authorId']=_0x40fd5b?null:_0xce3501[_0x328cec]['userId'],_0x24d95f['_isDisconnection']='cs:removeUser'===_0xce3501[_0x328cec]['type'],_0x24d95f['createdAt']=_0xce3501[_0x328cec]['createdAt'],_0x24d95f;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4d824a=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4d824a&&_0x4d824a['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x1a97ae,_0x3cb570){for(const _0x803848 of _0x1a97ae)_0x803848['baseVersion']=_0x3cb570++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x2d6b32){this['_ignoredOperations']=_0x2d6b32,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x7b8b21){let _0x137060=_0x7b8b21['length'];for(;_0x137060--;){const _0x3fc279=_0x7b8b21[_0x137060];if(!this['_ignoredOperations']['has'](_0x3fc279)){if(!this['_operationToId']['has'](_0x3fc279)){const _0x4e1ee9=_0x1b3102()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3fc279,_0x4e1ee9);}return this['_operationToId']['get'](_0x3fc279);}}}['setIdForTheLastOperation'](_0x5a86b8,_0x40e2d8){if(!_0x40e2d8)return;let _0x89d3cc=_0x5a86b8['length'];for(;_0x89d3cc--;){const _0x1ca504=_0x5a86b8[_0x89d3cc];this['_ignoredOperations']['has'](_0x1ca504)||this['_operationToId']['set'](_0x1ca504,_0x40e2d8);}}}class a extends _0x38fa51{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x5b3d3d{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x4b6acc)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x43f46f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xf4a818){super(_0xf4a818),this['_services']=new Map();}async['init'](){const _0x412d79=this['context'],_0x4a111e=_0x412d79['plugins']['get']('CommentsRepository');if(_0x412d79['plugins']['get'](n)['addToReconnectionStack'](this),_0x4a111e['adapter']={'addCommentThread':async({channelId:_0x4fc7dd,threadId:_0x248c74,comments:_0x3685bd,resolvedAt:_0x438fb3,resolvedBy:_0x150b5d,context:_0x34cca0,attributes:_0x5e9fcb})=>{const _0x4d94cd=await this['_getService'](_0x4fc7dd)['addCommentThread']({'commentThreadId':_0x248c74,'comments':_0x3685bd['map'](_0x51786e=>function(_0x57b7d0,_0x563199,_0x576b59){return{'commentThreadId':_0x576b59,'commentId':_0x57b7d0['commentId'],'userId':_0x57b7d0['authorId'],'content':_0x57b7d0['content'],'documentId':_0x563199,'createdAt':_0x57b7d0['createdAt'],'attributes':_0x57b7d0['attributes']||{}};}(_0x51786e,_0x4fc7dd,_0x248c74)),'resolvedAt':_0x438fb3,'resolvedBy':_0x150b5d,'context':_0x34cca0,'attributes':_0x5e9fcb})['catch'](dt);return{'threadId':_0x4d94cd['commentThreadId'],'comments':_0x4d94cd['comments']};},'getCommentThread':async({channelId:_0x5baba8,threadId:_0x1b0f9b})=>{const _0x9d9b85=await this['_getService'](_0x5baba8)['getCommentThread'](_0x1b0f9b)['catch'](f)['catch'](dt);return _0x9d9b85?_0x9d9b85['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x9d9b85]),{'threadId':_0x9d9b85['commentThreadId'],'comments':_0x9d9b85['comments']['map'](p),'context':_0x9d9b85['context'],'resolvedAt':_0x9d9b85['resolvedAt'],'resolvedBy':_0x9d9b85['resolvedBy'],'attributes':_0x9d9b85['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x56b6e1,threadId:_0x40b939,context:_0x4993ea,unlinkedAt:_0x336166,attributes:_0x364afc})=>this['_getService'](_0x56b6e1)['updateCommentThread']({'commentThreadId':_0x40b939,'context':_0x4993ea,'attributes':_0x364afc,'unlinkedAt':_0x336166})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x19c36e,threadId:_0x5803d6})=>{const _0x4e2fd4=await this['_getService'](_0x19c36e)['resolveCommentThread'](_0x5803d6)['catch'](f)['catch'](dt);return{'threadId':_0x4e2fd4['commentThreadId'],'resolvedAt':_0x4e2fd4['resolvedAt'],'resolvedBy':_0x4e2fd4['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3a22e6,threadId:_0x123c9d})=>this['_getService'](_0x3a22e6)['reopenCommentThread'](_0x123c9d)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0x4b2da9,threadId:_0x58fa9b})=>this['_getService'](_0x4b2da9)['removeCommentThread'](_0x58fa9b)['catch'](f)['catch'](dt),'addComment':({channelId:_0x535696,threadId:_0x229fd1,commentId:_0x311fbc,content:_0x2307f5,attributes:_0x2fad47})=>this['_getService'](_0x535696)['addComment'](_0x229fd1,_0x311fbc,_0x2307f5,_0x2fad47)['catch'](dt),'updateComment':({channelId:_0x1ec321,threadId:_0x226ee8,commentId:_0x263169,content:_0x275f75,attributes:_0x9eaf09})=>this['_getService'](_0x1ec321)['updateComment'](_0x226ee8,_0x263169,_0x275f75,_0x9eaf09)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x3e55df,threadId:_0x383578,commentId:_0x269eee})=>this['_getService'](_0x3e55df)['removeComment'](_0x383578,_0x269eee)['catch'](f)['catch'](dt)},_0x412d79 instanceof _0x39648d){const _0x3e0857=_0x412d79['config']['get']('collaboration.channelId'),_0x549106=_0x412d79['plugins']['get'](i);await this['_setUpService'](_0x3e0857);const _0x3d08f9=await this['_services']['get'](_0x3e0857)['getConnectedSessions']();this['listenTo'](_0x549106,'sessionAdd:'+_0x3e0857,(_0x4170de,{session:_0x458cc1})=>{_0x458cc1['id']===_0x549106['mySessionId']&&(_0x4170de['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x458cc1['permissions'],_0x3e0857));}),_0x549106['register'](_0x3e0857,_0x3d08f9);}}async['_setUpService'](_0x247cc5){if(this['_services']['has'](_0x247cc5))throw new _0x3c299b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x247cc5});const _0x4cae21=this['context']['plugins']['get']('CommentsRepository'),_0x2b2be8=new s['CommentsService'](_0x247cc5);this['_services']['set'](_0x247cc5,_0x2b2be8),this['listenTo'](_0x2b2be8,'commentThreadAdded',(_0x26c3a0,_0xc09baa)=>{const {commentThreadId:_0x33a0fb,documentId:_0x1463f7,context:_0x1b5f91,attributes:_0x28622f,resolvedAt:_0x5b01d6,resolvedBy:_0x3fa029,comments:_0x9be504}=_0xc09baa;_0x4cae21['getCommentThread'](_0x33a0fb)||_0x4cae21['addCommentThread']({'threadId':_0x33a0fb,'channelId':_0x1463f7,'comments':_0x9be504?_0x9be504['map'](p):[],'context':_0x1b5f91,'attributes':_0x28622f,'resolvedAt':_0x5b01d6,'resolvedBy':_0x3fa029,'isFromAdapter':!0x0});}),this['listenTo'](_0x2b2be8,'commentThreadUpdated',(_0x2f93d7,{commentThreadId:_0x49925b,documentId:_0x4d72cc,context:_0x37740b,unlinkedAt:_0x1f530a,attributes:_0x55e555})=>{_0x4cae21['getCommentThread'](_0x49925b)&&_0x4cae21['updateCommentThread']({'threadId':_0x49925b,'channelId':_0x4d72cc,'context':_0x37740b,'unlinkedAt':_0x1f530a,'attributes':_0x55e555,'isFromAdapter':!0x0});}),this['listenTo'](_0x2b2be8,'commentThreadResolved',(_0x476e95,{commentThreadId:_0xcda4f6,resolvedBy:_0x274107,resolvedAt:_0xfffbe6})=>{const _0x6183c0=_0x4cae21['getCommentThread'](_0xcda4f6);_0x6183c0&&_0x6183c0['resolve']({'resolvedBy':_0x274107,'resolvedAt':_0xfffbe6,'isFromAdapter':!0x0});}),this['listenTo'](_0x2b2be8,'commentThreadReopened',(_0x157d72,{commentThreadId:_0x3dfa75})=>{const _0x12330e=_0x4cae21['getCommentThread'](_0x3dfa75);_0x12330e&&_0x12330e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2b2be8,'commentThreadRemoved',(_0x95209,{commentThreadId:_0xfacd4f})=>{const _0x2390d1=_0x4cae21['getCommentThread'](_0xfacd4f);_0x2390d1&&_0x2390d1['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2b2be8,'commentAdded',(_0x553601,_0x8f94)=>{const _0x1e8c07=_0x8f94['commentThreadId'],_0x39004c=_0x4cae21['getCommentThread'](_0x1e8c07);_0x39004c&&_0x39004c['addComment']({...p(_0x8f94),'isFromAdapter':!0x0});}),this['listenTo'](_0x2b2be8,'commentUpdated',(_0x12484c,{commentThreadId:_0x20efde,commentId:_0x31a405,content:_0x53ea65,attributes:_0x152a73})=>{const _0x3bcf81=_0x4cae21['getCommentThread'](_0x20efde);if(_0x3bcf81){const _0x5cbcc0=_0x3bcf81['getComment'](_0x31a405);_0x5cbcc0&&_0x5cbcc0['update']({'content':_0x53ea65,'attributes':_0x152a73,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2b2be8,'commentRemoved',(_0x379348,{commentThreadId:_0x3fd864,commentId:_0x4181b7})=>{const _0xf7b287=_0x4cae21['getCommentThread'](_0x3fd864);if(_0xf7b287){const _0x28a813=_0xf7b287['getComment'](_0x4181b7);_0x28a813&&_0x28a813['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x247cc5);}['destroy'](){if(this['context']instanceof _0x39648d){const _0x1ae4ad=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1ae4ad);}}['_terminateService'](_0x596402){if(!this['_services']['has'](_0x596402))throw new _0x3c299b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x596402});this['_getService'](_0x596402)['disconnect'](),this['_services']['delete'](_0x596402);}async['reconnect'](){for(const _0x27bc7d of this['_services']['keys']())await this['_connectService'](_0x27bc7d);if(this['context']instanceof _0x39648d){const _0x3936dd=this['context']['config']['get']('collaboration.channelId'),_0x16c3f0=this['context']['plugins']['get'](i);_0x16c3f0['unregister'](_0x3936dd);const _0x1d81fe=await this['_services']['get'](_0x3936dd)['getConnectedSessions']();_0x16c3f0['register'](_0x3936dd,_0x1d81fe);}}async['_connectService'](_0x2744dc){const {connection:_0x5beabb}=this['context']['plugins']['get'](n),_0x1bdb3c=this['context']['plugins']['get']('CommentsRepository'),_0x11bb60=this['_services']['get'](_0x2744dc),_0x533831=await _0x11bb60['connect'](_0x5beabb);await this['_fetchMissingUsersForThreads'](_0x533831);const _0x346e82=new Set(Array['from'](_0x1bdb3c['getCommentThreads']({'channelId':_0x2744dc}),_0x382b83=>_0x382b83['id']));for(const _0x4e8ed7 of _0x533831)_0x4e8ed7['deletedAt']||_0x346e82['delete'](_0x4e8ed7['commentThreadId']);for(const _0x6e8f7c of _0x346e82)_0x1bdb3c['getCommentThread'](_0x6e8f7c)['remove']({'isFromAdapter':!0x0});for(const _0x1c8f84 of _0x533831){let _0x4a50f0=_0x1bdb3c['getCommentThread'](_0x1c8f84['commentThreadId']);const {commentThreadId:_0x29b73d,context:_0xb0592e,attributes:_0xb4e8f6,resolvedBy:_0x1e0a83,resolvedAt:_0x53d85e,unlinkedAt:_0x11855b,deletedAt:_0x1188be}=_0x1c8f84;if(_0x1188be)continue;_0x4a50f0||(_0x4a50f0=_0x1bdb3c['addCommentThread']({'channelId':_0x2744dc,'threadId':_0x29b73d,'context':_0xb0592e,'attributes':_0xb4e8f6||{},'resolvedBy':_0x1e0a83,'resolvedAt':_0x53d85e,'unlinkedAt':_0x11855b,'isFromAdapter':!0x0}));const _0x215bfc=new Set(Array['from'](_0x4a50f0['comments'],_0x1c65fa=>_0x1c65fa['id']));for(const _0x1a4e2e of _0x1c8f84['comments'])_0x215bfc['delete'](_0x1a4e2e['commentId']);for(const _0x56997a of _0x215bfc)_0x4a50f0['getComment'](_0x56997a)['remove']({'isFromAdapter':!0x0});for(const _0x4a6e8e of _0x1c8f84['comments']){const _0x4543b2=_0x4a50f0['getComment'](_0x4a6e8e['commentId']);_0x4543b2?_0x4543b2['content']!==_0x4a6e8e['content']&&_0x4543b2['update']({'content':_0x4a6e8e['content'],'isFromAdapter':!0x0}):_0x4a50f0['addComment'](Object['assign'](p(_0x4a6e8e),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1a6919){if(!this['_services']['has'](_0x1a6919))throw new _0x3c299b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1a6919});return this['_services']['get'](_0x1a6919);}async['_fetchMissingUsersForThreads'](_0x1f21a7){const _0x5afe59=this['context']['plugins']['get'](_0x43f46f),{connection:_0x4df564}=this['context']['plugins']['get'](n),_0x5571bd=new Set();for(const {resolvedBy:_0x41a24b,comments:_0x201843}of _0x1f21a7){_0x41a24b&&!_0x5afe59['getUser'](_0x41a24b)&&_0x5571bd['add'](_0x41a24b);for(const {userId:_0x13d581}of _0x201843)_0x5afe59['getUser'](_0x13d581)||_0x5571bd['add'](_0x13d581);}if(0x0===_0x5571bd['size'])return;const _0x56ad71=await lt['getMany'](_0x4df564,Array['from'](_0x5571bd));for(const _0x24f263 of _0x56ad71)_0x5afe59['getUser'](_0x24f263['id'])||_0x5afe59['addUser'](_0x24f263);}}async function f(_0x95e1d0){if('404'!==_0x95e1d0['code'])throw _0x95e1d0;}function dt(_0x23df25){if((_0x24d81a=_0x23df25)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x24d81a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x24d81a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x24d81a;throw _0x23df25;}function p(_0x34f00b){return{'threadId':_0x34f00b['commentThreadId'],'commentId':_0x34f00b['commentId'],'content':_0x34f00b['content'],'createdAt':_0x34f00b['createdAt'],'authorId':_0x34f00b['userId'],'attributes':_0x34f00b['attributes']||{}};}class m extends _0x38fa51{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_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(_0x3ef06c){super(_0x3ef06c);const _0xafbf23=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0xafbf23);}['init'](){const _0x2c1fcf=this['editor']['plugins']['get'](n),_0x1c054d=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1c054d['adapter']={'getSuggestion':async _0x2f45b2=>{await this['_waitForServiceReady']();const _0x39b01f=await this['_trackChangesService']['get'](_0x2f45b2)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x39b01f]),_0x39b01f;},'addSuggestion':async({id:_0x49ffa3,type:_0x5d6cd1,data:_0x264eac,originalSuggestionId:_0xd313cd,attributes:_0xa3533c})=>{await this['_waitForServiceReady']();const _0x466201={'id':_0x49ffa3,'type':_0x5d6cd1,'data':_0x264eac,'originalSuggestionId':_0xd313cd,'attributes':_0xa3533c},_0x412680=await this['_trackChangesService']['add'](_0x49ffa3,_0x5d6cd1,_0x264eac,_0xd313cd,_0xa3533c)['catch'](_0x4142e3=>{if(ut(_0x4142e3))return new Promise(_0x297cf6=>{this['_bufferedRequests']['set'](_0x49ffa3,{'resolve':_0x297cf6,'suggestionData':_0x466201});});throw _0x4142e3;});return this['_bufferedRequests']['delete'](_0x49ffa3),_0x412680;},'updateSuggestion':async(_0x45f065,_0x3ba249)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3ba249['state'])return this['_trackChangesService']['update'](_0x45f065,_0x3ba249)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2169b0,_0x1a35d3)=>{_0x1c054d['hasSuggestion'](_0x1a35d3['id'])&&(_0x1c054d['getSuggestion'](_0x1a35d3['id'])['attributes']=_0x1a35d3['attributes']);}),this['_trackChangesService']['connect'](_0x2c1fcf['connection'])['then'](_0x52b6f2=>(_0x2c1fcf['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x52b6f2)['then'](()=>{for(const _0x914321 of _0x52b6f2){_0x1c054d['addSuggestionData'](_0x914321)['_saved']=!0x0;}})));}async['reconnect'](){const _0xff5085=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5cb5f6}=this['editor']['plugins']['get'](n),_0x352bb8=await this['_trackChangesService']['connect'](_0x5cb5f6);await this['_fetchMissingUsersForThreads'](_0x352bb8);for(const {suggestionData:_0x40ede0,resolve:_0x59a4ed}of this['_bufferedRequests']['values']()){let _0x222199=_0x352bb8['find'](_0x3a6773=>_0x3a6773['id']===_0x40ede0['id']);_0x222199||(_0x222199=await this['_trackChangesService']['add'](_0x40ede0['id'],_0x40ede0['type'],_0x40ede0['data'],_0x40ede0['originalSuggestionId'])),_0x59a4ed(_0x222199);}for(const _0x3bce3f of _0x352bb8)_0xff5085['hasSuggestion'](_0x3bce3f['id'])||_0xff5085['addSuggestionData'](_0x3bce3f);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0xe6e29a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3b2f66=>{_0x3b2f66['off'](),_0xe6e29a();});});}async['_fetchMissingUsersForThreads'](_0x590198){const _0x137a6c=this['editor']['plugins']['get'](_0x43f46f),{connection:_0x54e88c}=this['editor']['plugins']['get'](n),_0x5781e0=new Set();for(const {authorId:_0x23233a}of _0x590198)_0x137a6c['getUser'](_0x23233a)||_0x5781e0['add'](_0x23233a);if(0x0===_0x5781e0['size'])return;const _0x4eeb08=await lt['getMany'](_0x54e88c,Array['from'](_0x5781e0));for(const _0x1ef6b6 of _0x4eeb08)_0x137a6c['getUser'](_0x1ef6b6['id'])||_0x137a6c['addUser'](_0x1ef6b6);}}function A(_0x57af70){if(ut(_0x57af70))return new Promise(()=>{});throw _0x57af70;}function ut(_0x1ad8bd){return _0x1ad8bd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1ad8bd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x38fa51{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 _0x1a3897=this['editor']['plugins']['get'](n),_0xa8fd69=this['editor']['plugins']['get']('CommentsEditing'),_0x44bd47=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1a3897,'change:state',(_0x1f86bd,_0x3975d6,_0x4d565c)=>{_0xa8fd69['isThreadsLoadingPaused']='connected'!==_0x4d565c;});}),this['listenTo'](_0x1a3897,'change:state',(_0x3b4804,_0x164402,_0x3d3b0c)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x3d3b0c);}),_0x44bd47['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x38fa51{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 _0x38fa51{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x43f46f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x558324){super(_0x558324);const _0x5edaaf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5edaaf);}async['init'](){const _0x50c923=this['editor']['plugins']['get'](l),_0x126312=_0x50c923['serverHistory'],_0xf5bbe9=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x126312,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x50c923['sessionId']});const _0x399da7=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x33c77e=await tt['isBundleUploaded'](_0xf5bbe9['connection'],_0x399da7);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2f1a70})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2f1a70)),'updateRevisions':async _0x511b6d=>{await this['_waitForServiceReady']();const _0x3e0d4d=this['_revisionTracker']['currentRevision'];if(_0x33c77e&&0x1===_0x511b6d['length']&&_0x511b6d[0x0]['id']===_0x3e0d4d['id'])return _0x511b6d;for(const _0x335f36 of _0x511b6d)_0x335f36['id']===_0x3e0d4d['id']&&(_0x335f36['isEmptyCurrent']=_0x335f36['fromVersion']===_0x335f36['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x511b6d,this['_lastRequestId'])['then'](_0x252eed=>(this['_lastRequestId']=_0x252eed,_0x511b6d))['catch'](_0x416b50=>{if(st(_0x416b50)||'400'===_0x416b50['code']&&void 0x0!==_0x416b50['data']['wrongRequestId']){for(const _0x44ab15 of _0x511b6d){!this['_revisionTracker']['repository']['getRevision'](_0x44ab15['id'])||this['_revisionTracker']['_bufferUpdate'](_0x44ab15['id'],_0x44ab15,!0x1);}if(st(_0x416b50))throw _0x416b50;return _0x511b6d;}throw _0x416b50;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x58f87c,{revisionsData:_0x10850c,requestId:_0x250e0e})=>{Math['max'](..._0x10850c['map'](_0x505dfa=>_0x505dfa['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x10850c,_0x250e0e);}):this['_handleRevisionsUpdate'](_0x10850c,_0x250e0e);});const {revisions:_0x3ea80c,requestId:_0xa4ba79}=await this['_revisionHistoryService']['connect'](_0xf5bbe9['connection']);_0xf5bbe9['addToReconnectionStack'](this),this['_lastRequestId']=_0xa4ba79,await this['_fetchMissingUsers'](_0x3ea80c);for(const _0x51fb50 of _0x3ea80c)this['_revisionTracker']['addRevisionData'](_0x51fb50);this['listenTo'](_0x50c923,'change:_isConnected',(_0x3feb8f,_0x250975,_0x18c86a)=>{_0x18c86a&&(this['_oldOffset']=_0x50c923['_offset'],_0x3feb8f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0xf5bbe9,'state',_0x23a567=>_0x23a567===te['CONNECTED']);}async['reconnect'](){const _0x4aef54=this['editor']['plugins']['get'](n),_0x4b71a6=this['editor']['plugins']['get'](l),_0x6ea021=async()=>{const _0x43f7c3=this['_revisionTracker']['currentRevision'],_0x738901=_0x43f7c3['id'],_0x4d4f50=_0x738901!==_0x4b71a6['sessionId'];if(_0x4d4f50){const _0x20ab9d=_0x4b71a6['_offset']-this['_oldOffset'],_0x1c8de9=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x43f7c3['toVersion']+_0x20ab9d!==_0x1c8de9){const _0x4a5734=_0x43f7c3['fromVersion']+_0x20ab9d,_0x3d5762=this['editor']['plugins']['get'](_0x43f46f),_0x28a604=this['_revisionTracker']['buildRevisionData']({'revision':_0x43f7c3,'from':_0x4a5734,'to':_0x1c8de9});_0x28a604['id']=_0x43f7c3['id'];const _0x3015f6=_0x28a604['authorsIds']['map'](_0x18ed40=>_0x3d5762['getUser'](_0x18ed40));_0x43f7c3['_update']({..._0x28a604,'authors':_0x3015f6},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x43f7c3['id'],_0x28a604,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1c8de9,(_0x43f7c3['toVersion']===_0x43f7c3['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x738901)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x738901),this['_revisionTracker']['_createCurrentRevision'](_0x1c8de9));}const {revisions:_0x959954,requestId:_0xc94111}=await this['_revisionHistoryService']['reconnect'](_0x4aef54['connection'],this['_lastRequestId']);_0x4d4f50&&_0x959954['length']>0x0?_0x4b71a6['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x959954),this['_handleRevisionsUpdate'](_0x959954,_0xc94111),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4b71a6['_isConnected']?_0x6ea021():new Promise((_0x34ddac,_0x2d165b)=>{_0x4b71a6['once']('change:_isConnected',()=>{_0x6ea021()['then'](_0x34ddac)['catch'](_0x2d165b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3eef89=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x638a6c=>{_0x638a6c['off'](),_0x3eef89();});});}['_getLatestVersionFromServerOperations'](){const _0x2ffa77=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xc3f4b5 of _0x2ffa77)if('marker'!==_0xc3f4b5['type']||_0xc3f4b5['affectsData'])return _0xc3f4b5['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5782f7=this['editor']['plugins']['get'](l);return new Promise(_0x406b11=>{_0x5782f7['_isPendingUpdate']?_0x5782f7['once']('change:_isPendingUpdate',()=>{_0x406b11(this['_getLatestVersionFromServerOperations']());}):_0x406b11(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x29a59e,_0x49b857){const _0x5b5d42=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x49b857;for(const _0xb3e0aa of _0x29a59e){const _0x31db8c=_0x5b5d42['getRevision'](_0xb3e0aa['id']);if(_0x31db8c){if((_0xb3e0aa['fromVersion']||_0xb3e0aa['toVersion'])&&(_0xb3e0aa['diffData']=null),_0x31db8c===this['_revisionTracker']['currentRevision']){const _0x1dc26a=Math['max'](_0x31db8c['toVersion'],_0xb3e0aa['toVersion']),_0x7039bc=Math['max'](_0x31db8c['fromVersion'],_0xb3e0aa['fromVersion']);let _0x134a5e;_0x31db8c['toVersion']===_0xb3e0aa['toVersion']&&_0x31db8c['fromVersion']===_0xb3e0aa['fromVersion']?(_0x134a5e=!0x0,this['_preventResendingRevisionData'](_0xb3e0aa)):_0xb3e0aa['toVersion']===_0x1dc26a&&_0xb3e0aa['fromVersion']===_0x7039bc?_0x134a5e=!0x1:(_0x31db8c['toVersion']===_0x1dc26a&&_0x31db8c['fromVersion']===_0x7039bc||this['_fixRevision']({'revision':_0x31db8c,'from':_0x7039bc,'to':_0x1dc26a}),_0x134a5e=!0x0),_0x134a5e&&(delete _0xb3e0aa['fromVersion'],delete _0xb3e0aa['toVersion'],delete _0xb3e0aa['diffData'],delete _0xb3e0aa['createdAt'],delete _0xb3e0aa['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xb3e0aa),this['_preventResendingRevisionData'](_0xb3e0aa);}else this['_revisionTracker']['addRevisionData'](_0xb3e0aa);}const _0x5a81f2=_0x5b5d42['getRevisions']();_0x5a81f2['reverse']();for(let _0x49e645=0x0;_0x49e645<_0x5a81f2['length']-0x1;_0x49e645++){const _0x234856=_0x5a81f2[_0x49e645],_0x9e6365=_0x5a81f2[_0x49e645+0x1];if(_0x234856['fromVersion']<_0x9e6365['toVersion']){const _0xcba029=_0x9e6365['toVersion'],_0x4f332a=Math['max'](_0xcba029,_0x234856['toVersion']);this['_fixRevision']({'revision':_0x234856,'from':_0xcba029,'to':_0x4f332a});}}}['_fixRevision']({revision:_0x593e7b,from:_0x4d1498,to:_0x5c5a9a}={}){const _0xfffe0b=this['editor']['plugins']['get'](_0x43f46f),_0x4fc7b8=this['_revisionTracker']['buildRevisionData']({'revision':_0x593e7b,'from':_0x4d1498,'to':_0x5c5a9a});_0x4fc7b8['authors']=_0x4fc7b8['authorsIds']['map'](_0x701450=>_0xfffe0b['getUser'](_0x701450)),_0x593e7b['_update'](_0x4fc7b8);}['_preventResendingRevisionData'](_0x5eb1a4){const _0x115c75={};_0x115c75['id']=_0x5eb1a4['id'];for(const _0x2c474c of Object['keys'](_0x5eb1a4))'id'!==_0x2c474c&&(_0x115c75[_0x2c474c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x115c75['id'],_0x115c75,!0x0);}async['_fetchMissingUsers'](_0x190e44){const _0x5a8a40=this['editor']['plugins']['get'](_0x43f46f),{connection:_0x3a02b3}=this['editor']['plugins']['get'](n),_0x1a17a2=new Set();for(const _0x96c0b7 of _0x190e44){for(const _0x2492eb of _0x96c0b7['authorsIds'])_0x4f7626(_0x2492eb);_0x96c0b7['creatorId']&&_0x4f7626(_0x96c0b7['creatorId']);}if(0x0===_0x1a17a2['size'])return;const _0x563441=await lt['getMany'](_0x3a02b3,Array['from'](_0x1a17a2));for(const _0x158902 of _0x563441)_0x5a8a40['getUser'](_0x158902['id'])||_0x5a8a40['addUser'](_0x158902);function _0x4f7626(_0x5ea992){_0x5a8a40['getUser'](_0x5ea992)||_0x1a17a2['add'](_0x5ea992);}}}function st(_0x5e3d02){return _0x5e3d02['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5e3d02['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e3d02['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x38fa51{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x2e7f59{['_collapseAt'];constructor(_0x1c2c60,_0x109b7b=0x6){super(_0x1c2c60);const _0x53a818=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x109b7b,this['bind']('isHidden')['to'](this,'usersCount',_0x18519b=>_0x18519b<_0x109b7b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x53a818['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':_0x53a818['to']('usersCount',_0x492ea0=>'+'+(_0x492ea0-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2e7f59{['items'];['keystrokes'];constructor(_0x20de1f){super(_0x20de1f);const _0x51a2eb=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4cb197(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x51a2eb['if']('hasPopup'),'aria-expanded':_0x51a2eb['to']('isExpanded',_0x31476b=>this['hasPopup']&&String(_0x31476b)),'aria-label':_0x51a2eb['to']('hasPopup',_0x7dce43=>W(_0x20de1f,_0x7dce43?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x51a2eb['to']('hasPopup',_0x4cc62c=>!!_0x4cc62c&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x51a2eb['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x51a2eb['to'](_0x43fc5a=>{const _0x5638ec=_0x43fc5a,_0xc2161=document['querySelector']('.ck-presence-list__dropdown-list'),_0x154641=document['querySelector']('.ck-balloon-panel_with-arrow');_0xc2161?.['contains'](_0x5638ec['relatedTarget'])||_0x154641?.['contains'](_0x5638ec['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x21c79f,_0x21c969,_0x485e8b)=>{this['element']&&(_0x485e8b?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 k extends _0x2e7f59{['counterView'];['inlineListView'];constructor(_0xe856c7,_0x35e030=0x6){super(_0xe856c7);const _0x190469=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x35e030),this['inlineListView']=new is(_0xe856c7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x59e2f7 of this['inlineListView']['items'])_0x59e2f7['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',_0x190469['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x2e7f59{['listWrapperView'];constructor(_0x1d742e,_0x43392e){super(_0x1d742e);const _0x340a6c=this['bindTemplate'];this['listWrapperView']=new pt(_0x1d742e,_0x43392e),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x1d742e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x340a6c['to'](_0x40bb4b=>{const _0x43d3a7=_0x40bb4b,_0x356a2a=document['querySelector']('.ck-presence-list__list'),_0x2cb9d1=document['querySelector']('.ck-balloon-panel_with-arrow');_0x356a2a?.['contains'](_0x43d3a7['relatedTarget'])||_0x2cb9d1?.['contains'](_0x43d3a7['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x189eb0{constructor(_0x2613cc,_0x15c25a){super(_0x2613cc);const _0x29b3e1=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x15c25a?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x29b3e1['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x29b3e1['to']('role'),'aria-label':_0x29b3e1['to']('ariaLabel'),'aria-labelledby':_0x29b3e1['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x166590['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1a23e2=this['element'];_0x1a23e2&&(this['_isScrollable']=Math['max'](_0x1a23e2['scrollHeight'],_0x1a23e2['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x21b859,_0x3dcd56,_0x37c323){super(_0x21b859);const _0x1f5cd7=this['bindTemplate'];this['userView']=new ct(_0x21b859,_0x3dcd56);const _0x369772={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3dcd56['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3dcd56['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3dcd56['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x37c323&&(_0x369772['tag']='button',_0x369772['on']={'click':_0x1f5cd7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x369772);}['focus'](){this['element']['focus']();}}class _ extends _0x2e7f59{['userView'];['markerView'];constructor(_0x5b500b,_0xd207ad,_0x5a0c6d){super(_0x5b500b);const _0x5c012c=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x5b500b,_0xd207ad),this['markerView']=new at(_0x5b500b,_0xd207ad);const _0x224544=new ot(_0x5b500b);_0x224544['template']['tag']='span',_0x224544['text']=_0xd207ad['name'];const _0x8a07aa={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5c012c['to']('isFocusable',_0x1f7d1f=>!!_0x1f7d1f&&0x0),'aria-labelledby':_0x224544['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5c012c['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5c012c['to']('hasTooltip',_0x2ccb40=>!_0x2ccb40),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x224544]};_0x5a0c6d&&(_0x8a07aa['tag']='button',_0x8a07aa['on']={'click':_0x5c012c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x8a07aa);}}class at extends _0x2e7f59{constructor(_0x16c268,_0x4c70aa){super(_0x16c268),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4c70aa['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x5b3d3d{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2110ce){super(_0x2110ce),this['context']['config']['define']('presenceList',U);const _0x5eb063=_0x2110ce['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5eb063)throw new _0x3c299b('presencelist-collapseat-invalid-format',this);if(_0x5eb063<0x1)throw new _0x3c299b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3e4b61(),this['balloonPanelView']=new _0x2f1aa7(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x632589 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x632589);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1d2348,_0x5fd832)=>{this['_handleUserAdd'](_0x5fd832);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4ce645,_0x3d3469)=>{this['_handleUserRemove'](_0x3d3469);});}['_createView'](){const _0x5a6aec=this['context'],_0xab8233=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x596d4e=this['balloonPanelView'];if(!_0x420389(_0x5a6aec['config']['get']('presenceList.container')))throw new _0x3c299b('presencelist-missing-container',this);return _0xab8233['counterView']['bind']('usersCount')['to'](this),_0xab8233['bind']('isCollapsed')['to'](this,'usersCount',_0x41e5f5=>{const {collapseAt:_0x1d0437}=_0x5a6aec['config']['get']('presenceList'),_0x1024a4=_0x41e5f5>=_0x1d0437;if(_0x1024a4&&!_0xab8233['inlineListView']['items']['find'](_0x44c1cc=>_0x44c1cc instanceof y)){const _0x141f07=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x141f07&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xab8233['inlineListView']['items']['add'](_0xab8233['counterView']);}return _0x1024a4||this['hideDropdown'](),_0x1024a4;}),_0xab8233['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x333ebf=>{const _0x46dfc8=_0x5a6aec['config']['get']('presenceList'),_0x51d377=new _(_0x5a6aec['locale'],_0x333ebf,!!_0x46dfc8['onClick']);return _0x51d377['bind']('hasTooltip')['to'](_0xab8233,'isCollapsed',_0x27e7d7=>!_0x27e7d7),_0x51d377['bind']('isFocusable')['to'](_0xab8233,'isCollapsed',_0x426ea4=>!_0x426ea4),_0x46dfc8['onClick']&&this['listenTo'](_0x51d377,'execute',()=>{this['view']['isCollapsed']||_0x46dfc8['onClick'](_0x333ebf,_0x51d377['element']);}),_0x51d377;}),this['listenTo'](_0xab8233['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xab8233['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xab8233['inlineListView']['keystrokes']['set']('Enter',(_0x453fff,_0x1eed1e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1eed1e());}),_0xab8233['render'](),_0x596d4e['render'](),_0x47fb05({'emitter':_0xab8233,'activator':()=>_0x596d4e['isVisible'],'contextElements':[_0x596d4e['element'],_0xab8233['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5a6aec['config']['get']('presenceList.container')['appendChild'](_0xab8233['element']),this['_bodyCollection']=new _0x115a40(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xab8233;}['_handleUserAdd'](_0x2b227c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2b227c['isMe'])return;const _0xbd1d8=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xbd1d8-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2ffb7c=_0x2b227c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2b227c,_0x2ffb7c);}['_handleUserRemove'](_0x5c862a){this['usersCount']--;const {collapseAt:_0x59d268}=this['context']['config']['get']('presenceList'),_0x14befb=this['usersCount']>=_0x59d268;if(this['currentDisplayedUsers']['get'](_0x5c862a['id']))this['currentDisplayedUsers']['remove'](_0x5c862a['id']);else{if(_0x14befb&&this['currentDisplayedUsers']['length']+0x1===_0x59d268-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x14befb?0x1:0x0)<this['usersCount']){for(const _0x45fb3f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x45fb3f['id'])&&(this['currentDisplayedUsers']['add'](_0x45fb3f,Math['min'](this['currentDisplayedUsers']['length']-(_0x14befb?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x14befb?0x1:0x0)===_0x59d268-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x59f784=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x59f784['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5831c9}=this['presenceDropdownView'];_0x5831c9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3227ad=>{if(!_0x59f784['displayMe']&&_0x3227ad['isMe'])return null;const _0x5ee37d=new P(this['context']['locale'],_0x3227ad,!!_0x59f784['onClick']);return _0x59f784['onClick']&&this['listenTo'](_0x5ee37d,'execute',()=>{_0x59f784['onClick'](_0x3227ad,_0x5ee37d['element']);}),_0x5ee37d;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5831c9['focus'](),_0x5831c9['checkIfScrollable']();const _0x592156=(_0x5e540e,_0x4d1252)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4d1252();};_0x5831c9['keystrokes']['set']('Esc',_0x592156),_0x5831c9['keystrokes']['set']('Shift+Tab',_0x592156),_0x5831c9['keystrokes']['set']('Tab',(_0x3e53dd,_0x292cf3)=>{!function(_0x4785f2){const _0x52d03a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x649c11=>_0x649c11+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x39f671=[...document['body']['querySelectorAll'](_0x52d03a)]['filter'](_0x4a8857=>_0x4a8857===document['activeElement']||_0x4a8857['offsetWidth']+_0x4a8857['offsetHeight']>0x0)['sort']((_0x423911,_0x10317e)=>(_0x423911['tabIndex']||0x0)-(_0x10317e['tabIndex']||0x0)),_0x5965cd=_0x39f671['indexOf'](_0x4785f2),_0x33e797=_0x39f671[(_0x5965cd+0x1)%_0x39f671['length']];_0x33e797&&_0x33e797['focus']();}(this['view']['element']),this['hideDropdown'](),_0x292cf3();}),_0x5831c9['focusTracker']['add'](this['view']['element']),_0x5831c9['focusTracker']['on']('change:isFocused',(_0x13b931,_0x3e99b0,_0xa84577)=>{_0xa84577||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 gt extends _0x5b3d3d{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,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x31ab34,Plugin as _0x219212,PendingActions as _0x53bac4,Context as _0xc98307}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x205a18,CKEditorError as _0x4f5dbb,Collection as _0x5896c6,global as _0x414b96,version as ht,uid as _0x3be999,KeystrokeHandler as _0x34fdef}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4a8a98,View as _0x51b6fd,ListView as _0x1fbd40,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x354b78,clickOutsideHandler as _0x399ee0,BodyCollection as _0x4cacd6}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x28ccc2,History as _0x104c5a,NoOperation as _0x161f19,InsertOperation as _0xf5573,MarkerOperation as _0x2da89e,RootAttributeOperation as _0x25acce,transformOperationSets as _0x330769,OperationFactory as _0x562896}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x37b8cf,CollaborativeEditingService as _0x4499be,User as ut,CommentsService as _0x400316,TrackChangesService as rt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x43661d,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x444512}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x109134}from'es-toolkit/compat';class n extends _0x31ab34{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4a8a98];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x51f187){super(_0x51f187),this['set']('state',_0x37b8cf['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x205a18())();}['init'](){const _0x45b15d=this['context'],_0x1d3785=_0x45b15d['plugins']['get']('CloudServices'),_0x134a2b=_0x45b15d['plugins']['get'](_0x4a8a98);if(!_0x1d3785['token'])throw new _0x4f5dbb('websocketgateway-missing-token',this);if(!_0x1d3785['webSocketUrl'])throw new _0x4f5dbb('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'](_0x1d3785['token'],_0x1d3785['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2c9949=>{if(this['connection']=_0x2c9949,this['bind']('state')['to'](_0x2c9949,'state',this,'_isBrowserOffline',(_0xbb8fe5,_0x20d522)=>('connected'!==_0xbb8fe5&&(this['_shouldPluginsReconnect']=!0x0),_0x20d522||_0xbb8fe5!==_0x37b8cf['CONNECTED']?_0x37b8cf['DISCONNECTED']:this['state']==_0x37b8cf['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x37b8cf['CONNECTING']):_0x37b8cf['CONNECTED'])),this['connection']['on']('error',(_0x3510ce,_0x428341)=>{if('limitExceeded'!==_0x428341['code'])throw console['error'](_0x428341),new _0x4f5dbb('cloudservices-init',null,{'originalError':_0x428341});_0x134a2b['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'});}),!_0x2c9949['me'])return new Promise(_0x118f53=>_0x2c9949['on']('change:me',_0x118f53));})['catch'](_0x1b40eb=>{throw console['error'](_0x1b40eb),new _0x4f5dbb('cloudservices-init',null,{'originalError':_0x1b40eb});});}['addToReconnectionStack'](_0x22c62d){if('function'!=typeof _0x22c62d['reconnect'])throw new _0x4f5dbb('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x22c62d))throw new _0x4f5dbb('websocketgateway-plugin-already-registered',this,{'name':_0x22c62d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x22c62d);}['removeFromReconnectionStack'](_0x506b48){this['_reconnectionStack']['delete'](_0x506b48);}['isInReconnectionStack'](_0x21d196){return this['_reconnectionStack']['has'](_0x21d196);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3f0f5d=>_0x3f0f5d['reconnect']())))['then'](()=>this['state']=_0x37b8cf['CONNECTED'])['catch'](_0x3111b2=>{throw console['error'](_0x3111b2),new _0x4f5dbb('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x37b8cf['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x31ab34{['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,_0x43661d];}constructor(_0x1e2107){super(_0x1e2107),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5896c6(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x43661d);}['init'](){const _0x25585f=this['context']['plugins']['get'](n);this['listenTo'](_0x25585f,'change:state',(_0x376f27,_0x5a358e,_0x1ce5bb)=>{if('connected'!==_0x1ce5bb)this['channelSessions']['forEach'](_0x1d8e51=>_0x1d8e51['clear']()),this['channelConnectedUsers']['forEach'](_0x311eee=>_0x311eee['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x211deb,_0x47fa1e]of this['_registeredSessions'])for(const _0x1d300c of _0x47fa1e)this['_handleSessionAdd'](_0x211deb,_0x1d300c);}}),this['_createUser'](_0x25585f['connection']['me'],!0x0);}['register'](_0x259ddd,_0x421996){if(this['_registeredSessions']['has'](_0x259ddd))throw new _0x4f5dbb('sessions-register-already-registered',null,{'channelId':_0x259ddd});this['_registeredSessions']['set'](_0x259ddd,_0x421996),this['channelSessions']['set'](_0x259ddd,new _0x5896c6()),this['channelConnectedUsers']['set'](_0x259ddd,new _0x5896c6()),this['listenTo'](_0x421996,'add',(_0x3729d2,_0x967166)=>this['_handleSessionAdd'](_0x259ddd,_0x967166)),this['listenTo'](_0x421996,'remove',(_0x107aaf,_0x19bc7f)=>this['_handleSessionRemove'](_0x259ddd,_0x19bc7f));for(const _0x5c4a85 of _0x421996)this['_handleSessionAdd'](_0x259ddd,_0x5c4a85);}['unregister'](_0xe340d2){if(!this['_registeredSessions']['has'](_0xe340d2))throw new _0x4f5dbb('sessions-unregister-not-exist',null,{'channelId':_0xe340d2});const _0x1eda4b=this['_registeredSessions']['get'](_0xe340d2);this['stopListening'](_0x1eda4b);for(const _0x20ac58 of _0x1eda4b)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xe340d2,_0x20ac58);this['_registeredSessions']['delete'](_0xe340d2),this['channelSessions']['delete'](_0xe340d2),this['channelConnectedUsers']['delete'](_0xe340d2);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x31d4f9){for(const _0x2c02af of this['channelSessions']['values']())for(const _0x20eb42 of _0x2c02af)if(_0x20eb42['id']===_0x31d4f9)return _0x20eb42['user'];}['getUserSessions'](_0x2c6be3,_0x344a6d){const _0x3baa7c=_0x344a6d?[this['channelSessions']['get'](_0x344a6d)]:this['channelSessions']['values'](),_0x33db95=new Set();for(const _0x503586 of _0x3baa7c)for(const _0xf5fc11 of _0x503586)_0xf5fc11['user']['id']===_0x2c6be3['id']&&_0x33db95['add'](_0xf5fc11['id']);return _0x33db95;}['getUserRole'](_0x28e608){for(const _0x2a619c of this['channelSessions']['values']())for(const _0x1afff9 of _0x2a619c)if(_0x1afff9['user']===_0x28e608)return _0x1afff9['role'];}['_handleSessionAdd'](_0x5529c3,_0x45a6c8){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x385183=_0x45a6c8['user'],_0x5f55ba=this['_users']['getUser'](_0x385183['id'])||this['_createUser'](_0x385183),_0x3c625e=Object['assign']({},_0x45a6c8,{'user':_0x5f55ba});if(this['channelSessions']['get'](_0x5529c3)['add'](_0x3c625e),!_0x385183['hiddenInPresenceList']){const _0x301614=this['channelConnectedUsers']['get'](_0x5529c3);_0x301614['has'](_0x5f55ba['id'])||_0x301614['add'](_0x5f55ba),this['allConnectedUsers']['has'](_0x5f55ba['id'])||_0x385183['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5f55ba,_0x5f55ba['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5529c3,{'channelId':_0x5529c3,'session':_0x3c625e});}['_handleSessionRemove'](_0x20a417,_0x1a3234){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x25e1a2=this['channelConnectedUsers']['get'](_0x20a417),_0x1fdb4f=_0x1a3234['user'];_0x1fdb4f['id']&&(this['channelSessions']['get'](_0x20a417)['remove'](_0x1a3234['id']),_0x25e1a2['has'](_0x1fdb4f['id'])&&!this['getUserSessions'](_0x1fdb4f,_0x20a417)['size']&&_0x25e1a2['remove'](_0x1fdb4f['id']),this['allConnectedUsers']['get'](_0x1fdb4f['id'])&&!this['getUserSessions'](_0x1fdb4f)['size']&&this['allConnectedUsers']['remove'](_0x1fdb4f['id']));}['_createUser'](_0x4177fa,_0x57e2a6){const _0x117511=this['_users']['addUser'](_0x4177fa);return _0x57e2a6&&this['_users']['defineMe'](_0x4177fa['id']),_0x117511['orderNumber']=this['_uniqueUsersCount']++,_0x117511;}}class U extends _0x219212{['_domEmitter']=new(_0x205a18())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x55deb2=this['editor'],_0xb2774f=_0x55deb2['plugins']['get'](i);_0x55deb2['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x416117,{writer:_0x2b9008})=>function(_0x45040c,_0x391f53,_0x28275a,_0x9c6eb5){const _0x298942=_0x45040c['markerName']['split'](':')[0x2],_0x565cd6=_0x28275a['getUserBySessionId'](_0x298942);if(!_0x565cd6||_0x298942===_0x28275a['mySessionId'])return;if(!_0x9c6eb5['model']['schema']['checkChild'](_0x45040c['markerRange']['start'],'$text'))return;const _0x11bd47={'class':'ck-user__marker\x20'+_0x565cd6['color']['getMarkerClass'](),'data-name':_0x565cd6['name'],'data-session-id':_0x298942},_0x1cc28b=_0x9c6eb5['model']['markers']['get'](_0x45040c['markerName']),_0x4eb50e=_0x1cc28b['getStart'](),_0x4fac03=_0x4eb50e['nodeAfter'],_0x402b61=_0x9c6eb5['model']['schema'];if(_0x4fac03&&_0x402b61['isObject'](_0x4fac03)&&_0x402b61['isInline'](_0x4fac03)&&!_0x9c6eb5['model']['markers']['get']('user:range:'+_0x298942)['getRange']()['isCollapsed'])return;const _0x32dbe7=_0x4eb50e['parent'];return _0x9c6eb5['model']['schema']['isLimit'](_0x32dbe7)&&!_0x9c6eb5['model']['hasContent'](_0x32dbe7)&&(_0x11bd47['contenteditable']=!0x1),function(_0x11e50,_0x2ee7a2,_0x51383e){const _0x27700e=_0x11e50['createUIElement']('span',_0x2ee7a2);return _0x11e50['setCustomProperty']('userPositionMarker',!0x0,_0x27700e),_0x27700e['render']=function(_0x4ca9ea){const _0x2639bc=this['toDomElement'](_0x4ca9ea),_0x5f223c=document['createElement']('span');return _0x5f223c['classList']['add']('ck-user__marker-tooltip'),_0x5f223c['setAttribute']('contenteditable','false'),_0x5f223c['setAttribute']('spellcheck','false'),_0x5f223c['textContent']=_0x51383e['name'],_0x2639bc['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5f223c['outerHTML']+'⁠',_0x2639bc['addEventListener']('mouseenter',()=>{_0x2639bc['classList']['add']('ck-user__marker_hovered');}),_0x2639bc['addEventListener']('mouseleave',()=>{_0x2639bc['classList']['remove']('ck-user__marker_hovered');}),_0x2639bc;},_0x27700e['isSimilar']=function(_0x53a18e){return!(!this['getCustomProperty']('userPositionMarker')||!_0x53a18e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x53a18e['getAttribute']('data-session-id'));},_0x27700e;}(_0x391f53,_0x11bd47,_0x565cd6);}(_0x416117,_0x2b9008,_0xb2774f,_0x55deb2)}),_0x55deb2['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x405563=>function(_0xca3b1b,_0x56d4bc){const _0xccc424=_0xca3b1b['markerName']['split'](':')[0x2];if(_0xccc424===_0x56d4bc['mySessionId'])return null;const _0x9af57c=_0x56d4bc['getUserBySessionId'](_0xccc424);if(!_0x9af57c)return{'id':_0xccc424,'classes':[]};return{'id':_0xccc424,'classes':['ck-user__selection',_0x9af57c['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xccc424},'priority':0x7d0+_0x9af57c['orderNumber']};}(_0x405563,_0xb2774f)}),function(_0x58cbf4){const _0x158b0a=_0x58cbf4['model'],_0x3ff707=new Map(),_0x465759=_0x58cbf4['plugins']['get'](i);_0x158b0a['markers']['on']('update:user:range',(_0x3a9bb7,_0x11605b,_0x4370c5,_0x1f6def)=>{if(!_0x1f6def&&_0x3ff707['get'](_0x11605b['name']))return _0x3ff707['get'](_0x11605b['name'])['detach'](),void _0x3ff707['delete'](_0x11605b['name']);const _0x15463d=_0x11605b['name']['split'](':')[0x2];if(_0x15463d===_0x465759['mySessionId'])return;const _0x4b5c81='user:position:'+_0x15463d;_0x158b0a['markers']['has'](_0x4b5c81)&&_0x58cbf4['editing']['reconvertMarker'](_0x4b5c81),_0x11605b['on']('change:range',(_0x302cd6,_0x26f8fe,_0x528ca0)=>{if('$graveyard'!=_0x26f8fe['root']['rootName']&&'$graveyard'==_0x11605b['getRange']()['root']['rootName']&&!_0x3ff707['has'](_0x11605b['name'])){const _0x3dfcdb=_0x158b0a['schema']['getNearestSelectionRange'](_0x528ca0['deletionPosition']);if(_0x3dfcdb){const _0x1a9145=_0x28ccc2['fromRange'](_0x3dfcdb);_0x3ff707['set'](_0x11605b['name'],_0x1a9145),_0x1a9145['on']('change:range',(_0x383bb1,_0x22a3fa,_0xd8c9de)=>{if('$graveyard'==_0x1a9145['root']['rootName']){const _0x254858=_0x158b0a['schema']['getNearestSelectionRange'](_0xd8c9de['deletionPosition']);_0x254858?(_0x1a9145['start']=_0x254858['start'],_0x1a9145['end']=_0x254858['end']):(_0x3ff707['delete'](_0x11605b['name']),_0x1a9145['detach']());}});}}});}),_0x158b0a['document']['on']('change',()=>{_0x3ff707['size']>0x0&&_0x158b0a['enqueueChange']({'isUndoable':!0x1},_0x5ac92e=>{for(const [_0x307442,_0x2b2669]of _0x3ff707)'$graveyard'==_0x158b0a['markers']['get'](_0x307442)['getRange']()['root']['rootName']&&(J(_0x307442['split'](':')[0x2],_0x2b2669['toRange'](),_0x158b0a,_0x5ac92e),_0x2b2669['detach']());_0x3ff707['clear']();});});}(_0x55deb2),this['_domEmitter']['listenTo'](_0x414b96['document'],'keydown',(_0x4bf081,{key:_0x23df9e})=>{'Escape'===_0x23df9e&&function(_0x31033d){_0x31033d['editing']['view']['change'](_0x1315ad=>{for(const _0x1a6007 of _0x31033d['model']['markers']){if(!_0x1a6007['name']['startsWith']('user:position'))continue;const _0x2a5c93=_0x31033d['editing']['mapper']['markerNameToElements'](_0x1a6007['name']);if(_0x2a5c93){for(const _0xd0f03c of _0x2a5c93)_0x1315ad['removeClass']('ck-user__marker_hovered',_0xd0f03c);}}});}(_0x55deb2);},{'useCapture':!0x0});}['afterInit'](){const _0x27115e=this['editor'],_0x8898b5=_0x27115e['commands']['get']('undo');_0x8898b5&&_0x27115e['model']['on']('applyOperation',(_0xdcae4c,_0x1d3fb7)=>{const _0x4a73a5=_0x1d3fb7[0x0];if(!_0x4a73a5['isDocumentOperation'])return;if('marker'!=_0x4a73a5['type']||!_0x4a73a5['name']['startsWith']('user:'))return;const _0x5187cc=_0x4a73a5['batch'];_0x8898b5['_createdBatches']['has'](_0x5187cc)&&(_0x4a73a5['newRange']=_0x4a73a5['oldRange']?_0x27115e['model']['createRange'](_0x4a73a5['oldRange']['start'],_0x4a73a5['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x320ff7=this['editor'],_0x5b3410=_0x320ff7['model']['document'],_0xf35c98=_0x320ff7['plugins']['get'](i);_0x320ff7['model']['enqueueChange']({'isUndoable':!0x1},_0x24b956=>{const _0x43dfba='user:range:'+_0xf35c98['mySessionId'],_0xfd00d7='user:position:'+_0xf35c98['mySessionId'],_0x589903=_0x320ff7['model']['markers']['has'](_0x43dfba);_0x320ff7['editing']['view']['hasDomSelection']?J(_0xf35c98['mySessionId'],_0x5b3410['selection']['getFirstRange'](),_0x320ff7['model'],_0x24b956):_0x589903&&(_0x24b956['removeMarker'](_0x43dfba),_0x24b956['removeMarker'](_0xfd00d7));});}}function J(_0x36352e,_0x34109c,_0x31efd0,_0x259d63){const _0x28a008='user:range:'+_0x36352e,_0x17c309='user:position:'+_0x36352e,_0x35d9c5=_0x34109c['getContainedElement']();let _0x2fba72=_0x34109c['start'];if(_0x35d9c5&&_0x35d9c5['is']('element','tableCell')){const _0x39023e=function(_0x1e6739,_0x312abb){for(const _0x229675 of _0x1e6739['getPositions']())if(_0x312abb['schema']['checkChild'](_0x229675,'$text'))return _0x229675;}(_0x34109c,_0x31efd0);_0x39023e&&(_0x2fba72=_0x39023e,_0x34109c=_0x259d63['createRange'](_0x2fba72));}const _0x1a32d6=_0x259d63['createRange'](_0x2fba72);_0x31efd0['markers']['has'](_0x28a008)?(_0x259d63['updateMarker'](_0x28a008,{'range':_0x34109c}),_0x259d63['updateMarker'](_0x17c309,{'range':_0x1a32d6})):(_0x259d63['addMarker'](_0x28a008,{'range':_0x34109c,'usingOperation':!0x0}),_0x259d63['addMarker'](_0x17c309,{'range':_0x1a32d6,'usingOperation':!0x0}));}function E(_0x12afac,_0x3a5407,_0x39f6e2){const _0x23f7a0=_0x12afac['t'],t=_0x12afac['t'];switch(_0x3a5407){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 _0x23f7a0({'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'},_0x39f6e2);default:return'';}}let H=0x1;class l extends _0x219212{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x4499be)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,U,_0x53bac4,_0x43661d,_0x4a8a98];}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 _0x1f26b1=this['serverHistory']['getOperations']();for(let _0x2ffd79=_0x1f26b1['length']-0x1;_0x2ffd79>=0x0;_0x2ffd79--){const _0x57b4cc=_0x1f26b1[_0x2ffd79];if(!this['_disconnectionOperations']['has'](_0x57b4cc))return _0x57b4cc['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3aca0a){if(super(_0x3aca0a),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x104c5a(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x4f5dbb('collaboration-missing-channelid',this);const _0x3b145d=_0x3aca0a['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x3b145d,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x444512(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new F(this['_disconnectionOperations']);}['init'](){const _0x280fd9=this['editor'],_0x3346f0=_0x280fd9['plugins']['get'](_0x43661d),_0x4d682c=_0x280fd9['plugins']['get'](n);this['listenTo'](_0x3346f0,'getOperationAuthor',(_0x2b505c,_0x27a2ba)=>{const _0x52627f=_0x27a2ba[0x0];_0x52627f['_authorId']&&(_0x2b505c['return']=_0x3346f0['getUser'](_0x52627f['_authorId']),_0x2b505c['stop']()),null===_0x52627f['_authorId']&&(_0x2b505c['return']=null,_0x2b505c['stop']());},{'priority':'high'}),this['listenTo'](_0x280fd9['model']['document']['selection'],'change:range',(_0x15c187,_0x57a2f8)=>{_0x57a2f8['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x280fd9['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x280fd9['model']['on']('applyOperation',(_0x12bc1b,_0x460015)=>{const _0x1015b1=_0x460015[0x0];_0x1015b1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1015b1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4d682c,'state',this,'_hasSynchronizationProblem',(_0x3b6d13,_0x31cbfb)=>'connected'===_0x3b6d13&&!_0x31cbfb),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x280fd9['disableReadOnlyMode']('rtc-offline'):_0x280fd9['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x280fd9['disableReadOnlyMode']('rtc-offline'):_0x280fd9['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x21575b=this['editor']['plugins']['get'](i),_0x6b283d=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x21575b['unregister'](this['_channelId']);const _0x50d32d=await this['_service']['reconnect'](_0x6b283d['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x50d32d)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x15f1c9=await this['_service']['getConnectedSessions']();_0x21575b['register'](this['_channelId'],_0x15f1c9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2e52a8){if(function(_0x1505fb){return'404'===_0x1505fb['code'];}(_0x2e52a8)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x505aaf){return'409'===_0x505aaf['code'];}(_0x2e52a8)){const _0x5d9d27=E(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x5d9d27);}else{if(!(_0x2e52a8 instanceof V))throw _0x2e52a8;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4df770=this['editor']['plugins']['get'](n),_0x18fb9b=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x18fb9b['channelSessions']['has'](this['_channelId'])&&_0x18fb9b['unregister'](this['_channelId']),_0x4df770['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x21362d){if(this['sessionId']!==_0x21362d['sessionId']&&this['_lastSyncedOperationId']!==_0x21362d['lastOperationId'])throw new V();return this['sessionId']=_0x21362d['sessionId'],this['_handleServerResponse']([],{..._0x21362d,'wereChangesApplied':!0x1,'data':_0x21362d['data']},'reconnect');}async['_connectService'](_0x222ecf,_0xce78c4=!0x1){const {connection:_0x1d9abe}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x1d9abe,this['_channelId'])['then'](_0x19b3c3=>this['_initSessionsHandling'](_0x19b3c3))['catch'](_0x2f70eb=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2f70eb);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4bfcb3,_0x4f3587)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4f3587);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x365e6f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x222ecf);this['_isPendingUpdate']=!0x0;const _0x832467=await this['_service']['connect'](_0x1d9abe,this['_compressOperations'](_0x222ecf),_0x365e6f);if(this['sessionId']=_0x832467['sessionId'],_0xce78c4){if(!_0x832467['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x832467['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x222ecf,_0x832467,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x832467,_0x222ecf);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1e9f7c=this['editor']['plugins']['get'](i),_0x4c9da4=this['editor']['plugins']['get'](U),_0x2c5ecc=_0x1e9f7c['channelSessions']['get'](this['_channelId']);_0x2c5ecc&&_0x2c5ecc['length']>0x1?_0x4c9da4['createUserMarkerOperations']():this['listenTo'](_0x1e9f7c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1e9f7c['channelSessions']['get'](this['_channelId'])['length']&&_0x4c9da4['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x248fb0,_0x39bb12,_0x1e374e,_0x548338){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x39bb12){const _0x3adda9=this['_decompressOperations'](_0x1e374e,_0x548338);await this['_fetchMissingUsers'](_0x3adda9),this['_handleExternalOperations'](_0x3adda9,_0x39bb12,_0x1e374e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x131440}=this['editor'];let _0x2adc14;try{_0x2adc14=await this['_service']['getDocumentDetails']();}catch{const _0x1f6879=E(_0x131440,'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'](_0x1f6879);}const _0x57bf23=_0x2adc14['currentDocumentSession']||_0x2adc14['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x57bf23['lastOperationId']){const _0x582c13=E(_0x131440,'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'](_0x582c13);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x465078){const _0x4d24a9=this['editor']['plugins']['get'](i);this['listenTo'](_0x4d24a9,'sessionAdd:'+this['_channelId'],(_0x5dbc70,{session:_0x2614be})=>{if(_0x2614be['id']===_0x4d24a9['mySessionId']){_0x5dbc70['off']();const _0x981221=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5886c0=_0x2614be['permissions'];_0x981221&&_0x981221['isEnabled']&&(_0x5886c0=_0x5886c0['filter'](_0x46c747=>'document:write'!==_0x46c747)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5886c0,this['_channelId']);}}),_0x4d24a9['register'](this['_channelId'],_0x465078);}['_initThrowingOnDataSet'](){const _0x5cd80a=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x53aa05)=>{if(!_0x53aa05[_0x53aa05['length']-0x1]['suppressErrorInCollaboration'])throw new _0x4f5dbb('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5cd80a['apply'](this['editor']['data'],_0x53aa05);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3b0a6b,[_0x4e8005])=>{if(this['_document']['version'])throw new _0x4f5dbb('realtimecollaborationclient-init-document-already-initialized',this);_0x3b0a6b['stop'](),this['_setPendingAction']();const _0x15974f=this['editor']['config']['get']('rootsAttributes'),_0x97bda2=this['_getOperationsFromInitData'](_0x4e8005,_0x15974f);0x0==_0x97bda2['length']&&_0x97bda2['push'](new _0x161f19(0x0)),_0x3b0a6b['return']=this['_connectService'](_0x97bda2)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5a42b8=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5a42b8))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4237d2,[_0x61db96,_0x594024])=>{_0x4237d2['stop']();const _0x31de42=this['editor']['model']['document']['getRoot'](_0x61db96);if(!this['_knownRootNames']['has'](_0x61db96)){const _0x598774=_0x594024&&_0x594024['data']?_0x594024['data']:'',_0x1b32ac=_0x594024&&_0x594024['attributes']?_0x594024['attributes']:{};await this['_loadRoot'](_0x61db96,_0x598774,_0x1b32ac);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x31de42['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x31de42);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x436187){const _0x3d2db5=this['editor']['plugins']['get'](_0x43661d),{connection:_0x43eb25}=this['editor']['plugins']['get'](n),_0x2530a6=new Set();for(const _0x3909c8 of _0x436187){const _0x820160=_0x3909c8['_authorId'];_0x820160&&!_0x3d2db5['getUser'](_0x820160)&&_0x2530a6['add'](_0x820160);}if(0x0===_0x2530a6['size'])return;const _0x4aa220=await ut['getMany'](_0x43eb25,Array['from'](_0x2530a6));for(const _0x155cb8 of _0x4aa220)_0x3d2db5['getUser'](_0x155cb8['id'])||_0x3d2db5['addUser'](_0x155cb8);}['_getOperationsFromInitData'](_0x34a9ec,_0x40aa3a={}){const _0x226568=this['editor']['model'],_0x3465e0=[];let _0xa95004=0x0;const _0x444b9a='string'==typeof _0x34a9ec?{'main':_0x34a9ec}:_0x34a9ec;for(const _0x4c4301 of Object['keys'](_0x444b9a)){if(!this['_document']['roots']['has'](_0x4c4301))throw new _0x4f5dbb('realtimecollaborationclient-init-non-existent-root',this);const _0xacd2d7=this['editor']['data']['parse'](_0x444b9a[_0x4c4301]),_0x5b9cc4=this['_document']['getRoot'](_0x4c4301),_0x343da3=new _0xf5573(_0x226568['createPositionAt'](_0x5b9cc4,0x0),_0xacd2d7,_0xa95004++);_0x3465e0['push'](_0x343da3);for(const [_0x11ed7e,_0x230aff]of _0xacd2d7['markers']){const _0x23126c=_0x226568['createRange'](_0x226568['createPositionFromPath'](_0x5b9cc4,_0x230aff['start']['path']['slice']()),_0x226568['createPositionFromPath'](_0x5b9cc4,_0x230aff['end']['path']['slice']())),_0x3ba5df=new _0x2da89e(_0x11ed7e,null,_0x23126c,_0x226568['markers'],!0x0,_0xa95004++);_0x3465e0['push'](_0x3ba5df);}}if(_0x40aa3a)for(const [_0x5ac730,_0x4dbc74]of Object['entries'](_0x40aa3a)){const _0x240ed1=_0x226568['document']['getRoot'](_0x5ac730);if(!_0x240ed1)throw new _0x4f5dbb('multi-root-editor-root-attributes-no-root',null);for(const [_0x118542,_0x501855]of Object['entries'](_0x4dbc74))if(null!==_0x501855){const _0x2264e6=new _0x25acce(_0x240ed1,_0x118542,null,_0x501855,_0xa95004++);_0x3465e0['push'](_0x2264e6);}}return _0x3465e0;}async['_loadRoot'](_0x4c62f7,_0x38e24f,_0x223c55){this['_getOperationsFromInitData']({[_0x4c62f7]:_0x38e24f},{[_0x4c62f7]:_0x223c55})['forEach']((_0x4f5d29,_0x231d3a)=>{_0x4f5d29['baseVersion']=this['_document']['version']+_0x231d3a,_0x4f5d29['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4f5d29);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x17fadf,_0x554cf2){let _0x50b5c4;this['_offset']=_0x17fadf['offset'];const _0x3a472a=_0x17fadf['wereChangesApplied']&&!_0x17fadf['initData'],_0x1ddf9c=_0x3a472a?0x0:_0x17fadf['data']['baseVersion'];if(_0x554cf2['forEach'](_0x18d41d=>{_0x18d41d['_isInit']=!0x0,_0x18d41d['createdAt']=_0x17fadf['sessionCreatedAt'],_0x18d41d['_authorId']=null;}),_0x3a472a)_0x50b5c4=_0x554cf2,this['_applyOperationsSet'](_0x50b5c4,_0x3a472a);else{if(_0x17fadf['initData']){const _0x116452=this['_getOperationsFromInitData'](_0x17fadf['initData']);this['_document']['history']['version']=-_0x116452['length'],_0x116452['forEach'](_0x9e3ee7=>{_0x9e3ee7['baseVersion']-=_0x116452['length'],_0x9e3ee7['createdAt']=_0x17fadf['sessionCreatedAt'],_0x9e3ee7['_isInit']=!0x0,_0x9e3ee7['_authorId']=null;}),this['_applyOperationsSet'](_0x116452,!0x0),this['serverHistory']['version']=-_0x116452['length']+this['_offset'],this['_updateServerHistory'](_0x116452);}this['_document']['history']['version']=_0x1ddf9c,_0x50b5c4=this['_decompressOperations'](_0x17fadf['data'],_0x17fadf['metadata']),await this['_fetchMissingUsers'](_0x50b5c4),this['_applyOperationsSet'](_0x50b5c4,_0x3a472a);}_0x17fadf['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x50b5c4,_0x17fadf['lastOperationId']),this['_lastSyncedOperationId']=_0x17fadf['lastOperationId']),this['serverHistory']['version']=_0x1ddf9c+this['_offset'],this['_updateServerHistory'](_0x50b5c4),_0x554cf2['filter'](_0x160434=>{const _0x394bcc=this['_getAffectedRoot'](_0x160434);return _0x394bcc&&!this['_knownRootNames']['has'](_0x394bcc);})['forEach']((_0x950f25,_0x1afee9)=>{_0x950f25['baseVersion']=this['_document']['version']+_0x1afee9,this['_saveOperationInBuffer'](_0x950f25);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x313bcc,_0x53eecf){const _0x4652f1=_0x53eecf&&_0x53eecf['message'];if(_0x4652f1&&_0x4652f1['startsWith']('realtimecollaborationclient'))throw _0x53eecf;const _0x531b62=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x531b62['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x4f5dbb(_0x313bcc,this['editor'],_0x4652f1?{'originalError':_0x4652f1}:void 0x0);}['_saveOperationInBuffer'](_0x449a8){this['_knownOperations']['has'](_0x449a8)||(this['_knownOperations']['add'](_0x449a8),this['_bufferedOperations']['push'](_0x449a8),this['_pendingAction']||'marker'==_0x449a8['type']&&!_0x449a8['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x48768e=!0x1){!_0x48768e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x410ecb=>{_0x410ecb&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5a0cfc=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1dd698){return _0x1dd698['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1dd698['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1dd698['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5a0cfc)||this['_crash'](_0x5a0cfc['message'],_0x5a0cfc);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x159815=>{this['on']('change:_isPendingUpdate',()=>{_0x159815();});});}async['_sendBufferedOperations'](){const _0x4257a3=this['editor']['plugins']['get'](U);if(this['_shouldSendSelectionUpdate']()&&(_0x4257a3['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x517179=[...this['_bufferedOperations']];for(const _0x21b6b5 of _0x517179)_0x21b6b5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x21b6b5);const _0x1becf8=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x517179),_0x25cfde=H++,_0x453e24=this['_compressOperations'](_0x517179),_0x27878b=await this['_service']['sendOperations'](_0x453e24,_0x453e24['baseVersion'],_0x1becf8);try{return await this['_handleServerResponse'](_0x517179,_0x27878b,_0x25cfde);}catch(_0x27d17c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x27d17c);}}async['_handleServerResponse'](_0x4bf371,_0x2e6481,_0x4f6851){if('error'in _0x2e6481)throw _0x2e6481['error'];let _0x321f04=!0x1;if(_0x2e6481['wereChangesApplied']){_0x2e6481['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2e6481['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x255a50=>!_0x4bf371['includes'](_0x255a50));for(const _0x114e44 of _0x4bf371)_0x114e44['createdAt']='lastOperationAcceptedAt'in _0x2e6481&&_0x2e6481['lastOperationAcceptedAt']||void 0x0;W(_0x4bf371,_0x2e6481['version']-_0x4bf371['length']),this['_updateServerHistory'](_0x4bf371);const _0xc31220=_0x4bf371['filter'](_0x558557=>{if(!_0x558557['_isInit'])return!0x1;const _0x4d14c5=this['_getAffectedRoot'](_0x558557);return _0x4d14c5&&!this['_knownRootNames']['has'](_0x4d14c5);});W(_0xc31220,this['_document']['version']),this['_applyOperationsSet'](_0xc31220),_0x321f04=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4fbc0b=this['_decompressOperations'](_0x2e6481['data'],_0x2e6481['metadata'])['filter'](_0x3cf1e4=>_0x3cf1e4['baseVersion']>=this['_lastServerVersion']);_0x4fbc0b['forEach'](_0x3c756e=>this['_addKnownRoot'](_0x3c756e)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x58a98d=>!_0x58a98d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x58a98d))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4fbc0b),_0x321f04=this['_handleExternalOperations'](_0x4fbc0b,_0x2e6481['version'],_0x2e6481['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x321f04?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x325bee,_0x2b6821,_0x4a8b77){try{const _0x1f0dbc={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x46d6e5,operationsB:_0x55bfe4,originalOperations:_0xc00f20}=_0x330769(_0x325bee,this['_bufferedOperations'],_0x1f0dbc);W(_0x46d6e5,this['_document']['version']),W(_0x55bfe4,_0x2b6821);for(const _0x3a8990 of _0x46d6e5){const _0x2dfab8=_0xc00f20['get'](_0x3a8990);_0x3a8990['_authorId']=_0x2dfab8?_0x2dfab8['_authorId']:null;}_0x4a8b77&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x325bee,_0x4a8b77),this['_lastSyncedOperationId']=_0x4a8b77),this['_bufferedOperations']=[..._0x55bfe4],this['_applyOperationsSet'](_0x46d6e5),this['_updateServerHistory'](_0x325bee);}catch(_0x824acc){return console['error'](_0x824acc),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3d3dc8,_0x2468f9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x592b8d=>{for(const _0x23aeb4 of _0x3d3dc8)this['_knownOperations']['add'](_0x23aeb4),this['_addKnownRoot'](_0x23aeb4),_0x592b8d['batch']['addOperation'](_0x23aeb4),this['editor']['model']['applyOperation'](_0x23aeb4);});}['_addKnownRoot'](_0x548aa8){const _0x41d254=this['_getAffectedRoot'](_0x548aa8);_0x41d254&&this['_knownRootNames']['add'](_0x41d254);}['_getAffectedRoot'](_0x49e3ba){let _0x2ec9bd,_0x1a2418;switch(_0x49e3ba['type']){case'insert':_0x2ec9bd=_0x49e3ba['position']['root'];break;case'marker':if(_0x1a2418=_0x49e3ba['newRange'],!_0x1a2418)return null;_0x2ec9bd=_0x1a2418['root'];break;case'addRootAttribute':_0x2ec9bd=_0x49e3ba['root'];break;case'addRoot':_0x2ec9bd=_0x49e3ba['affectedSelectable'];break;case'move':_0x2ec9bd=_0x49e3ba['targetPosition']['root'];break;default:return null;}return _0x2ec9bd['rootName'];}['_updateServerHistory'](_0xafb091){_0xafb091['forEach'](_0xd4c53=>{const _0x1480c2=_0xd4c53['clone']();_0x1480c2['_authorId']=_0xd4c53['_authorId'],_0x1480c2['_isInit']=!!_0xd4c53['_isInit'],_0x1480c2['createdAt']=_0xd4c53['createdAt'],_0x1480c2['baseVersion']+=this['_offset'],_0xd4c53['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1480c2),this['serverHistory']['addOperation'](_0x1480c2);});}['_handleReconnectionError'](_0x54a68){const _0xe23185=this['editor']['plugins']['get']('Notification'),_0x3ab0af=this['editor']['locale'];_0x54a68||(_0x54a68=E(_0x3ab0af,'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.')),_0xe23185['showWarning'](_0x54a68,{'title':E(_0x3ab0af,'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'](_0x53bac4)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x53bac4)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4a4cfb){const _0x46be52=_0x4a4cfb['map'](_0x4b5135=>_0x4b5135['toJSON']());return this['_compressor']['compress'](_0x46be52);}['_decompressOperations'](_0x2e520a,_0x3145c0){return this['_compressor']['decompress'](_0x2e520a)['map']((_0x233236,_0x19f47e)=>{const _0x703bd3='init'==_0x3145c0[_0x19f47e]['type'];if('InsertOperation'==_0x233236['__className']){const _0x2b0e9b=_0x233236['position']['root'];!this['_document']['getRoot'](_0x2b0e9b)&&(this['_document']['createRoot']('$root',_0x2b0e9b)['_isAttached']=!0x1);}const _0x2c51cc=_0x562896['fromJSON'](_0x233236,this['_document']);return _0x2c51cc['wasUndone']=_0x233236['wasUndone'],_0x2c51cc['_isInit']=_0x703bd3,_0x2c51cc['_authorId']=_0x703bd3?null:_0x3145c0[_0x19f47e]['userId'],_0x2c51cc['_isDisconnection']='cs:removeUser'===_0x3145c0[_0x19f47e]['type'],_0x2c51cc['createdAt']=_0x3145c0[_0x19f47e]['createdAt'],_0x2c51cc;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x27b448=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x27b448&&_0x27b448['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x4ab3a7,_0x1b28cd){for(const _0x34f189 of _0x4ab3a7)_0x34f189['baseVersion']=_0x1b28cd++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x4612e5){this['_ignoredOperations']=_0x4612e5,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x21f766){let _0x2fb555=_0x21f766['length'];for(;_0x2fb555--;){const _0x37e179=_0x21f766[_0x2fb555];if(!this['_ignoredOperations']['has'](_0x37e179)){if(!this['_operationToId']['has'](_0x37e179)){const _0x3b3de8=_0x3be999()['slice'](0x1,0x12);this['_operationToId']['set'](_0x37e179,_0x3b3de8);}return this['_operationToId']['get'](_0x37e179);}}}['setIdForTheLastOperation'](_0x10d7ac,_0x5009c0){if(!_0x5009c0)return;let _0x11bcca=_0x10d7ac['length'];for(;_0x11bcca--;){const _0x530377=_0x10d7ac[_0x11bcca];this['_ignoredOperations']['has'](_0x530377)||this['_operationToId']['set'](_0x530377,_0x5009c0);}}}class a extends _0x219212{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x31ab34{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x400316)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x43661d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bd5ad){super(_0x2bd5ad),this['_services']=new Map();}async['init'](){const _0x1078c9=this['context'],_0x327a48=_0x1078c9['plugins']['get']('CommentsRepository');if(_0x1078c9['plugins']['get'](n)['addToReconnectionStack'](this),_0x327a48['adapter']={'addCommentThread':async({channelId:_0x3f65c7,threadId:_0x172e82,comments:_0x3ffc59,resolvedAt:_0x25a535,resolvedBy:_0x4cb7a1,context:_0x49ec86,attributes:_0x5b0f68})=>{const _0x1657ed=await this['_getService'](_0x3f65c7)['addCommentThread']({'commentThreadId':_0x172e82,'comments':_0x3ffc59['map'](_0x49949c=>function(_0x401ee2,_0x260d3c,_0x1d5813){return{'commentThreadId':_0x1d5813,'commentId':_0x401ee2['commentId'],'userId':_0x401ee2['authorId'],'content':_0x401ee2['content'],'documentId':_0x260d3c,'createdAt':_0x401ee2['createdAt'],'attributes':_0x401ee2['attributes']||{}};}(_0x49949c,_0x3f65c7,_0x172e82)),'resolvedAt':_0x25a535,'resolvedBy':_0x4cb7a1,'context':_0x49ec86,'attributes':_0x5b0f68})['catch'](ft);return{'threadId':_0x1657ed['commentThreadId'],'comments':_0x1657ed['comments']};},'getCommentThread':async({channelId:_0x228180,threadId:_0x119cb1})=>{const _0x3872f4=await this['_getService'](_0x228180)['getCommentThread'](_0x119cb1)['catch'](Z)['catch'](ft);return _0x3872f4?_0x3872f4['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3872f4]),{'threadId':_0x3872f4['commentThreadId'],'comments':_0x3872f4['comments']['map'](et),'context':_0x3872f4['context'],'resolvedAt':_0x3872f4['resolvedAt'],'resolvedBy':_0x3872f4['resolvedBy'],'attributes':_0x3872f4['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5d5643,threadId:_0x482720,context:_0x2499d4,unlinkedAt:_0xccbb4f,attributes:_0x2e694e})=>this['_getService'](_0x5d5643)['updateCommentThread']({'commentThreadId':_0x482720,'context':_0x2499d4,'attributes':_0x2e694e,'unlinkedAt':_0xccbb4f})['catch'](Z)['catch'](ft),'resolveCommentThread':async({channelId:_0x2c3c55,threadId:_0x54616a})=>{const _0x1e8fc0=await this['_getService'](_0x2c3c55)['resolveCommentThread'](_0x54616a)['catch'](Z)['catch'](ft);return{'threadId':_0x1e8fc0['commentThreadId'],'resolvedAt':_0x1e8fc0['resolvedAt'],'resolvedBy':_0x1e8fc0['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1280c3,threadId:_0x365068})=>this['_getService'](_0x1280c3)['reopenCommentThread'](_0x365068)['catch'](Z)['catch'](ft),'removeCommentThread':({channelId:_0x3d4827,threadId:_0x8a571e})=>this['_getService'](_0x3d4827)['removeCommentThread'](_0x8a571e)['catch'](Z)['catch'](ft),'addComment':({channelId:_0x3236b4,threadId:_0x487c6c,commentId:_0x34b2b7,content:_0xb260da,attributes:_0x4dae55})=>this['_getService'](_0x3236b4)['addComment'](_0x487c6c,_0x34b2b7,_0xb260da,_0x4dae55)['catch'](ft),'updateComment':({channelId:_0x2c2ede,threadId:_0x544404,commentId:_0x2dfff1,content:_0x4613b1,attributes:_0x4fc069})=>this['_getService'](_0x2c2ede)['updateComment'](_0x544404,_0x2dfff1,_0x4613b1,_0x4fc069)['catch'](Z)['catch'](ft),'removeComment':({channelId:_0x580cda,threadId:_0x4079a4,commentId:_0x285e9a})=>this['_getService'](_0x580cda)['removeComment'](_0x4079a4,_0x285e9a)['catch'](Z)['catch'](ft)},_0x1078c9 instanceof _0xc98307){const _0x1bd207=_0x1078c9['config']['get']('collaboration.channelId'),_0x28da37=_0x1078c9['plugins']['get'](i);await this['_setUpService'](_0x1bd207);const _0x47fa9e=await this['_services']['get'](_0x1bd207)['getConnectedSessions']();this['listenTo'](_0x28da37,'sessionAdd:'+_0x1bd207,(_0x1253ef,{session:_0x3b48cc})=>{_0x3b48cc['id']===_0x28da37['mySessionId']&&(_0x1253ef['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3b48cc['permissions'],_0x1bd207));}),_0x28da37['register'](_0x1bd207,_0x47fa9e);}}async['_setUpService'](_0xd84858){if(this['_services']['has'](_0xd84858))throw new _0x4f5dbb('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xd84858});const _0x53807d=this['context']['plugins']['get']('CommentsRepository'),_0x433595=new s['CommentsService'](_0xd84858);this['_services']['set'](_0xd84858,_0x433595),this['listenTo'](_0x433595,'commentThreadAdded',(_0x5e2cbe,_0x3db3f1)=>{const {commentThreadId:_0x1beb96,documentId:_0x4e168f,context:_0x50ca11,attributes:_0x473ddb,resolvedAt:_0x11cc28,resolvedBy:_0x5d8527,comments:_0x2161b6}=_0x3db3f1;_0x53807d['getCommentThread'](_0x1beb96)||_0x53807d['addCommentThread']({'threadId':_0x1beb96,'channelId':_0x4e168f,'comments':_0x2161b6?_0x2161b6['map'](et):[],'context':_0x50ca11,'attributes':_0x473ddb,'resolvedAt':_0x11cc28,'resolvedBy':_0x5d8527,'isFromAdapter':!0x0});}),this['listenTo'](_0x433595,'commentThreadUpdated',(_0x1829b4,{commentThreadId:_0x1d29e7,documentId:_0x12e898,context:_0x3193ba,unlinkedAt:_0x158522,attributes:_0x43e349})=>{_0x53807d['getCommentThread'](_0x1d29e7)&&_0x53807d['updateCommentThread']({'threadId':_0x1d29e7,'channelId':_0x12e898,'context':_0x3193ba,'unlinkedAt':_0x158522,'attributes':_0x43e349,'isFromAdapter':!0x0});}),this['listenTo'](_0x433595,'commentThreadResolved',(_0x38f441,{commentThreadId:_0x27f72b,resolvedBy:_0x330b68,resolvedAt:_0x3f488e})=>{const _0x269ef8=_0x53807d['getCommentThread'](_0x27f72b);_0x269ef8&&_0x269ef8['resolve']({'resolvedBy':_0x330b68,'resolvedAt':_0x3f488e,'isFromAdapter':!0x0});}),this['listenTo'](_0x433595,'commentThreadReopened',(_0x2970b9,{commentThreadId:_0x769c58})=>{const _0x1ef945=_0x53807d['getCommentThread'](_0x769c58);_0x1ef945&&_0x1ef945['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x433595,'commentThreadRemoved',(_0x485be0,{commentThreadId:_0x17cdbd})=>{const _0x3079c0=_0x53807d['getCommentThread'](_0x17cdbd);_0x3079c0&&_0x3079c0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x433595,'commentAdded',(_0x443d02,_0x4c3e5d)=>{const _0x2ee5b0=_0x4c3e5d['commentThreadId'],_0x2739ab=_0x53807d['getCommentThread'](_0x2ee5b0);_0x2739ab&&_0x2739ab['addComment']({...et(_0x4c3e5d),'isFromAdapter':!0x0});}),this['listenTo'](_0x433595,'commentUpdated',(_0x5ae288,{commentThreadId:_0x3d11ac,commentId:_0xc99f66,content:_0x28a2f2,attributes:_0x9a46e1})=>{const _0x1ef772=_0x53807d['getCommentThread'](_0x3d11ac);if(_0x1ef772){const _0x1d2b01=_0x1ef772['getComment'](_0xc99f66);_0x1d2b01&&_0x1d2b01['update']({'content':_0x28a2f2,'attributes':_0x9a46e1,'isFromAdapter':!0x0});}}),this['listenTo'](_0x433595,'commentRemoved',(_0x34e94a,{commentThreadId:_0x650ca8,commentId:_0x385ec7})=>{const _0x53af48=_0x53807d['getCommentThread'](_0x650ca8);if(_0x53af48){const _0xeb913a=_0x53af48['getComment'](_0x385ec7);_0xeb913a&&_0xeb913a['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xd84858);}['destroy'](){if(this['context']instanceof _0xc98307){const _0x4572e5=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4572e5);}}['_terminateService'](_0x426a4b){if(!this['_services']['has'](_0x426a4b))throw new _0x4f5dbb('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x426a4b});this['_getService'](_0x426a4b)['disconnect'](),this['_services']['delete'](_0x426a4b);}async['reconnect'](){for(const _0x23ff53 of this['_services']['keys']())await this['_connectService'](_0x23ff53);if(this['context']instanceof _0xc98307){const _0x384ae8=this['context']['config']['get']('collaboration.channelId'),_0x11d19e=this['context']['plugins']['get'](i);_0x11d19e['unregister'](_0x384ae8);const _0x3879d2=await this['_services']['get'](_0x384ae8)['getConnectedSessions']();_0x11d19e['register'](_0x384ae8,_0x3879d2);}}async['_connectService'](_0x56625e){const {connection:_0x303f32}=this['context']['plugins']['get'](n),_0x3cf262=this['context']['plugins']['get']('CommentsRepository'),_0x2509bd=this['_services']['get'](_0x56625e),_0xc46e9c=await _0x2509bd['connect'](_0x303f32);await this['_fetchMissingUsersForThreads'](_0xc46e9c);const _0x48a68e=new Set(Array['from'](_0x3cf262['getCommentThreads']({'channelId':_0x56625e}),_0x56ebe6=>_0x56ebe6['id']));for(const _0x47bb6f of _0xc46e9c)_0x47bb6f['deletedAt']||_0x48a68e['delete'](_0x47bb6f['commentThreadId']);for(const _0x5da46e of _0x48a68e)_0x3cf262['getCommentThread'](_0x5da46e)['remove']({'isFromAdapter':!0x0});for(const _0x19cd9f of _0xc46e9c){let _0x1dd9c8=_0x3cf262['getCommentThread'](_0x19cd9f['commentThreadId']);const {commentThreadId:_0x2d63d6,context:_0x28956a,attributes:_0x2fbdc0,resolvedBy:_0x393528,resolvedAt:_0x49eef4,unlinkedAt:_0x9cca20,deletedAt:_0x584f31}=_0x19cd9f;if(_0x584f31)continue;_0x1dd9c8||(_0x1dd9c8=_0x3cf262['addCommentThread']({'channelId':_0x56625e,'threadId':_0x2d63d6,'context':_0x28956a,'attributes':_0x2fbdc0||{},'resolvedBy':_0x393528,'resolvedAt':_0x49eef4,'unlinkedAt':_0x9cca20,'isFromAdapter':!0x0}));const _0x40ae50=new Set(Array['from'](_0x1dd9c8['comments'],_0x52bc1b=>_0x52bc1b['id']));for(const _0x3a5c58 of _0x19cd9f['comments'])_0x40ae50['delete'](_0x3a5c58['commentId']);for(const _0x1f064b of _0x40ae50)_0x1dd9c8['getComment'](_0x1f064b)['remove']({'isFromAdapter':!0x0});for(const _0x4fe75f of _0x19cd9f['comments']){const _0x34fcd0=_0x1dd9c8['getComment'](_0x4fe75f['commentId']);_0x34fcd0?_0x34fcd0['content']!==_0x4fe75f['content']&&_0x34fcd0['update']({'content':_0x4fe75f['content'],'isFromAdapter':!0x0}):_0x1dd9c8['addComment'](Object['assign'](et(_0x4fe75f),{'isFromAdapter':!0x0}));}}}['_getService'](_0x12856e){if(!this['_services']['has'](_0x12856e))throw new _0x4f5dbb('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x12856e});return this['_services']['get'](_0x12856e);}async['_fetchMissingUsersForThreads'](_0x58a6f9){const _0x53c78a=this['context']['plugins']['get'](_0x43661d),{connection:_0x5c4338}=this['context']['plugins']['get'](n),_0x422f47=new Set();for(const {resolvedBy:_0x2baf1b,comments:_0x1848d4}of _0x58a6f9){_0x2baf1b&&!_0x53c78a['getUser'](_0x2baf1b)&&_0x422f47['add'](_0x2baf1b);for(const {userId:_0x32f754}of _0x1848d4)_0x53c78a['getUser'](_0x32f754)||_0x422f47['add'](_0x32f754);}if(0x0===_0x422f47['size'])return;const _0x1af448=await ut['getMany'](_0x5c4338,Array['from'](_0x422f47));for(const _0x392e1f of _0x1af448)_0x53c78a['getUser'](_0x392e1f['id'])||_0x53c78a['addUser'](_0x392e1f);}}async function Z(_0x5d3f57){if('404'!==_0x5d3f57['code'])throw _0x5d3f57;}function ft(_0x1bc8d1){if((_0x2f680c=_0x1bc8d1)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2f680c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f680c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2f680c;throw _0x1bc8d1;}function et(_0x3778b4){return{'threadId':_0x3778b4['commentThreadId'],'commentId':_0x3778b4['commentId'],'content':_0x3778b4['content'],'createdAt':_0x3778b4['createdAt'],'authorId':_0x3778b4['userId'],'attributes':_0x3778b4['attributes']||{}};}class m extends _0x219212{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>rt)());['_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(_0x4c153b){super(_0x4c153b);const _0x52f13c=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x52f13c);}['init'](){const _0x1d65ad=this['editor']['plugins']['get'](n),_0x5ee292=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5ee292['adapter']={'getSuggestion':async _0x5637de=>{await this['_waitForServiceReady']();const _0x4c3ee4=await this['_trackChangesService']['get'](_0x5637de)['catch'](tt);return await this['_fetchMissingUsersForThreads']([_0x4c3ee4]),_0x4c3ee4;},'addSuggestion':async({id:_0x1b0440,type:_0x565275,data:_0x55f348,originalSuggestionId:_0xe89541,attributes:_0x220b5e})=>{await this['_waitForServiceReady']();const _0x28f75d={'id':_0x1b0440,'type':_0x565275,'data':_0x55f348,'originalSuggestionId':_0xe89541,'attributes':_0x220b5e},_0x3539b3=await this['_trackChangesService']['add'](_0x1b0440,_0x565275,_0x55f348,_0xe89541,_0x220b5e)['catch'](_0x3598fc=>{if(mt(_0x3598fc))return new Promise(_0x38a928=>{this['_bufferedRequests']['set'](_0x1b0440,{'resolve':_0x38a928,'suggestionData':_0x28f75d});});throw _0x3598fc;});return this['_bufferedRequests']['delete'](_0x1b0440),_0x3539b3;},'updateSuggestion':async(_0x59b9b8,_0x3c779e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3c779e['state'])return this['_trackChangesService']['update'](_0x59b9b8,_0x3c779e)['catch'](tt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5f4982,_0x4f9484)=>{_0x5ee292['hasSuggestion'](_0x4f9484['id'])&&(_0x5ee292['getSuggestion'](_0x4f9484['id'])['attributes']=_0x4f9484['attributes']);}),this['_trackChangesService']['connect'](_0x1d65ad['connection'])['then'](_0x177bb5=>(_0x1d65ad['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x177bb5)['then'](()=>{for(const _0x5b2aba of _0x177bb5){_0x5ee292['addSuggestionData'](_0x5b2aba)['_saved']=!0x0;}})));}async['reconnect'](){const _0x190a4d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x51c11e}=this['editor']['plugins']['get'](n),_0x215270=await this['_trackChangesService']['connect'](_0x51c11e);await this['_fetchMissingUsersForThreads'](_0x215270);for(const {suggestionData:_0x3cebc1,resolve:_0x2484cf}of this['_bufferedRequests']['values']()){let _0x4d950b=_0x215270['find'](_0x5cfa80=>_0x5cfa80['id']===_0x3cebc1['id']);_0x4d950b||(_0x4d950b=await this['_trackChangesService']['add'](_0x3cebc1['id'],_0x3cebc1['type'],_0x3cebc1['data'],_0x3cebc1['originalSuggestionId'])),_0x2484cf(_0x4d950b);}for(const _0x120038 of _0x215270)_0x190a4d['hasSuggestion'](_0x120038['id'])||_0x190a4d['addSuggestionData'](_0x120038);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x23e431=>{this['listenTo'](this['_trackChangesService'],'connected',_0x24b4a9=>{_0x24b4a9['off'](),_0x23e431();});});}async['_fetchMissingUsersForThreads'](_0x323c51){const _0x1694d9=this['editor']['plugins']['get'](_0x43661d),{connection:_0x2a4cc8}=this['editor']['plugins']['get'](n),_0x53026b=new Set();for(const {authorId:_0xb3c3db}of _0x323c51)_0x1694d9['getUser'](_0xb3c3db)||_0x53026b['add'](_0xb3c3db);if(0x0===_0x53026b['size'])return;const _0x354cc1=await ut['getMany'](_0x2a4cc8,Array['from'](_0x53026b));for(const _0x1c3a1e of _0x354cc1)_0x1694d9['getUser'](_0x1c3a1e['id'])||_0x1694d9['addUser'](_0x1c3a1e);}}function tt(_0x24ef90){if(mt(_0x24ef90))return new Promise(()=>{});throw _0x24ef90;}function mt(_0x57e8bc){return _0x57e8bc['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x57e8bc['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x219212{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 _0x54c014=this['editor']['plugins']['get'](n),_0x40aa6b=this['editor']['plugins']['get']('CommentsEditing'),_0x3886b6=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x54c014,'change:state',(_0x223085,_0x50aebe,_0x157b7e)=>{_0x40aa6b['isThreadsLoadingPaused']='connected'!==_0x157b7e;});}),this['listenTo'](_0x54c014,'change:state',(_0x1846f1,_0x52de5f,_0x5ad8bc)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x5ad8bc);}),_0x3886b6['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x219212{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 _0x219212{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x43661d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xeaca2e){super(_0xeaca2e);const _0x5ef9b4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5ef9b4);}async['init'](){const _0x258646=this['editor']['plugins']['get'](l),_0x17ac3e=_0x258646['serverHistory'],_0x60b252=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x17ac3e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x258646['sessionId']});const _0x2cbd67=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x4621c2=await it['isBundleUploaded'](_0x60b252['connection'],_0x2cbd67);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2118e8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2118e8)),'updateRevisions':async _0x41b2e2=>{await this['_waitForServiceReady']();const _0xf5e4bb=this['_revisionTracker']['currentRevision'];if(_0x4621c2&&0x1===_0x41b2e2['length']&&_0x41b2e2[0x0]['id']===_0xf5e4bb['id'])return _0x41b2e2;for(const _0x5586f4 of _0x41b2e2)_0x5586f4['id']===_0xf5e4bb['id']&&(_0x5586f4['isEmptyCurrent']=_0x5586f4['fromVersion']===_0x5586f4['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x41b2e2,this['_lastRequestId'])['then'](_0x218736=>(this['_lastRequestId']=_0x218736,_0x41b2e2))['catch'](_0x3beb7b=>{if(ot(_0x3beb7b)||'400'===_0x3beb7b['code']&&void 0x0!==_0x3beb7b['data']['wrongRequestId']){for(const _0x1b2ff6 of _0x41b2e2){!this['_revisionTracker']['repository']['getRevision'](_0x1b2ff6['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1b2ff6['id'],_0x1b2ff6,!0x1);}if(ot(_0x3beb7b))throw _0x3beb7b;return _0x41b2e2;}throw _0x3beb7b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4541cd,{revisionsData:_0xb48fc3,requestId:_0x524d15})=>{Math['max'](..._0xb48fc3['map'](_0x463618=>_0x463618['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xb48fc3,_0x524d15);}):this['_handleRevisionsUpdate'](_0xb48fc3,_0x524d15);});const {revisions:_0xb0fb4e,requestId:_0x2329d4}=await this['_revisionHistoryService']['connect'](_0x60b252['connection']);_0x60b252['addToReconnectionStack'](this),this['_lastRequestId']=_0x2329d4,await this['_fetchMissingUsers'](_0xb0fb4e);for(const _0x3ed083 of _0xb0fb4e)this['_revisionTracker']['addRevisionData'](_0x3ed083);this['listenTo'](_0x258646,'change:_isConnected',(_0x474273,_0x41fb65,_0x3d564e)=>{_0x3d564e&&(this['_oldOffset']=_0x258646['_offset'],_0x474273['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x60b252,'state',_0x3d23f7=>_0x3d23f7===_0x37b8cf['CONNECTED']);}async['reconnect'](){const _0x4ca719=this['editor']['plugins']['get'](n),_0x563757=this['editor']['plugins']['get'](l),_0x321784=async()=>{const _0x48a677=this['_revisionTracker']['currentRevision'],_0x2fca2b=_0x48a677['id'],_0x3cabab=_0x2fca2b!==_0x563757['sessionId'];if(_0x3cabab){const _0x530bd8=_0x563757['_offset']-this['_oldOffset'],_0x56c191=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x48a677['toVersion']+_0x530bd8!==_0x56c191){const _0x5cbbd5=_0x48a677['fromVersion']+_0x530bd8,_0x5f3b97=this['editor']['plugins']['get'](_0x43661d),_0x2e960f=this['_revisionTracker']['buildRevisionData']({'revision':_0x48a677,'from':_0x5cbbd5,'to':_0x56c191});_0x2e960f['id']=_0x48a677['id'];const _0x25379d=_0x2e960f['authorsIds']['map'](_0x4a5ae0=>_0x5f3b97['getUser'](_0x4a5ae0));_0x48a677['_update']({..._0x2e960f,'authors':_0x25379d},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x48a677['id'],_0x2e960f,!0x0);}this['_revisionTracker']['_startingVersion']=_0x56c191,(_0x48a677['toVersion']===_0x48a677['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2fca2b)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2fca2b),this['_revisionTracker']['_createCurrentRevision'](_0x56c191));}const {revisions:_0x3350eb,requestId:_0x4df32e}=await this['_revisionHistoryService']['reconnect'](_0x4ca719['connection'],this['_lastRequestId']);_0x3cabab&&_0x3350eb['length']>0x0?_0x563757['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3350eb),this['_handleRevisionsUpdate'](_0x3350eb,_0x4df32e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x563757['_isConnected']?_0x321784():new Promise((_0x95a1b8,_0x2e97eb)=>{_0x563757['once']('change:_isConnected',()=>{_0x321784()['then'](_0x95a1b8)['catch'](_0x2e97eb);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2cea0b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4ec196=>{_0x4ec196['off'](),_0x2cea0b();});});}['_getLatestVersionFromServerOperations'](){const _0x34bbbb=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3e956b of _0x34bbbb)if('marker'!==_0x3e956b['type']||_0x3e956b['affectsData'])return _0x3e956b['baseVersion']+0x1;}['_getLatestVersion'](){const _0x6b7a35=this['editor']['plugins']['get'](l);return new Promise(_0x269517=>{_0x6b7a35['_isPendingUpdate']?_0x6b7a35['once']('change:_isPendingUpdate',()=>{_0x269517(this['_getLatestVersionFromServerOperations']());}):_0x269517(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x46a989,_0x25cdaf){const _0x380c0d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x25cdaf;for(const _0xac9c34 of _0x46a989){const _0x1569ad=_0x380c0d['getRevision'](_0xac9c34['id']);if(_0x1569ad){if((_0xac9c34['fromVersion']||_0xac9c34['toVersion'])&&(_0xac9c34['diffData']=null),_0x1569ad===this['_revisionTracker']['currentRevision']){const _0x479dbc=Math['max'](_0x1569ad['toVersion'],_0xac9c34['toVersion']),_0x52161a=Math['max'](_0x1569ad['fromVersion'],_0xac9c34['fromVersion']);let _0x4243c1;_0x1569ad['toVersion']===_0xac9c34['toVersion']&&_0x1569ad['fromVersion']===_0xac9c34['fromVersion']?(_0x4243c1=!0x0,this['_preventResendingRevisionData'](_0xac9c34)):_0xac9c34['toVersion']===_0x479dbc&&_0xac9c34['fromVersion']===_0x52161a?_0x4243c1=!0x1:(_0x1569ad['toVersion']===_0x479dbc&&_0x1569ad['fromVersion']===_0x52161a||this['_fixRevision']({'revision':_0x1569ad,'from':_0x52161a,'to':_0x479dbc}),_0x4243c1=!0x0),_0x4243c1&&(delete _0xac9c34['fromVersion'],delete _0xac9c34['toVersion'],delete _0xac9c34['diffData'],delete _0xac9c34['createdAt'],delete _0xac9c34['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xac9c34),this['_preventResendingRevisionData'](_0xac9c34);}else this['_revisionTracker']['addRevisionData'](_0xac9c34);}const _0x5dd1e9=_0x380c0d['getRevisions']();_0x5dd1e9['reverse']();for(let _0x1428f7=0x0;_0x1428f7<_0x5dd1e9['length']-0x1;_0x1428f7++){const _0x5784a8=_0x5dd1e9[_0x1428f7],_0x17e3d7=_0x5dd1e9[_0x1428f7+0x1];if(_0x5784a8['fromVersion']<_0x17e3d7['toVersion']){const _0x26f4f2=_0x17e3d7['toVersion'],_0x13952a=Math['max'](_0x26f4f2,_0x5784a8['toVersion']);this['_fixRevision']({'revision':_0x5784a8,'from':_0x26f4f2,'to':_0x13952a});}}}['_fixRevision']({revision:_0x18888c,from:_0x47f767,to:_0x22175f}={}){const _0x4d6eaf=this['editor']['plugins']['get'](_0x43661d),_0x3c3446=this['_revisionTracker']['buildRevisionData']({'revision':_0x18888c,'from':_0x47f767,'to':_0x22175f});_0x3c3446['authors']=_0x3c3446['authorsIds']['map'](_0x1861b9=>_0x4d6eaf['getUser'](_0x1861b9)),_0x18888c['_update'](_0x3c3446);}['_preventResendingRevisionData'](_0x205a60){const _0x5788ea={};_0x5788ea['id']=_0x205a60['id'];for(const _0x48ccc4 of Object['keys'](_0x205a60))'id'!==_0x48ccc4&&(_0x5788ea[_0x48ccc4]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5788ea['id'],_0x5788ea,!0x0);}async['_fetchMissingUsers'](_0x86007d){const _0x426cbf=this['editor']['plugins']['get'](_0x43661d),{connection:_0x3ab82a}=this['editor']['plugins']['get'](n),_0x3cb3a4=new Set();for(const _0x3abbdd of _0x86007d){for(const _0x2be3e8 of _0x3abbdd['authorsIds'])_0xf22792(_0x2be3e8);_0x3abbdd['creatorId']&&_0xf22792(_0x3abbdd['creatorId']);}if(0x0===_0x3cb3a4['size'])return;const _0x48b553=await ut['getMany'](_0x3ab82a,Array['from'](_0x3cb3a4));for(const _0x51bd88 of _0x48b553)_0x426cbf['getUser'](_0x51bd88['id'])||_0x426cbf['addUser'](_0x51bd88);function _0xf22792(_0x35995a){_0x426cbf['getUser'](_0x35995a)||_0x3cb3a4['add'](_0x35995a);}}}function ot(_0x47089d){return _0x47089d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x47089d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x47089d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x219212{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 _0x51b6fd{['_collapseAt'];constructor(_0x484e49,_0x58dc63=0x6){super(_0x484e49);const _0x50cc51=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x58dc63,this['bind']('isHidden')['to'](this,'usersCount',_0xb50cf7=>_0xb50cf7<_0x58dc63),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x50cc51['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':_0x50cc51['to']('usersCount',_0xdb1540=>'+'+(_0xdb1540-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x51b6fd{['items'];['keystrokes'];constructor(_0x4c28bb){super(_0x4c28bb);const _0x481e2c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x34fdef(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x481e2c['if']('hasPopup'),'aria-expanded':_0x481e2c['to']('isExpanded',_0x168b2c=>this['hasPopup']&&String(_0x168b2c)),'aria-label':_0x481e2c['to']('hasPopup',_0x1e379a=>E(_0x4c28bb,_0x1e379a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x481e2c['to']('hasPopup',_0x3dd958=>!!_0x3dd958&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x481e2c['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x481e2c['to'](_0x420ee5=>{const _0x23a8b2=_0x420ee5,_0x45ee8b=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3817eb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x45ee8b?.['contains'](_0x23a8b2['relatedTarget'])||_0x3817eb?.['contains'](_0x23a8b2['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1b3002,_0x48d808,_0x2febe8)=>{this['element']&&(_0x2febe8?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 _0x51b6fd{['counterView'];['inlineListView'];constructor(_0x2e269b,_0x312239=0x6){super(_0x2e269b);const _0x1393d7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x312239),this['inlineListView']=new is(_0x2e269b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x35aee6 of this['inlineListView']['items'])_0x35aee6['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',_0x1393d7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x51b6fd{['listWrapperView'];constructor(_0x43c923,_0x32f0ab){super(_0x43c923);const _0x2cf0c5=this['bindTemplate'];this['listWrapperView']=new wt(_0x43c923,_0x32f0ab),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x43c923,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2cf0c5['to'](_0x4fd677=>{const _0x1bae6f=_0x4fd677,_0x54c6ea=document['querySelector']('.ck-presence-list__list'),_0x47e2ec=document['querySelector']('.ck-balloon-panel_with-arrow');_0x54c6ea?.['contains'](_0x1bae6f['relatedTarget'])||_0x47e2ec?.['contains'](_0x1bae6f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x1fbd40{constructor(_0x249d6d,_0x291af1){super(_0x249d6d);const _0x5de474=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x291af1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5de474['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5de474['to']('role'),'aria-label':_0x5de474['to']('ariaLabel'),'aria-labelledby':_0x5de474['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x414b96['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xdd7b58=this['element'];_0xdd7b58&&(this['_isScrollable']=Math['max'](_0xdd7b58['scrollHeight'],_0xdd7b58['clientHeight'])>0.8*window['innerHeight']);}}class j extends ct{['userView'];constructor(_0x445bb6,_0x48e07e,_0x5db0cd){super(_0x445bb6);const _0x4e27d0=this['bindTemplate'];this['userView']=new at(_0x445bb6,_0x48e07e);const _0x2a486f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x48e07e['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x48e07e['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x48e07e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5db0cd&&(_0x2a486f['tag']='button',_0x2a486f['on']={'click':_0x4e27d0['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2a486f);}['focus'](){this['element']['focus']();}}class A extends _0x51b6fd{['userView'];['markerView'];constructor(_0x397b5b,_0x422931,_0x2f8430){super(_0x397b5b);const _0x54aad0=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x397b5b,_0x422931),this['markerView']=new nt(_0x397b5b,_0x422931);const _0x1e172b=new lt(_0x397b5b);_0x1e172b['template']['tag']='span',_0x1e172b['text']=_0x422931['name'];const _0x3d580d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x54aad0['to']('isFocusable',_0xfc5b25=>!!_0xfc5b25&&0x0),'aria-labelledby':_0x1e172b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x54aad0['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x54aad0['to']('hasTooltip',_0x17c706=>!_0x17c706),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1e172b]};_0x2f8430&&(_0x3d580d['tag']='button',_0x3d580d['on']={'click':_0x54aad0['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d580d);}}class nt extends _0x51b6fd{constructor(_0x156805,_0x1b1899){super(_0x156805),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b1899['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x31ab34{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x44815e){super(_0x44815e),this['context']['config']['define']('presenceList',x);const _0x16ab38=_0x44815e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x16ab38)throw new _0x4f5dbb('presencelist-collapseat-invalid-format',this);if(_0x16ab38<0x1)throw new _0x4f5dbb('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5896c6(),this['balloonPanelView']=new _0x354b78(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x41d99b of this['_allConnectedUsers'])this['_handleUserAdd'](_0x41d99b);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1c55a3,_0x2d8605)=>{this['_handleUserAdd'](_0x2d8605);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x119a5c,_0x5b9cdb)=>{this['_handleUserRemove'](_0x5b9cdb);});}['_createView'](){const _0x368672=this['context'],_0xc7e0f9=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x48eacc=this['balloonPanelView'];if(!_0x109134(_0x368672['config']['get']('presenceList.container')))throw new _0x4f5dbb('presencelist-missing-container',this);return _0xc7e0f9['counterView']['bind']('usersCount')['to'](this),_0xc7e0f9['bind']('isCollapsed')['to'](this,'usersCount',_0x34787a=>{const {collapseAt:_0x5700e7}=_0x368672['config']['get']('presenceList'),_0x20d416=_0x34787a>=_0x5700e7;if(_0x20d416&&!_0xc7e0f9['inlineListView']['items']['find'](_0x54520e=>_0x54520e instanceof b)){const _0x361e83=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x361e83&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xc7e0f9['inlineListView']['items']['add'](_0xc7e0f9['counterView']);}return _0x20d416||this['hideDropdown'](),_0x20d416;}),_0xc7e0f9['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x29db7a=>{const _0x1f1d0a=_0x368672['config']['get']('presenceList'),_0x57f332=new A(_0x368672['locale'],_0x29db7a,!!_0x1f1d0a['onClick']);return _0x57f332['bind']('hasTooltip')['to'](_0xc7e0f9,'isCollapsed',_0x1445b3=>!_0x1445b3),_0x57f332['bind']('isFocusable')['to'](_0xc7e0f9,'isCollapsed',_0x24f08f=>!_0x24f08f),_0x1f1d0a['onClick']&&this['listenTo'](_0x57f332,'execute',()=>{this['view']['isCollapsed']||_0x1f1d0a['onClick'](_0x29db7a,_0x57f332['element']);}),_0x57f332;}),this['listenTo'](_0xc7e0f9['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xc7e0f9['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xc7e0f9['inlineListView']['keystrokes']['set']('Enter',(_0x1dcc20,_0x586462)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x586462());}),_0xc7e0f9['render'](),_0x48eacc['render'](),_0x399ee0({'emitter':_0xc7e0f9,'activator':()=>_0x48eacc['isVisible'],'contextElements':[_0x48eacc['element'],_0xc7e0f9['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x368672['config']['get']('presenceList.container')['appendChild'](_0xc7e0f9['element']),this['_bodyCollection']=new _0x4cacd6(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xc7e0f9;}['_handleUserAdd'](_0x2df86d){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2df86d['isMe'])return;const _0x393009=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x393009-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1b43ac=_0x2df86d['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2df86d,_0x1b43ac);}['_handleUserRemove'](_0x5eb72a){this['usersCount']--;const {collapseAt:_0x2a076e}=this['context']['config']['get']('presenceList'),_0xcb361=this['usersCount']>=_0x2a076e;if(this['currentDisplayedUsers']['get'](_0x5eb72a['id']))this['currentDisplayedUsers']['remove'](_0x5eb72a['id']);else{if(_0xcb361&&this['currentDisplayedUsers']['length']+0x1===_0x2a076e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xcb361?0x1:0x0)<this['usersCount']){for(const _0x1f2126 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1f2126['id'])&&(this['currentDisplayedUsers']['add'](_0x1f2126,Math['min'](this['currentDisplayedUsers']['length']-(_0xcb361?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xcb361?0x1:0x0)===_0x2a076e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x74dbe6=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x74dbe6['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x41ddd5}=this['presenceDropdownView'];_0x41ddd5['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x34cff8=>{if(!_0x74dbe6['displayMe']&&_0x34cff8['isMe'])return null;const _0x31e75b=new j(this['context']['locale'],_0x34cff8,!!_0x74dbe6['onClick']);return _0x74dbe6['onClick']&&this['listenTo'](_0x31e75b,'execute',()=>{_0x74dbe6['onClick'](_0x34cff8,_0x31e75b['element']);}),_0x31e75b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x41ddd5['focus'](),_0x41ddd5['checkIfScrollable']();const _0x475c9c=(_0x582bad,_0x658187)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x658187();};_0x41ddd5['keystrokes']['set']('Esc',_0x475c9c),_0x41ddd5['keystrokes']['set']('Shift+Tab',_0x475c9c),_0x41ddd5['keystrokes']['set']('Tab',(_0xbe107c,_0x4d1cd4)=>{!function(_0x523e30){const _0x7719bc=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x55e1b3=>_0x55e1b3+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x558aba=[...document['body']['querySelectorAll'](_0x7719bc)]['filter'](_0x21501f=>_0x21501f===document['activeElement']||_0x21501f['offsetWidth']+_0x21501f['offsetHeight']>0x0)['sort']((_0x3f4559,_0x3ac39a)=>(_0x3f4559['tabIndex']||0x0)-(_0x3ac39a['tabIndex']||0x0)),_0x1a626c=_0x558aba['indexOf'](_0x523e30),_0x2ca550=_0x558aba[(_0x1a626c+0x1)%_0x558aba['length']];_0x2ca550&&_0x2ca550['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4d1cd4();}),_0x41ddd5['focusTracker']['add'](this['view']['element']),_0x41ddd5['focusTracker']['on']('change:isFocused',(_0x576cc1,_0x226511,_0x1aecdf)=>{_0x1aecdf||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x31ab34{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};