@ckeditor/ckeditor5-real-time-collaboration 45.2.1-alpha.6 → 45.2.1-alpha.8

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 _0x42e636,Plugin as _0x101618,PendingActions as _0x5b9ce0,Context as _0xe89c7}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x553aa8,CKEditorError as _0x9c1d4e,Collection as _0x4af4f4,global as _0x3b3485,version as nt,uid as _0x1416ae,KeystrokeHandler as _0x135344}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x105111,View as _0x157a15,ListView as _0x13123e,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x3c08a0,clickOutsideHandler as _0x188faf,BodyCollection as _0x4fb312}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x56ac5e,NoOperation as _0x3fd772,InsertOperation as _0x24acca,MarkerOperation as _0x3c5467,RootAttributeOperation as _0x21f95a,transformSets as _0x69da3a,OperationFactory as _0x57cd0a}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x20e191,CollaborativeEditingService as _0x1415a3,User as dt,CommentsService as _0x468d30,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5f0649,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5d48a0}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x185eae}from'es-toolkit/compat';class c extends _0x42e636{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x105111];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x130474){super(_0x130474),this['set']('state',_0x20e191['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x553aa8);}['init'](){const _0x191ebb=this['context'],_0x1382ef=_0x191ebb['plugins']['get']('CloudServices'),_0x3b5a43=_0x191ebb['plugins']['get'](_0x105111);if(!_0x1382ef['token'])throw new _0x9c1d4e('websocketgateway-missing-token',this);if(!_0x1382ef['webSocketUrl'])throw new _0x9c1d4e('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),c['WebSocketGateway']['connect'](_0x1382ef['token'],_0x1382ef['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x7d8d5b=>{if(this['connection']=_0x7d8d5b,this['bind']('state')['to'](_0x7d8d5b,'state',this,'_isBrowserOffline',(_0x126897,_0x2850b5)=>('connected'!==_0x126897&&(this['_shouldPluginsReconnect']=!0x0),_0x2850b5||_0x126897!==_0x20e191['CONNECTED']?_0x20e191['DISCONNECTED']:this['state']==_0x20e191['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x20e191['CONNECTING']):_0x20e191['CONNECTED'])),this['connection']['on']('error',(_0x46f542,_0x3e1986)=>{if('limitExceeded'!==_0x3e1986['code'])throw console['error'](_0x3e1986),new _0x9c1d4e('cloudservices-init',null,{'originalError':_0x3e1986});_0x3b5a43['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'});}),!_0x7d8d5b['me'])return new Promise(_0x10f3f2=>_0x7d8d5b['on']('change:me',_0x10f3f2));})['catch'](_0x4d5229=>{throw console['error'](_0x4d5229),new _0x9c1d4e('cloudservices-init',null,{'originalError':_0x4d5229});});}['addToReconnectionStack'](_0x4fc6c3){if('function'!=typeof _0x4fc6c3['reconnect'])throw new _0x9c1d4e('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4fc6c3))throw new _0x9c1d4e('websocketgateway-plugin-already-registered',this,{'name':_0x4fc6c3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4fc6c3);}['removeFromReconnectionStack'](_0xc3fafd){this['_reconnectionStack']['delete'](_0xc3fafd);}['isInReconnectionStack'](_0x270428){return this['_reconnectionStack']['has'](_0x270428);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x435eac=>_0x435eac['reconnect']())))['then'](()=>this['state']=_0x20e191['CONNECTED'])['catch'](_0x441465=>{throw console['error'](_0x441465),new _0x9c1d4e('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x20e191['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x42e636{['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[c,_0x5f0649];}constructor(_0x1c5e82){super(_0x1c5e82),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4af4f4(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5f0649);}['init'](){const _0x413384=this['context']['plugins']['get'](c);this['listenTo'](_0x413384,'change:state',(_0x39b04b,_0x3ea863,_0x13c81b)=>{if('connected'!==_0x13c81b)this['channelSessions']['forEach'](_0x5903bc=>_0x5903bc['clear']()),this['channelConnectedUsers']['forEach'](_0x3adf62=>_0x3adf62['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3a4e76,_0x1e3d0f]of this['_registeredSessions'])for(const _0x418026 of _0x1e3d0f)this['_handleSessionAdd'](_0x3a4e76,_0x418026);}}),this['_createUser'](_0x413384['connection']['me'],!0x0);}['register'](_0x38a5c7,_0x946696){if(this['_registeredSessions']['has'](_0x38a5c7))throw new _0x9c1d4e('sessions-register-already-registered',null,{'channelId':_0x38a5c7});this['_registeredSessions']['set'](_0x38a5c7,_0x946696),this['channelSessions']['set'](_0x38a5c7,new _0x4af4f4()),this['channelConnectedUsers']['set'](_0x38a5c7,new _0x4af4f4()),this['listenTo'](_0x946696,'add',(_0x4c1a17,_0x5c3944)=>this['_handleSessionAdd'](_0x38a5c7,_0x5c3944)),this['listenTo'](_0x946696,'remove',(_0x10d0ba,_0x4f3a04)=>this['_handleSessionRemove'](_0x38a5c7,_0x4f3a04));for(const _0x473142 of _0x946696)this['_handleSessionAdd'](_0x38a5c7,_0x473142);}['unregister'](_0x25b0dc){if(!this['_registeredSessions']['has'](_0x25b0dc))throw new _0x9c1d4e('sessions-unregister-not-exist',null,{'channelId':_0x25b0dc});const _0x2038db=this['_registeredSessions']['get'](_0x25b0dc);this['stopListening'](_0x2038db);for(const _0x3bdffb of _0x2038db)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x25b0dc,_0x3bdffb);this['_registeredSessions']['delete'](_0x25b0dc),this['channelSessions']['delete'](_0x25b0dc),this['channelConnectedUsers']['delete'](_0x25b0dc);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x231ca0){for(const _0x5c55cc of this['channelSessions']['values']())for(const _0x21a77c of _0x5c55cc)if(_0x21a77c['id']===_0x231ca0)return _0x21a77c['user'];}['getUserSessions'](_0x2c2a13,_0xbf56f6){const _0x53f89e=_0xbf56f6?[this['channelSessions']['get'](_0xbf56f6)]:this['channelSessions']['values'](),_0x1e4888=new Set();for(const _0x3d10d0 of _0x53f89e)for(const _0x44641e of _0x3d10d0)_0x44641e['user']['id']===_0x2c2a13['id']&&_0x1e4888['add'](_0x44641e['id']);return _0x1e4888;}['getUserRole'](_0x2f351e){for(const _0x1569d4 of this['channelSessions']['values']())for(const _0x3d7131 of _0x1569d4)if(_0x3d7131['user']===_0x2f351e)return _0x3d7131['role'];}['_handleSessionAdd'](_0x430ff4,_0x2351b2){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x24171e=_0x2351b2['user'],_0x29092e=this['_users']['getUser'](_0x24171e['id'])||this['_createUser'](_0x24171e),_0x2705a6=Object['assign']({},_0x2351b2,{'user':_0x29092e});this['channelSessions']['get'](_0x430ff4)['add'](_0x2705a6);const _0x40fefb=this['channelConnectedUsers']['get'](_0x430ff4);_0x40fefb['has'](_0x29092e['id'])||_0x40fefb['add'](_0x29092e),this['allConnectedUsers']['has'](_0x29092e['id'])||this['allConnectedUsers']['add'](_0x29092e,_0x29092e['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x430ff4,{'channelId':_0x430ff4,'session':_0x2705a6});}['_handleSessionRemove'](_0x1651e0,_0x45b703){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x134b2f=this['channelConnectedUsers']['get'](_0x1651e0),_0xead3f2=_0x45b703['user'];_0xead3f2['id']&&(this['channelSessions']['get'](_0x1651e0)['remove'](_0x45b703['id']),_0x134b2f['has'](_0xead3f2['id'])&&!this['getUserSessions'](_0xead3f2,_0x1651e0)['size']&&_0x134b2f['remove'](_0xead3f2['id']),this['allConnectedUsers']['get'](_0xead3f2['id'])&&!this['getUserSessions'](_0xead3f2)['size']&&this['allConnectedUsers']['remove'](_0xead3f2['id']));}['_createUser'](_0x51d554,_0x26117b){const _0x16e084=this['_users']['addUser'](_0x51d554);return _0x26117b&&this['_users']['defineMe'](_0x51d554['id']),_0x16e084['orderNumber']=this['_uniqueUsersCount']++,_0x16e084;}}class q extends _0x101618{['_domEmitter']=new(_0x553aa8())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2c0cff=this['editor'],_0x4cc035=_0x2c0cff['plugins']['get'](i);_0x2c0cff['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xb22d7f,{writer:_0x52dd29})=>function(_0x50a946,_0xcfe90b,_0x98d195,_0x43ad38){const _0xf3d45b=_0x50a946['markerName']['split'](':')[0x2],_0x2b510c=_0x98d195['getUserBySessionId'](_0xf3d45b);if(!_0x2b510c||_0xf3d45b===_0x98d195['mySessionId'])return;if(!_0x43ad38['model']['schema']['checkChild'](_0x50a946['markerRange']['start'],'$text'))return;const _0x3f707c={'class':'ck-user__marker\x20'+_0x2b510c['color']['getMarkerClass'](),'data-name':_0x2b510c['name'],'data-session-id':_0xf3d45b},_0x1651d9=_0x43ad38['model']['markers']['get'](_0x50a946['markerName']),_0x6d8519=_0x1651d9['getStart'](),_0x298c17=_0x6d8519['nodeAfter'],_0x29f30b=_0x43ad38['model']['schema'];if(_0x298c17&&_0x29f30b['isObject'](_0x298c17)&&_0x29f30b['isInline'](_0x298c17)&&!_0x43ad38['model']['markers']['get']('user:range:'+_0xf3d45b)['getRange']()['isCollapsed'])return;const _0x3a948a=_0x6d8519['parent'];return _0x43ad38['model']['schema']['isLimit'](_0x3a948a)&&!_0x43ad38['model']['hasContent'](_0x3a948a)&&(_0x3f707c['contenteditable']=!0x1),function(_0x11946b,_0x5403e5,_0x4066aa){const _0x4c591d=_0x11946b['createUIElement']('span',_0x5403e5);return _0x11946b['setCustomProperty']('userPositionMarker',!0x0,_0x4c591d),_0x4c591d['render']=function(_0x440927){const _0x41e6df=this['toDomElement'](_0x440927),_0x2c8b62=document['createElement']('span');return _0x2c8b62['classList']['add']('ck-user__marker-tooltip'),_0x2c8b62['setAttribute']('contenteditable','false'),_0x2c8b62['setAttribute']('spellcheck','false'),_0x2c8b62['textContent']=_0x4066aa['name'],_0x41e6df['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2c8b62['outerHTML']+'⁠',_0x41e6df['addEventListener']('mouseenter',()=>{_0x41e6df['classList']['add']('ck-user__marker_hovered');}),_0x41e6df['addEventListener']('mouseleave',()=>{_0x41e6df['classList']['remove']('ck-user__marker_hovered');}),_0x41e6df;},_0x4c591d['isSimilar']=function(_0x440b8d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x440b8d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x440b8d['getAttribute']('data-session-id'));},_0x4c591d;}(_0xcfe90b,_0x3f707c,_0x2b510c);}(_0xb22d7f,_0x52dd29,_0x4cc035,_0x2c0cff)}),_0x2c0cff['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5cedad=>function(_0x48f994,_0x3010fd){const _0x3c309e=_0x48f994['markerName']['split'](':')[0x2];if(_0x3c309e===_0x3010fd['mySessionId'])return null;const _0x4c011c=_0x3010fd['getUserBySessionId'](_0x3c309e);if(!_0x4c011c)return{'id':_0x3c309e,'classes':[]};return{'id':_0x3c309e,'classes':['ck-user__selection',_0x4c011c['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3c309e},'priority':0x7d0+_0x4c011c['orderNumber']};}(_0x5cedad,_0x4cc035)}),function(_0x440088){const _0x10902c=_0x440088['model'],_0x2e95e1=new Map(),_0x585ca1=_0x440088['plugins']['get'](i);_0x10902c['markers']['on']('update:user:range',(_0x33b4c2,_0x1e142f,_0x3fd46a,_0x5eda85)=>{if(!_0x5eda85&&_0x2e95e1['get'](_0x1e142f['name']))return _0x2e95e1['get'](_0x1e142f['name'])['detach'](),void _0x2e95e1['delete'](_0x1e142f['name']);const _0x30111b=_0x1e142f['name']['split'](':')[0x2];if(_0x30111b===_0x585ca1['mySessionId'])return;const _0x4bcfae='user:position:'+_0x30111b;_0x10902c['markers']['has'](_0x4bcfae)&&_0x440088['editing']['reconvertMarker'](_0x4bcfae),_0x1e142f['on']('change:range',(_0x428969,_0x1db3c0,_0x392615)=>{if('$graveyard'!=_0x1db3c0['root']['rootName']&&'$graveyard'==_0x1e142f['getRange']()['root']['rootName']&&!_0x2e95e1['has'](_0x1e142f['name'])){const _0x4d72fe=_0x10902c['schema']['getNearestSelectionRange'](_0x392615['deletionPosition']);if(_0x4d72fe){const _0x20cf82=ht['fromRange'](_0x4d72fe);_0x2e95e1['set'](_0x1e142f['name'],_0x20cf82),_0x20cf82['on']('change:range',(_0x1c5e59,_0x538e0c,_0x40d13b)=>{if('$graveyard'==_0x20cf82['root']['rootName']){const _0x132f75=_0x10902c['schema']['getNearestSelectionRange'](_0x40d13b['deletionPosition']);_0x132f75?(_0x20cf82['start']=_0x132f75['start'],_0x20cf82['end']=_0x132f75['end']):(_0x2e95e1['delete'](_0x1e142f['name']),_0x20cf82['detach']());}});}}});}),_0x10902c['document']['on']('change',()=>{_0x2e95e1['size']>0x0&&_0x10902c['enqueueChange']({'isUndoable':!0x1},_0x5a248d=>{for(const [_0x4a629c,_0x22aac2]of _0x2e95e1)'$graveyard'==_0x10902c['markers']['get'](_0x4a629c)['getRange']()['root']['rootName']&&(te(_0x4a629c['split'](':')[0x2],_0x22aac2['toRange'](),_0x10902c,_0x5a248d),_0x22aac2['detach']());_0x2e95e1['clear']();});});}(_0x2c0cff),this['_domEmitter']['listenTo'](_0x3b3485['document'],'keydown',(_0x5d98f9,{key:_0x56d5fd})=>{'Escape'===_0x56d5fd&&function(_0x584869){_0x584869['editing']['view']['change'](_0x2d4788=>{for(const _0x540052 of _0x584869['model']['markers']){if(!_0x540052['name']['startsWith']('user:position'))continue;const _0x4060ea=_0x584869['editing']['mapper']['markerNameToElements'](_0x540052['name']);if(_0x4060ea){for(const _0xdc8de6 of _0x4060ea)_0x2d4788['removeClass']('ck-user__marker_hovered',_0xdc8de6);}}});}(_0x2c0cff);},{'useCapture':!0x0});}['afterInit'](){const _0x3e3c68=this['editor'],_0x174d6c=_0x3e3c68['commands']['get']('undo');_0x174d6c&&_0x3e3c68['model']['on']('applyOperation',(_0x476fe8,_0x2d4bb0)=>{const _0x5c9641=_0x2d4bb0[0x0];if(!_0x5c9641['isDocumentOperation'])return;if('marker'!=_0x5c9641['type']||!_0x5c9641['name']['startsWith']('user:'))return;const _0x598b51=_0x5c9641['batch'];_0x174d6c['_createdBatches']['has'](_0x598b51)&&(_0x5c9641['newRange']=_0x5c9641['oldRange']?_0x3e3c68['model']['createRange'](_0x5c9641['oldRange']['start'],_0x5c9641['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x44ca7d=this['editor'],_0xca30a=_0x44ca7d['model']['document'],_0x5bb0d7=_0x44ca7d['plugins']['get'](i);_0x44ca7d['model']['enqueueChange']({'isUndoable':!0x1},_0x582141=>{const _0x647242='user:range:'+_0x5bb0d7['mySessionId'],_0x24181d='user:position:'+_0x5bb0d7['mySessionId'],_0x1e860b=_0x44ca7d['model']['markers']['has'](_0x647242);_0x44ca7d['editing']['view']['hasDomSelection']?te(_0x5bb0d7['mySessionId'],_0xca30a['selection']['getFirstRange'](),_0x44ca7d['model'],_0x582141):_0x1e860b&&(_0x582141['removeMarker'](_0x647242),_0x582141['removeMarker'](_0x24181d));});}}function te(_0x3bbf31,_0x2c9cf4,_0x2e2f65,_0x2e6d95){const _0x4c53e3='user:range:'+_0x3bbf31,_0x20dcfc='user:position:'+_0x3bbf31,_0x2ba6e9=_0x2c9cf4['getContainedElement']();let _0x5088be=_0x2c9cf4['start'];if(_0x2ba6e9&&_0x2ba6e9['is']('element','tableCell')){const _0x35715b=function(_0x313c75,_0x1f7a6d){for(const _0x1d1ce3 of _0x313c75['getPositions']())if(_0x1f7a6d['schema']['checkChild'](_0x1d1ce3,'$text'))return _0x1d1ce3;}(_0x2c9cf4,_0x2e2f65);_0x35715b&&(_0x5088be=_0x35715b,_0x2c9cf4=_0x2e6d95['createRange'](_0x5088be));}const _0x395f9c=_0x2e6d95['createRange'](_0x5088be);_0x2e2f65['markers']['has'](_0x4c53e3)?(_0x2e6d95['updateMarker'](_0x4c53e3,{'range':_0x2c9cf4}),_0x2e6d95['updateMarker'](_0x20dcfc,{'range':_0x395f9c})):(_0x2e6d95['addMarker'](_0x4c53e3,{'range':_0x2c9cf4,'usingOperation':!0x0}),_0x2e6d95['addMarker'](_0x20dcfc,{'range':_0x395f9c,'usingOperation':!0x0}));}function G(_0x1a7806,_0x505f15,_0x1e4b91){const _0x7bcfe9=_0x1a7806['t'],t=_0x1a7806['t'];switch(_0x505f15){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 _0x7bcfe9({'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'},_0x1e4b91);default:return'';}}let J=0x1;class l extends _0x101618{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x1415a3)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x5b9ce0,_0x5f0649,_0x105111];}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 _0x4adc9f=this['serverHistory']['getOperations']();for(let _0x34879c=_0x4adc9f['length']-0x1;_0x34879c>=0x0;_0x34879c--){const _0x2a8a01=_0x4adc9f[_0x34879c];if(!this['_disconnectionOperations']['has'](_0x2a8a01))return _0x2a8a01['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x16674d){if(super(_0x16674d),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x56ac5e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x9c1d4e('collaboration-missing-channelid',this);const _0x30266a=_0x16674d['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x30266a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5d48a0(),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 Y(this['_disconnectionOperations']);}['init'](){const _0x17b224=this['editor'],_0x59272e=_0x17b224['plugins']['get'](_0x5f0649),_0x477733=_0x17b224['plugins']['get'](c);this['listenTo'](_0x59272e,'getOperationAuthor',(_0x3cedf4,_0x149fd7)=>{const _0x346e38=_0x149fd7[0x0];_0x346e38['_authorId']&&(_0x3cedf4['return']=_0x59272e['getUser'](_0x346e38['_authorId']),_0x3cedf4['stop']()),null===_0x346e38['_authorId']&&(_0x3cedf4['return']=null,_0x3cedf4['stop']());},{'priority':'high'}),this['listenTo'](_0x17b224['model']['document']['selection'],'change:range',(_0x1c4cb3,_0x251c90)=>{_0x251c90['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x17b224['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x17b224['model']['on']('applyOperation',(_0x31dc06,_0x41547d)=>{const _0x5153b6=_0x41547d[0x0];_0x5153b6['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5153b6),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x477733,'state',this,'_hasSynchronizationProblem',(_0x4ae849,_0x38c50a)=>'connected'===_0x4ae849&&!_0x38c50a),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x17b224['disableReadOnlyMode']('rtc-offline'):_0x17b224['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x17b224['disableReadOnlyMode']('rtc-offline'):_0x17b224['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xa70e71=this['editor']['plugins']['get'](i),_0x236f0a=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0xa70e71['unregister'](this['_channelId']);const _0x3ad993=await this['_service']['reconnect'](_0x236f0a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3ad993)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x53372c=await this['_service']['getConnectedSessions']();_0xa70e71['register'](this['_channelId'],_0x53372c),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2094ed){if(function(_0x2f46e5){return'404'===_0x2f46e5['code'];}(_0x2094ed)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x32d15b){return'409'===_0x32d15b['code'];}(_0x2094ed)){const _0x43861e=G(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'](_0x43861e);}else{if(!(_0x2094ed instanceof Q))throw _0x2094ed;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3af6e7=this['editor']['plugins']['get'](c),_0x317120=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x317120['channelSessions']['has'](this['_channelId'])&&_0x317120['unregister'](this['_channelId']),_0x3af6e7['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x326e57){if(this['sessionId']!==_0x326e57['sessionId']&&this['_lastSyncedOperationId']!==_0x326e57['lastOperationId'])throw new Q();return this['sessionId']=_0x326e57['sessionId'],this['_handleServerResponse']([],{..._0x326e57,'wereChangesApplied':!0x1,'data':_0x326e57['data']},'reconnect');}async['_connectService'](_0x3d0dfc,_0xc6b678=!0x1){const {connection:_0x82a694}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x82a694,this['_channelId'])['then'](_0x17589d=>this['_initSessionsHandling'](_0x17589d))['catch'](_0x50b58c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x50b58c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x995237,_0x3d67b8)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3d67b8);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x419b5b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3d0dfc);this['_isPendingUpdate']=!0x0;const _0x5bdca4=await this['_service']['connect'](_0x82a694,this['_compressOperations'](_0x3d0dfc),_0x419b5b);if(this['sessionId']=_0x5bdca4['sessionId'],_0xc6b678){if(!_0x5bdca4['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5bdca4['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3d0dfc,_0x5bdca4,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5bdca4,_0x3d0dfc);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xf7a1c5=this['editor']['plugins']['get'](i),_0x4aeb6c=this['editor']['plugins']['get'](q),_0x330ea5=_0xf7a1c5['channelSessions']['get'](this['_channelId']);_0x330ea5&&_0x330ea5['length']>0x1?_0x4aeb6c['createUserMarkerOperations']():this['listenTo'](_0xf7a1c5,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xf7a1c5['channelSessions']['get'](this['_channelId'])['length']&&_0x4aeb6c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x483bc2,_0x580e6d,_0x5211a9,_0x102abc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x580e6d){const _0x47fd3f=this['_decompressOperations'](_0x5211a9,_0x102abc);await this['_fetchMissingUsers'](_0x47fd3f),this['_handleExternalOperations'](_0x47fd3f,_0x580e6d,_0x5211a9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x5bb7e4}=this['editor'];let _0x438229;try{_0x438229=await this['_service']['getDocumentDetails']();}catch{const _0x6816b8=G(_0x5bb7e4,'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'](_0x6816b8);}const _0x4b871f=_0x438229['currentDocumentSession']||_0x438229['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4b871f['lastOperationId']){const _0x57a7b9=G(_0x5bb7e4,'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'](_0x57a7b9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3e2e90){const _0x12b57f=this['editor']['plugins']['get'](i);this['listenTo'](_0x12b57f,'sessionAdd:'+this['_channelId'],(_0x5a9370,{session:_0x21f776})=>{if(_0x21f776['id']===_0x12b57f['mySessionId']){_0x5a9370['off']();const _0xc18cc=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x131de3=_0x21f776['permissions'];_0xc18cc&&_0xc18cc['isEnabled']&&(_0x131de3=_0x131de3['filter'](_0x1da6c5=>'document:write'!==_0x1da6c5)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x131de3,this['_channelId']);}}),_0x12b57f['register'](this['_channelId'],_0x3e2e90);}['_initThrowingOnDataSet'](){const _0x110a9b=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x26c8fc)=>{if(!_0x26c8fc[_0x26c8fc['length']-0x1]['suppressErrorInCollaboration'])throw new _0x9c1d4e('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x110a9b['apply'](this['editor']['data'],_0x26c8fc);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x57b875,[_0x452991])=>{if(this['_document']['version'])throw new _0x9c1d4e('realtimecollaborationclient-init-document-already-initialized',this);_0x57b875['stop'](),this['_setPendingAction']();const _0x5ebe26=this['editor']['config']['get']('rootsAttributes'),_0x1cbee4=this['_getOperationsFromInitData'](_0x452991,_0x5ebe26);0x0==_0x1cbee4['length']&&_0x1cbee4['push'](new _0x3fd772(0x0)),_0x57b875['return']=this['_connectService'](_0x1cbee4)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x8f70eb=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x8f70eb))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x510813,[_0x144b19,_0x5d00ff])=>{_0x510813['stop']();const _0x29b0ca=this['editor']['model']['document']['getRoot'](_0x144b19);if(!this['_knownRootNames']['has'](_0x144b19)){const _0x34a0bf=_0x5d00ff&&_0x5d00ff['data']?_0x5d00ff['data']:'',_0x41389e=_0x5d00ff&&_0x5d00ff['attributes']?_0x5d00ff['attributes']:{};await this['_loadRoot'](_0x144b19,_0x34a0bf,_0x41389e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x29b0ca['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x29b0ca);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x1d90f2){const _0x301183=this['editor']['plugins']['get'](_0x5f0649),{connection:_0x291bcd}=this['editor']['plugins']['get'](c),_0x1ba474=new Set();for(const _0x3cfff3 of _0x1d90f2){const _0x48f957=_0x3cfff3['_authorId'];_0x48f957&&!_0x301183['getUser'](_0x48f957)&&_0x1ba474['add'](_0x48f957);}if(0x0===_0x1ba474['size'])return;const _0x3f0c30=await dt['getMany'](_0x291bcd,Array['from'](_0x1ba474));for(const _0x322f45 of _0x3f0c30)_0x301183['getUser'](_0x322f45['id'])||_0x301183['addUser'](_0x322f45);}['_getOperationsFromInitData'](_0x4cd2f0,_0x3c605b={}){const _0x433289=this['editor']['model'],_0x458460=[];let _0x3e459c=0x0;const _0x1c5f5d='string'==typeof _0x4cd2f0?{'main':_0x4cd2f0}:_0x4cd2f0;for(const _0x44d433 of Object['keys'](_0x1c5f5d)){if(!this['_document']['roots']['has'](_0x44d433))throw new _0x9c1d4e('realtimecollaborationclient-init-non-existent-root',this);const _0x516c70=this['editor']['data']['parse'](_0x1c5f5d[_0x44d433]),_0x302a06=this['_document']['getRoot'](_0x44d433),_0x1fbc01=new _0x24acca(_0x433289['createPositionAt'](_0x302a06,0x0),_0x516c70,_0x3e459c++);_0x458460['push'](_0x1fbc01);for(const [_0x44e113,_0x16bebe]of _0x516c70['markers']){const _0x3c2a5e=_0x433289['createRange'](_0x433289['createPositionFromPath'](_0x302a06,_0x16bebe['start']['path']['slice']()),_0x433289['createPositionFromPath'](_0x302a06,_0x16bebe['end']['path']['slice']())),_0x3d89fa=new _0x3c5467(_0x44e113,null,_0x3c2a5e,_0x433289['markers'],!0x0,_0x3e459c++);_0x458460['push'](_0x3d89fa);}}if(_0x3c605b)for(const [_0x536940,_0xcb96e7]of Object['entries'](_0x3c605b)){const _0x51132c=_0x433289['document']['getRoot'](_0x536940);if(!_0x51132c)throw new _0x9c1d4e('multi-root-editor-root-attributes-no-root',null);for(const [_0x313fb2,_0x42b668]of Object['entries'](_0xcb96e7))if(null!==_0x42b668){const _0x5d2e39=new _0x21f95a(_0x51132c,_0x313fb2,null,_0x42b668,_0x3e459c++);_0x458460['push'](_0x5d2e39);}}return _0x458460;}async['_loadRoot'](_0x4f39f6,_0x3dcb72,_0x55927d){this['_getOperationsFromInitData']({[_0x4f39f6]:_0x3dcb72},{[_0x4f39f6]:_0x55927d})['forEach']((_0x2c2d6,_0x5b31ad)=>{_0x2c2d6['baseVersion']=this['_document']['version']+_0x5b31ad,_0x2c2d6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2c2d6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x375564,_0x1ddcf2){let _0x206d72;this['_offset']=_0x375564['offset'];const _0x1813d4=_0x375564['wereChangesApplied']&&!_0x375564['initData'],_0x34ceae=_0x1813d4?0x0:_0x375564['data']['baseVersion'];if(_0x1ddcf2['forEach'](_0x525699=>{_0x525699['_isInit']=!0x0,_0x525699['createdAt']=_0x375564['sessionCreatedAt'],_0x525699['_authorId']=null;}),_0x1813d4)_0x206d72=_0x1ddcf2,this['_applyOperationsSet'](_0x206d72,_0x1813d4);else{if(_0x375564['initData']){const _0xa9e270=this['_getOperationsFromInitData'](_0x375564['initData']);this['_document']['history']['version']=-_0xa9e270['length'],_0xa9e270['forEach'](_0x919c2a=>{_0x919c2a['baseVersion']-=_0xa9e270['length'],_0x919c2a['createdAt']=_0x375564['sessionCreatedAt'],_0x919c2a['_isInit']=!0x0,_0x919c2a['_authorId']=null;}),this['_applyOperationsSet'](_0xa9e270,!0x0),this['serverHistory']['version']=-_0xa9e270['length']+this['_offset'],this['_updateServerHistory'](_0xa9e270);}this['_document']['history']['version']=_0x34ceae,_0x206d72=this['_decompressOperations'](_0x375564['data'],_0x375564['metadata']),await this['_fetchMissingUsers'](_0x206d72),this['_applyOperationsSet'](_0x206d72,_0x1813d4);}_0x375564['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x206d72,_0x375564['lastOperationId']),this['_lastSyncedOperationId']=_0x375564['lastOperationId']),this['serverHistory']['version']=_0x34ceae+this['_offset'],this['_updateServerHistory'](_0x206d72),_0x1ddcf2['filter'](_0x4d8220=>{const _0x184ee3=this['_getAffectedRoot'](_0x4d8220);return _0x184ee3&&!this['_knownRootNames']['has'](_0x184ee3);})['forEach']((_0x231dd1,_0x32c3e2)=>{_0x231dd1['baseVersion']=this['_document']['version']+_0x32c3e2,this['_saveOperationInBuffer'](_0x231dd1);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x53adb1,_0x2fce4a){const _0x368fb3=_0x2fce4a&&_0x2fce4a['message'];if(_0x368fb3&&_0x368fb3['startsWith']('realtimecollaborationclient'))throw _0x2fce4a;const _0xe778c8=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0xe778c8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x9c1d4e(_0x53adb1,this['editor'],_0x368fb3?{'originalError':_0x368fb3}:void 0x0);}['_saveOperationInBuffer'](_0x13d42a){this['_knownOperations']['has'](_0x13d42a)||(this['_knownOperations']['add'](_0x13d42a),this['_bufferedOperations']['push'](_0x13d42a),this['_pendingAction']||'marker'==_0x13d42a['type']&&!_0x13d42a['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x11ba13=!0x1){!_0x11ba13&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x68a190=>{_0x68a190&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x543396=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x38dbde){return _0x38dbde['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x38dbde['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x38dbde['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x543396)||this['_crash'](_0x543396['message'],_0x543396);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x41bab3=>{this['on']('change:_isPendingUpdate',()=>{_0x41bab3();});});}async['_sendBufferedOperations'](){const _0x42e7c3=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x42e7c3['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x17b22c=[...this['_bufferedOperations']];for(const _0x2d878e of _0x17b22c)_0x2d878e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2d878e);const _0x199b05=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x17b22c),_0x5c60a2=J++,_0x924cac=this['_compressOperations'](_0x17b22c),_0x362f6d=await this['_service']['sendOperations'](_0x924cac,_0x924cac['baseVersion'],_0x199b05);try{return await this['_handleServerResponse'](_0x17b22c,_0x362f6d,_0x5c60a2);}catch(_0x3c6e8a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3c6e8a);}}async['_handleServerResponse'](_0x557bbf,_0x2981a3,_0x22a495){if('error'in _0x2981a3)throw _0x2981a3['error'];let _0x3f7f1b=!0x1;if(_0x2981a3['wereChangesApplied']){_0x2981a3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2981a3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x541e77=>!_0x557bbf['includes'](_0x541e77));for(const _0xec11c of _0x557bbf)_0xec11c['createdAt']='lastOperationAcceptedAt'in _0x2981a3&&_0x2981a3['lastOperationAcceptedAt']||void 0x0;X(_0x557bbf,_0x2981a3['version']-_0x557bbf['length']),this['_updateServerHistory'](_0x557bbf);const _0x376fd8=_0x557bbf['filter'](_0x208b95=>{if(!_0x208b95['_isInit'])return!0x1;const _0x479ac9=this['_getAffectedRoot'](_0x208b95);return _0x479ac9&&!this['_knownRootNames']['has'](_0x479ac9);});X(_0x376fd8,this['_document']['version']),this['_applyOperationsSet'](_0x376fd8),_0x3f7f1b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1bcc7e=this['_decompressOperations'](_0x2981a3['data'],_0x2981a3['metadata'])['filter'](_0x21bf27=>_0x21bf27['baseVersion']>=this['_lastServerVersion']);_0x1bcc7e['forEach'](_0x149c71=>this['_addKnownRoot'](_0x149c71)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4b8cc6=>!_0x4b8cc6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4b8cc6))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1bcc7e),_0x3f7f1b=this['_handleExternalOperations'](_0x1bcc7e,_0x2981a3['version'],_0x2981a3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3f7f1b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3934b6,_0xe6eccc,_0x4d6b63){try{const _0x5056e5={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3aa007,operationsB:_0x37c050,originalOperations:_0xa2969}=_0x69da3a(_0x3934b6,this['_bufferedOperations'],_0x5056e5);X(_0x3aa007,this['_document']['version']),X(_0x37c050,_0xe6eccc);for(const _0x193309 of _0x3aa007){const _0x23e4b0=_0xa2969['get'](_0x193309);_0x193309['_authorId']=_0x23e4b0?_0x23e4b0['_authorId']:null;}_0x4d6b63&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3934b6,_0x4d6b63),this['_lastSyncedOperationId']=_0x4d6b63),this['_bufferedOperations']=[..._0x37c050],this['_applyOperationsSet'](_0x3aa007),this['_updateServerHistory'](_0x3934b6);}catch(_0x1f4552){return console['error'](_0x1f4552),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1de60d,_0x1e91e5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a9f1e=>{for(const _0x2c4111 of _0x1de60d)this['_knownOperations']['add'](_0x2c4111),this['_addKnownRoot'](_0x2c4111),_0x3a9f1e['batch']['addOperation'](_0x2c4111),this['editor']['model']['applyOperation'](_0x2c4111);});}['_addKnownRoot'](_0x4607d0){const _0x589f4a=this['_getAffectedRoot'](_0x4607d0);_0x589f4a&&this['_knownRootNames']['add'](_0x589f4a);}['_getAffectedRoot'](_0x293906){let _0x115cf7,_0x24572c;switch(_0x293906['type']){case'insert':_0x115cf7=_0x293906['position']['root'];break;case'marker':if(_0x24572c=_0x293906['newRange'],!_0x24572c)return null;_0x115cf7=_0x24572c['root'];break;case'addRootAttribute':_0x115cf7=_0x293906['root'];break;case'addRoot':_0x115cf7=_0x293906['affectedSelectable'];break;case'move':_0x115cf7=_0x293906['targetPosition']['root'];break;default:return null;}return _0x115cf7['rootName'];}['_updateServerHistory'](_0x8a4b87){_0x8a4b87['forEach'](_0x2571f2=>{const _0x482482=_0x2571f2['clone']();_0x482482['_authorId']=_0x2571f2['_authorId'],_0x482482['_isInit']=!!_0x2571f2['_isInit'],_0x482482['createdAt']=_0x2571f2['createdAt'],_0x482482['baseVersion']+=this['_offset'],_0x2571f2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x482482),this['serverHistory']['addOperation'](_0x482482);});}['_handleReconnectionError'](_0xfcd941){const _0x57b51c=this['editor']['plugins']['get']('Notification'),_0x2c22bb=this['editor']['locale'];_0xfcd941||(_0xfcd941=G(_0x2c22bb,'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.')),_0x57b51c['showWarning'](_0xfcd941,{'title':G(_0x2c22bb,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x5b9ce0)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5b9ce0)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x44e33f){const _0x1c9cdc=_0x44e33f['map'](_0x178c78=>_0x178c78['toJSON']());return this['_compressor']['compress'](_0x1c9cdc);}['_decompressOperations'](_0x2ae521,_0x2afb53){return this['_compressor']['decompress'](_0x2ae521)['map']((_0x438722,_0x1de0d7)=>{const _0x2bb8c1='init'==_0x2afb53[_0x1de0d7]['type'];if('InsertOperation'==_0x438722['__className']){const _0x222462=_0x438722['position']['root'];!this['_document']['getRoot'](_0x222462)&&(this['_document']['createRoot']('$root',_0x222462)['_isAttached']=!0x1);}const _0x201a5c=_0x57cd0a['fromJSON'](_0x438722,this['_document']);return _0x201a5c['wasUndone']=_0x438722['wasUndone'],_0x201a5c['_isInit']=_0x2bb8c1,_0x201a5c['_authorId']=_0x2bb8c1?null:_0x2afb53[_0x1de0d7]['userId'],_0x201a5c['_isDisconnection']='cs:removeUser'===_0x2afb53[_0x1de0d7]['type'],_0x201a5c['createdAt']=_0x2afb53[_0x1de0d7]['createdAt'],_0x201a5c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3293f5=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3293f5&&_0x3293f5['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x59ee14,_0x39a8da){for(const _0x296b5f of _0x59ee14)_0x296b5f['baseVersion']=_0x39a8da++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x16b7a0){this['_ignoredOperations']=_0x16b7a0,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x231f57){let _0x1986bd=_0x231f57['length'];for(;_0x1986bd--;){const _0x3abe65=_0x231f57[_0x1986bd];if(!this['_ignoredOperations']['has'](_0x3abe65)){if(!this['_operationToId']['has'](_0x3abe65)){const _0x33e658=_0x1416ae()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3abe65,_0x33e658);}return this['_operationToId']['get'](_0x3abe65);}}}['setIdForTheLastOperation'](_0x304f21,_0x2dfa6b){if(!_0x2dfa6b)return;let _0x6592c0=_0x304f21['length'];for(;_0x6592c0--;){const _0x4b5ca4=_0x304f21[_0x6592c0];this['_ignoredOperations']['has'](_0x4b5ca4)||this['_operationToId']['set'](_0x4b5ca4,_0x2dfa6b);}}}class n extends _0x101618{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x42e636{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x468d30)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x5f0649];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5c2900){super(_0x5c2900),this['_services']=new Map();}async['init'](){const _0x464e3c=this['context'],_0x5c5db0=_0x464e3c['plugins']['get']('CommentsRepository');if(_0x464e3c['plugins']['get'](c)['addToReconnectionStack'](this),_0x5c5db0['adapter']={'addCommentThread':async({channelId:_0x22b343,threadId:_0xd3bfa9,comments:_0x481fbc,resolvedAt:_0x4b629d,resolvedBy:_0x499d7a,context:_0x174193,attributes:_0x1ef0c4})=>{const _0x117f03=await this['_getService'](_0x22b343)['addCommentThread']({'commentThreadId':_0xd3bfa9,'comments':_0x481fbc['map'](_0x4b96f3=>function(_0x113c16,_0x30042a,_0x4c37f6){return{'commentThreadId':_0x4c37f6,'commentId':_0x113c16['commentId'],'userId':_0x113c16['authorId'],'content':_0x113c16['content'],'documentId':_0x30042a,'createdAt':_0x113c16['createdAt'],'attributes':_0x113c16['attributes']||{}};}(_0x4b96f3,_0x22b343,_0xd3bfa9)),'resolvedAt':_0x4b629d,'resolvedBy':_0x499d7a,'context':_0x174193,'attributes':_0x1ef0c4})['catch'](ut);return{'threadId':_0x117f03['commentThreadId'],'comments':_0x117f03['comments']};},'getCommentThread':async({channelId:_0x16541a,threadId:_0x57c2d8})=>{const _0x57e844=await this['_getService'](_0x16541a)['getCommentThread'](_0x57c2d8)['catch'](ut);return _0x57e844['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x57e844]),{'threadId':_0x57e844['commentThreadId'],'comments':_0x57e844['comments']['map'](b),'context':_0x57e844['context'],'resolvedAt':_0x57e844['resolvedAt'],'resolvedBy':_0x57e844['resolvedBy'],'attributes':_0x57e844['attributes']||{}});},'updateCommentThread':async({channelId:_0x310c1f,threadId:_0xd4fb8c,context:_0x337dac,unlinkedAt:_0x4e4a19,attributes:_0x48ab23})=>this['_getService'](_0x310c1f)['updateCommentThread']({'commentThreadId':_0xd4fb8c,'context':_0x337dac,'attributes':_0x48ab23,'unlinkedAt':_0x4e4a19})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x55908b,threadId:_0x75fcdb})=>{const _0xdffbab=await this['_getService'](_0x55908b)['resolveCommentThread'](_0x75fcdb)['catch'](y)['catch'](ut);return{'threadId':_0xdffbab['commentThreadId'],'resolvedAt':_0xdffbab['resolvedAt'],'resolvedBy':_0xdffbab['resolvedBy']};},'reopenCommentThread':async({channelId:_0xcb430b,threadId:_0xb02e0})=>this['_getService'](_0xcb430b)['reopenCommentThread'](_0xb02e0)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x1c5fab,threadId:_0x4cbac6})=>this['_getService'](_0x1c5fab)['removeCommentThread'](_0x4cbac6)['catch'](y)['catch'](ut),'addComment':({channelId:_0x47f087,threadId:_0x3b1bfb,commentId:_0x5eb965,content:_0x354659,attributes:_0x151135})=>this['_getService'](_0x47f087)['addComment'](_0x3b1bfb,_0x5eb965,_0x354659,_0x151135)['catch'](ut),'updateComment':({channelId:_0x58a176,threadId:_0x4e6cbc,commentId:_0x42b3e,content:_0x2c51fa,attributes:_0x1ad1ab})=>this['_getService'](_0x58a176)['updateComment'](_0x4e6cbc,_0x42b3e,_0x2c51fa,_0x1ad1ab)['catch'](y)['catch'](ut),'removeComment':({channelId:_0x1123d1,threadId:_0x4fe38c,commentId:_0x2fe0f7})=>this['_getService'](_0x1123d1)['removeComment'](_0x4fe38c,_0x2fe0f7)['catch'](y)['catch'](ut)},_0x464e3c instanceof _0xe89c7){const _0x2fd411=_0x464e3c['config']['get']('collaboration.channelId'),_0x201706=_0x464e3c['plugins']['get'](i);await this['_setUpService'](_0x2fd411);const _0x599168=await this['_services']['get'](_0x2fd411)['getConnectedSessions']();this['listenTo'](_0x201706,'sessionAdd:'+_0x2fd411,(_0x4d586c,{session:_0x396a79})=>{_0x396a79['id']===_0x201706['mySessionId']&&(_0x4d586c['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x396a79['permissions'],_0x2fd411));}),_0x201706['register'](_0x2fd411,_0x599168);}}async['_setUpService'](_0x5cf746){if(this['_services']['has'](_0x5cf746))throw new _0x9c1d4e('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5cf746});const _0x41b4c2=this['context']['plugins']['get']('CommentsRepository'),_0x10e6d4=new a['CommentsService'](_0x5cf746);this['_services']['set'](_0x5cf746,_0x10e6d4),this['listenTo'](_0x10e6d4,'commentThreadAdded',(_0x11d5d7,_0x5307dd)=>{const {commentThreadId:_0x37f4c5,documentId:_0x4c4acb,context:_0x225e8c,attributes:_0x52222f,resolvedAt:_0x2f5e74,resolvedBy:_0x192b31,comments:_0x35492d}=_0x5307dd;_0x41b4c2['getCommentThread'](_0x37f4c5)||_0x41b4c2['addCommentThread']({'threadId':_0x37f4c5,'channelId':_0x4c4acb,'comments':_0x35492d?_0x35492d['map'](b):[],'context':_0x225e8c,'attributes':_0x52222f,'resolvedAt':_0x2f5e74,'resolvedBy':_0x192b31,'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadUpdated',(_0x825087,{commentThreadId:_0x1c3071,documentId:_0x5d0dee,context:_0x59f65e,unlinkedAt:_0x5c6de4,attributes:_0x38cc4d})=>{_0x41b4c2['getCommentThread'](_0x1c3071)&&_0x41b4c2['updateCommentThread']({'threadId':_0x1c3071,'channelId':_0x5d0dee,'context':_0x59f65e,'unlinkedAt':_0x5c6de4,'attributes':_0x38cc4d,'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadResolved',(_0x223d58,{commentThreadId:_0x4911ef,resolvedBy:_0x26b8a4,resolvedAt:_0xea16ca})=>{const _0x3ab314=_0x41b4c2['getCommentThread'](_0x4911ef);_0x3ab314&&_0x3ab314['resolve']({'resolvedBy':_0x26b8a4,'resolvedAt':_0xea16ca,'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadReopened',(_0x34b397,{commentThreadId:_0x3759a2})=>{const _0x2af1c1=_0x41b4c2['getCommentThread'](_0x3759a2);_0x2af1c1&&_0x2af1c1['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadRemoved',(_0x362491,{commentThreadId:_0x1329ab})=>{const _0x51332b=_0x41b4c2['getCommentThread'](_0x1329ab);_0x51332b&&_0x51332b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentAdded',(_0x4c6f3b,_0x280030)=>{const _0x2ee435=_0x280030['commentThreadId'],_0x26af45=_0x41b4c2['getCommentThread'](_0x2ee435);_0x26af45&&_0x26af45['addComment']({...b(_0x280030),'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentUpdated',(_0x48ab9c,{commentThreadId:_0xde085d,commentId:_0x115547,content:_0x2e6c37,attributes:_0x40fba2})=>{const _0x99a8b1=_0x41b4c2['getCommentThread'](_0xde085d);if(_0x99a8b1){const _0x34dec6=_0x99a8b1['getComment'](_0x115547);_0x34dec6&&_0x34dec6['update']({'content':_0x2e6c37,'attributes':_0x40fba2,'isFromAdapter':!0x0});}}),this['listenTo'](_0x10e6d4,'commentRemoved',(_0x62cb21,{commentThreadId:_0x51bb9d,commentId:_0x5316a0})=>{const _0x4ce726=_0x41b4c2['getCommentThread'](_0x51bb9d);if(_0x4ce726){const _0x43ad82=_0x4ce726['getComment'](_0x5316a0);_0x43ad82&&_0x43ad82['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5cf746);}['destroy'](){if(this['context']instanceof _0xe89c7){const _0x534772=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x534772);}}['_terminateService'](_0x5b7a44){if(!this['_services']['has'](_0x5b7a44))throw new _0x9c1d4e('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5b7a44});this['_getService'](_0x5b7a44)['disconnect'](),this['_services']['delete'](_0x5b7a44);}async['reconnect'](){for(const _0x373123 of this['_services']['keys']())await this['_connectService'](_0x373123);if(this['context']instanceof _0xe89c7){const _0x1947a1=this['context']['config']['get']('collaboration.channelId'),_0x29a9f7=this['context']['plugins']['get'](i);_0x29a9f7['unregister'](_0x1947a1);const _0x14d0d7=await this['_services']['get'](_0x1947a1)['getConnectedSessions']();_0x29a9f7['register'](_0x1947a1,_0x14d0d7);}}async['_connectService'](_0x595833){const {connection:_0x485c69}=this['context']['plugins']['get'](c),_0x569669=this['context']['plugins']['get']('CommentsRepository'),_0x43e95e=this['_services']['get'](_0x595833),_0x10925c=await _0x43e95e['connect'](_0x485c69);await this['_fetchMissingUsersForThreads'](_0x10925c);const _0x5d51e7=new Set(Array['from'](_0x569669['getCommentThreads']({'channelId':_0x595833}),_0x2ca030=>_0x2ca030['id']));for(const _0x46827f of _0x10925c)_0x46827f['deletedAt']||_0x5d51e7['delete'](_0x46827f['commentThreadId']);for(const _0xe53e9b of _0x5d51e7)_0x569669['getCommentThread'](_0xe53e9b)['remove']({'isFromAdapter':!0x0});for(const _0x48a404 of _0x10925c){let _0xb45d85=_0x569669['getCommentThread'](_0x48a404['commentThreadId']);const {commentThreadId:_0x5a761b,context:_0x120eed,attributes:_0x2cf1ae,resolvedBy:_0x36e740,resolvedAt:_0xac2f80,unlinkedAt:_0x45d247,deletedAt:_0x449d28}=_0x48a404;if(_0x449d28)continue;_0xb45d85||(_0xb45d85=_0x569669['addCommentThread']({'channelId':_0x595833,'threadId':_0x5a761b,'context':_0x120eed,'attributes':_0x2cf1ae||{},'resolvedBy':_0x36e740,'resolvedAt':_0xac2f80,'unlinkedAt':_0x45d247,'isFromAdapter':!0x0}));const _0x173386=new Set(Array['from'](_0xb45d85['comments'],_0x4844ac=>_0x4844ac['id']));for(const _0x1b5d95 of _0x48a404['comments'])_0x173386['delete'](_0x1b5d95['commentId']);for(const _0x26c83d of _0x173386)_0xb45d85['getComment'](_0x26c83d)['remove']({'isFromAdapter':!0x0});for(const _0x22c362 of _0x48a404['comments']){const _0x560115=_0xb45d85['getComment'](_0x22c362['commentId']);_0x560115?_0x560115['content']!==_0x22c362['content']&&_0x560115['update']({'content':_0x22c362['content'],'isFromAdapter':!0x0}):_0xb45d85['addComment'](Object['assign'](b(_0x22c362),{'isFromAdapter':!0x0}));}}}['_getService'](_0x386e26){if(!this['_services']['has'](_0x386e26))throw new _0x9c1d4e('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x386e26});return this['_services']['get'](_0x386e26);}async['_fetchMissingUsersForThreads'](_0x288c59){const _0xb49145=this['context']['plugins']['get'](_0x5f0649),{connection:_0x34832f}=this['context']['plugins']['get'](c),_0x41a9e9=new Set();for(const {resolvedBy:_0x39075e,comments:_0x3274b9}of _0x288c59){_0x39075e&&!_0xb49145['getUser'](_0x39075e)&&_0x41a9e9['add'](_0x39075e);for(const {userId:_0x245a9d}of _0x3274b9)_0xb49145['getUser'](_0x245a9d)||_0x41a9e9['add'](_0x245a9d);}if(0x0===_0x41a9e9['size'])return;const _0x477ccd=await dt['getMany'](_0x34832f,Array['from'](_0x41a9e9));for(const _0x5326ce of _0x477ccd)_0xb49145['getUser'](_0x5326ce['id'])||_0xb49145['addUser'](_0x5326ce);}}async function y(_0x320add){if('404'!==_0x320add['code'])throw _0x320add;}function ut(_0x3a9eb5){if((_0x34b0ef=_0x3a9eb5)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x34b0ef['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x34b0ef['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x34b0ef;throw _0x3a9eb5;}function b(_0x2a8f07){return{'threadId':_0x2a8f07['commentThreadId'],'commentId':_0x2a8f07['commentId'],'content':_0x2a8f07['content'],'createdAt':_0x2a8f07['createdAt'],'authorId':_0x2a8f07['userId'],'attributes':_0x2a8f07['attributes']||{}};}class f extends _0x101618{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdea358){super(_0xdea358);const _0x11e411=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x11e411);}['init'](){const _0x1d2d5d=this['editor']['plugins']['get'](c),_0x367abb=this['editor']['plugins']['get']('TrackChangesEditing');return _0x367abb['adapter']={'getSuggestion':async _0x3b3793=>{await this['_waitForServiceReady']();const _0x5f24da=await this['_trackChangesService']['get'](_0x3b3793)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x5f24da]),_0x5f24da;},'addSuggestion':async({id:_0x2afc86,type:_0x32c1f7,data:_0x27227c,originalSuggestionId:_0xb78091,attributes:_0x15462e})=>{await this['_waitForServiceReady']();const _0x4f5464={'id':_0x2afc86,'type':_0x32c1f7,'data':_0x27227c,'originalSuggestionId':_0xb78091,'attributes':_0x15462e},_0x56eb6f=await this['_trackChangesService']['add'](_0x2afc86,_0x32c1f7,_0x27227c,_0xb78091,_0x15462e)['catch'](_0x542d38=>{if(ft(_0x542d38))return new Promise(_0x3e3060=>{this['_bufferedRequests']['set'](_0x2afc86,{'resolve':_0x3e3060,'suggestionData':_0x4f5464});});throw _0x542d38;});return this['_bufferedRequests']['delete'](_0x2afc86),_0x56eb6f;},'updateSuggestion':async(_0x2f857f,_0x54e367)=>{if(await this['_waitForServiceReady'](),'open'!==_0x54e367['state'])return this['_trackChangesService']['update'](_0x2f857f,_0x54e367)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3d3d22,_0x3dae5a)=>{_0x367abb['hasSuggestion'](_0x3dae5a['id'])&&(_0x367abb['getSuggestion'](_0x3dae5a['id'])['attributes']=_0x3dae5a['attributes']);}),this['_trackChangesService']['connect'](_0x1d2d5d['connection'])['then'](_0x4ddd75=>(_0x1d2d5d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4ddd75)['then'](()=>{for(const _0x24a0d3 of _0x4ddd75){_0x367abb['addSuggestionData'](_0x24a0d3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x203957=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x12ee45}=this['editor']['plugins']['get'](c),_0x378aa9=await this['_trackChangesService']['connect'](_0x12ee45);await this['_fetchMissingUsersForThreads'](_0x378aa9);for(const {suggestionData:_0xf5f56d,resolve:_0x2fa63d}of this['_bufferedRequests']['values']()){let _0x2d77b3=_0x378aa9['find'](_0xe7caa7=>_0xe7caa7['id']===_0xf5f56d['id']);_0x2d77b3||(_0x2d77b3=await this['_trackChangesService']['add'](_0xf5f56d['id'],_0xf5f56d['type'],_0xf5f56d['data'],_0xf5f56d['originalSuggestionId'])),_0x2fa63d(_0x2d77b3);}for(const _0x2a7e29 of _0x378aa9)_0x203957['hasSuggestion'](_0x2a7e29['id'])||_0x203957['addSuggestionData'](_0x2a7e29);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5774ce=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1a0b96=>{_0x1a0b96['off'](),_0x5774ce();});});}async['_fetchMissingUsersForThreads'](_0x4e2e79){const _0x16ebc3=this['editor']['plugins']['get'](_0x5f0649),{connection:_0x177f9c}=this['editor']['plugins']['get'](c),_0x3e1efa=new Set();for(const {authorId:_0x4561c1}of _0x4e2e79)_0x16ebc3['getUser'](_0x4561c1)||_0x3e1efa['add'](_0x4561c1);if(0x0===_0x3e1efa['size'])return;const _0x318cf8=await dt['getMany'](_0x177f9c,Array['from'](_0x3e1efa));for(const _0x26af05 of _0x318cf8)_0x16ebc3['getUser'](_0x26af05['id'])||_0x16ebc3['addUser'](_0x26af05);}}function w(_0x1397ff){if(ft(_0x1397ff))return new Promise(()=>{});throw _0x1397ff;}function ft(_0x3b4a26){return _0x3b4a26['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b4a26['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x101618{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x473583=this['editor']['plugins']['get'](c),_0x13fd80=this['editor']['plugins']['get']('CommentsEditing'),_0x3f29d4=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x473583,'change:state',(_0x23f90e,_0x285160,_0x420533)=>{_0x13fd80['isThreadsLoadingPaused']='connected'!==_0x420533;});}),this['listenTo'](_0x473583,'change:state',(_0x14b0c6,_0x9a73fc,_0x41f7dc)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x41f7dc);}),_0x3f29d4['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x101618{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x101618{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x5f0649];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4c2b1f){super(_0x4c2b1f);const _0x584d54=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x584d54);}async['init'](){const _0x20ac60=this['editor']['plugins']['get'](l),_0x1fd3be=_0x20ac60['serverHistory'],_0x293f59=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x1fd3be,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x20ac60['sessionId']});const _0x4514af=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x564e99=await tt['isBundleUploaded'](_0x293f59['connection'],_0x4514af);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3e615d})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3e615d)),'updateRevisions':async _0xe2deee=>{await this['_waitForServiceReady']();const _0xcea423=this['_revisionTracker']['currentRevision'];if(_0x564e99&&0x1===_0xe2deee['length']&&_0xe2deee[0x0]['id']===_0xcea423['id'])return _0xe2deee;for(const _0x33c617 of _0xe2deee)_0x33c617['id']===_0xcea423['id']&&(_0x33c617['isEmptyCurrent']=_0x33c617['fromVersion']===_0x33c617['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xe2deee,this['_lastRequestId'])['then'](_0x3eb26a=>(this['_lastRequestId']=_0x3eb26a,_0xe2deee))['catch'](_0x26db97=>{if(st(_0x26db97)||'400'===_0x26db97['code']&&void 0x0!==_0x26db97['data']['wrongRequestId']){for(const _0x11f09b of _0xe2deee){!this['_revisionTracker']['repository']['getRevision'](_0x11f09b['id'])||this['_revisionTracker']['_bufferUpdate'](_0x11f09b['id'],_0x11f09b,!0x1);}if(st(_0x26db97))throw _0x26db97;return _0xe2deee;}throw _0x26db97;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5590b3,{revisionsData:_0xdec175,requestId:_0xfbad0a})=>{Math['max'](..._0xdec175['map'](_0x48e0e7=>_0x48e0e7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xdec175,_0xfbad0a);}):this['_handleRevisionsUpdate'](_0xdec175,_0xfbad0a);});const {revisions:_0x4b1a9b,requestId:_0x2dc31d}=await this['_revisionHistoryService']['connect'](_0x293f59['connection']);_0x293f59['addToReconnectionStack'](this),this['_lastRequestId']=_0x2dc31d,await this['_fetchMissingUsers'](_0x4b1a9b);for(const _0x3333c8 of _0x4b1a9b)this['_revisionTracker']['addRevisionData'](_0x3333c8);this['listenTo'](_0x20ac60,'change:_isConnected',(_0x1f9dcc,_0x501902,_0x5e9b43)=>{_0x5e9b43&&(this['_oldOffset']=_0x20ac60['_offset'],_0x1f9dcc['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x293f59,'state',_0x21033e=>_0x21033e===_0x20e191['CONNECTED']);}async['reconnect'](){const _0x4d9af9=this['editor']['plugins']['get'](c),_0x5b7df0=this['editor']['plugins']['get'](l),_0x3eb374=async()=>{const _0x4c85bd=this['_revisionTracker']['currentRevision'],_0x36b93e=_0x4c85bd['id'],_0x295b69=_0x36b93e!==_0x5b7df0['sessionId'];if(_0x295b69){const _0x2c3b57=_0x5b7df0['_offset']-this['_oldOffset'],_0x5c89dc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4c85bd['toVersion']+_0x2c3b57!==_0x5c89dc){const _0x41ed65=_0x4c85bd['fromVersion']+_0x2c3b57,_0x1463a8=this['editor']['plugins']['get'](_0x5f0649),_0x4531fb=this['_revisionTracker']['buildRevisionData']({'revision':_0x4c85bd,'from':_0x41ed65,'to':_0x5c89dc});_0x4531fb['id']=_0x4c85bd['id'];const _0x4727f8=_0x4531fb['authorsIds']['map'](_0x2ccc1a=>_0x1463a8['getUser'](_0x2ccc1a));_0x4c85bd['_update']({..._0x4531fb,'authors':_0x4727f8},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4c85bd['id'],_0x4531fb,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5c89dc,(_0x4c85bd['toVersion']===_0x4c85bd['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x36b93e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x36b93e),this['_revisionTracker']['_createCurrentRevision'](_0x5c89dc));}const {revisions:_0x99edc6,requestId:_0x55bbe0}=await this['_revisionHistoryService']['reconnect'](_0x4d9af9['connection'],this['_lastRequestId']);_0x295b69&&_0x99edc6['length']>0x0?_0x5b7df0['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x99edc6),this['_handleRevisionsUpdate'](_0x99edc6,_0x55bbe0),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5b7df0['_isConnected']?_0x3eb374():new Promise((_0x34abf7,_0x321ba7)=>{_0x5b7df0['once']('change:_isConnected',()=>{_0x3eb374()['then'](_0x34abf7)['catch'](_0x321ba7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2c38e7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x334d46=>{_0x334d46['off'](),_0x2c38e7();});});}['_getLatestVersionFromServerOperations'](){const _0x4c240f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4f3268 of _0x4c240f)if('marker'!==_0x4f3268['type']||_0x4f3268['affectsData'])return _0x4f3268['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3cad7c=this['editor']['plugins']['get'](l);return new Promise(_0x2ec22f=>{_0x3cad7c['_isPendingUpdate']?_0x3cad7c['once']('change:_isPendingUpdate',()=>{_0x2ec22f(this['_getLatestVersionFromServerOperations']());}):_0x2ec22f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5f244b,_0x7d5f11){const _0x2d6d56=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x7d5f11;for(const _0x25620b of _0x5f244b){const _0x150846=_0x2d6d56['getRevision'](_0x25620b['id']);if(_0x150846){if((_0x25620b['fromVersion']||_0x25620b['toVersion'])&&(_0x25620b['diffData']=null),_0x150846===this['_revisionTracker']['currentRevision']){const _0xe66e36=Math['max'](_0x150846['toVersion'],_0x25620b['toVersion']),_0x298979=Math['max'](_0x150846['fromVersion'],_0x25620b['fromVersion']);let _0x1975bf;_0x150846['toVersion']===_0x25620b['toVersion']&&_0x150846['fromVersion']===_0x25620b['fromVersion']?(_0x1975bf=!0x0,this['_preventResendingRevisionData'](_0x25620b)):_0x25620b['toVersion']===_0xe66e36&&_0x25620b['fromVersion']===_0x298979?_0x1975bf=!0x1:(_0x150846['toVersion']===_0xe66e36&&_0x150846['fromVersion']===_0x298979||this['_fixRevision']({'revision':_0x150846,'from':_0x298979,'to':_0xe66e36}),_0x1975bf=!0x0),_0x1975bf&&(delete _0x25620b['fromVersion'],delete _0x25620b['toVersion'],delete _0x25620b['diffData'],delete _0x25620b['createdAt'],delete _0x25620b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x25620b),this['_preventResendingRevisionData'](_0x25620b);}else this['_revisionTracker']['addRevisionData'](_0x25620b);}const _0x5c68d6=_0x2d6d56['getRevisions']();_0x5c68d6['reverse']();for(let _0x2f3444=0x0;_0x2f3444<_0x5c68d6['length']-0x1;_0x2f3444++){const _0x276196=_0x5c68d6[_0x2f3444],_0x529d7c=_0x5c68d6[_0x2f3444+0x1];if(_0x276196['fromVersion']<_0x529d7c['toVersion']){const _0x168991=_0x529d7c['toVersion'],_0x5f212e=Math['max'](_0x168991,_0x276196['toVersion']);this['_fixRevision']({'revision':_0x276196,'from':_0x168991,'to':_0x5f212e});}}}['_fixRevision']({revision:_0x476c94,from:_0x2c2170,to:_0x3d8ad0}={}){const _0x4258fa=this['editor']['plugins']['get'](_0x5f0649),_0x547f76=this['_revisionTracker']['buildRevisionData']({'revision':_0x476c94,'from':_0x2c2170,'to':_0x3d8ad0});_0x547f76['authors']=_0x547f76['authorsIds']['map'](_0x207f65=>_0x4258fa['getUser'](_0x207f65)),_0x476c94['_update'](_0x547f76);}['_preventResendingRevisionData'](_0x595104){const _0x531446={};_0x531446['id']=_0x595104['id'];for(const _0x3b8bdf of Object['keys'](_0x595104))'id'!==_0x3b8bdf&&(_0x531446[_0x3b8bdf]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x531446['id'],_0x531446,!0x0);}async['_fetchMissingUsers'](_0x228aa6){const _0x4d2e0d=this['editor']['plugins']['get'](_0x5f0649),{connection:_0x3b058c}=this['editor']['plugins']['get'](c),_0x1b1918=new Set();for(const _0x2f234d of _0x228aa6){for(const _0x2a0318 of _0x2f234d['authorsIds'])_0x321d7e(_0x2a0318);_0x2f234d['creatorId']&&_0x321d7e(_0x2f234d['creatorId']);}if(0x0===_0x1b1918['size'])return;const _0x1f5499=await dt['getMany'](_0x3b058c,Array['from'](_0x1b1918));for(const _0x202020 of _0x1f5499)_0x4d2e0d['getUser'](_0x202020['id'])||_0x4d2e0d['addUser'](_0x202020);function _0x321d7e(_0x1d23a0){_0x4d2e0d['getUser'](_0x1d23a0)||_0x1b1918['add'](_0x1d23a0);}}}function st(_0x5adb0b){return _0x5adb0b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5adb0b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5adb0b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x101618{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class P extends _0x157a15{['_collapseAt'];constructor(_0x145ac9,_0x18db91=0x6){super(_0x145ac9);const _0xd05952=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x18db91,this['bind']('isHidden')['to'](this,'usersCount',_0x1cabff=>_0x1cabff<_0x18db91),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xd05952['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':_0xd05952['to']('usersCount',_0x219624=>'+'+(_0x219624-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x157a15{['items'];['keystrokes'];constructor(_0x210c64){super(_0x210c64);const _0x3e455a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x135344(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3e455a['if']('hasPopup'),'aria-expanded':_0x3e455a['to']('isExpanded',_0x5853e3=>this['hasPopup']&&String(_0x5853e3)),'aria-label':_0x3e455a['to']('hasPopup',_0x3cf8fc=>G(_0x210c64,_0x3cf8fc?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3e455a['to']('hasPopup',_0x2c8b37=>!!_0x2c8b37&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3e455a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3e455a['to'](_0x3526b2=>{const _0x4dd92e=_0x3526b2,_0x246199=document['querySelector']('.ck-presence-list__dropdown-list'),_0x311af5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x246199?.['contains'](_0x4dd92e['relatedTarget'])||_0x311af5?.['contains'](_0x4dd92e['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1cad54,_0x46d434,_0x1dcd63)=>{this['element']&&(_0x1dcd63?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 _ extends _0x157a15{['counterView'];['inlineListView'];constructor(_0x5a96ac,_0x2781f0=0x6){super(_0x5a96ac);const _0x2b64b6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new P(this['locale'],_0x2781f0),this['inlineListView']=new ts(_0x5a96ac),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x44344e of this['inlineListView']['items'])_0x44344e['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',_0x2b64b6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class D extends _0x157a15{['listWrapperView'];constructor(_0x3b04c1,_0x1b2a76){super(_0x3b04c1);const _0x508f91=this['bindTemplate'];this['listWrapperView']=new mt(_0x3b04c1,_0x1b2a76),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x3b04c1,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x508f91['to'](_0x2e7ad9=>{const _0x165521=_0x2e7ad9,_0x2437d6=document['querySelector']('.ck-presence-list__list'),_0x437fd0=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2437d6?.['contains'](_0x165521['relatedTarget'])||_0x437fd0?.['contains'](_0x165521['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x13123e{constructor(_0x45b271,_0x40bc81){super(_0x45b271);const _0x4b31bd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x40bc81?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4b31bd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4b31bd['to']('role'),'aria-label':_0x4b31bd['to']('ariaLabel'),'aria-labelledby':_0x4b31bd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3b3485['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x52d734=this['element'];_0x52d734&&(this['_isScrollable']=Math['max'](_0x52d734['scrollHeight'],_0x52d734['clientHeight'])>0.8*window['innerHeight']);}}class U extends rt{['userView'];constructor(_0x19fb62,_0x3f445f,_0x191d45){super(_0x19fb62);const _0x2f7e5e=this['bindTemplate'];this['userView']=new ct(_0x19fb62,_0x3f445f);const _0x3d24b7={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3f445f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3f445f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3f445f['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x191d45&&(_0x3d24b7['tag']='button',_0x3d24b7['on']={'click':_0x2f7e5e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d24b7);}['focus'](){this['element']['focus']();}}class V extends _0x157a15{['userView'];['markerView'];constructor(_0x36a1ca,_0x3ad1d6,_0x3354d2){super(_0x36a1ca);const _0x3029fa=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x36a1ca,_0x3ad1d6),this['markerView']=new at(_0x36a1ca,_0x3ad1d6);const _0x59d38b=new ot(_0x36a1ca);_0x59d38b['template']['tag']='span',_0x59d38b['text']=_0x3ad1d6['name'];const _0x3a4c9d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3029fa['to']('isFocusable',_0x2a7fca=>!!_0x2a7fca&&0x0),'aria-labelledby':_0x59d38b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3029fa['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3029fa['to']('hasTooltip',_0x5112f4=>!_0x5112f4),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x59d38b]};_0x3354d2&&(_0x3a4c9d['tag']='button',_0x3a4c9d['on']={'click':_0x3029fa['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3a4c9d);}}class at extends _0x157a15{constructor(_0x140a59,_0x11b5ee){super(_0x140a59),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x11b5ee['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const E={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x42e636{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x565cda){super(_0x565cda),this['context']['config']['define']('presenceList',E);const _0x5bcac9=_0x565cda['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5bcac9)throw new _0x9c1d4e('presencelist-collapseat-invalid-format',this);if(_0x5bcac9<0x1)throw new _0x9c1d4e('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4af4f4(),this['balloonPanelView']=new _0x3c08a0(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x31ca2b of this['_allConnectedUsers'])this['_handleUserAdd'](_0x31ca2b);this['listenTo'](this['_allConnectedUsers'],'add',(_0xcee5ab,_0x494851)=>{this['_handleUserAdd'](_0x494851);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x45fffe,_0x58a450)=>{this['_handleUserRemove'](_0x58a450);});}['_createView'](){const _0x5a44c7=this['context'],_0x3b1acb=new _(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x32f29f=this['balloonPanelView'];if(!_0x185eae(_0x5a44c7['config']['get']('presenceList.container')))throw new _0x9c1d4e('presencelist-missing-container',this);return _0x3b1acb['counterView']['bind']('usersCount')['to'](this),_0x3b1acb['bind']('isCollapsed')['to'](this,'usersCount',_0xd8830=>{const {collapseAt:_0x42574b}=_0x5a44c7['config']['get']('presenceList'),_0x1aa537=_0xd8830>=_0x42574b;if(_0x1aa537&&!_0x3b1acb['inlineListView']['items']['find'](_0x1a9306=>_0x1a9306 instanceof P)){const _0x5841ac=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5841ac&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3b1acb['inlineListView']['items']['add'](_0x3b1acb['counterView']);}return _0x1aa537||this['hideDropdown'](),_0x1aa537;}),_0x3b1acb['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x252be8=>{const _0x1633fa=_0x5a44c7['config']['get']('presenceList'),_0xc0b780=new V(_0x5a44c7['locale'],_0x252be8,!!_0x1633fa['onClick']);return _0xc0b780['bind']('hasTooltip')['to'](_0x3b1acb,'isCollapsed',_0x20c212=>!_0x20c212),_0xc0b780['bind']('isFocusable')['to'](_0x3b1acb,'isCollapsed',_0x10ef2b=>!_0x10ef2b),_0x1633fa['onClick']&&this['listenTo'](_0xc0b780,'execute',()=>{this['view']['isCollapsed']||_0x1633fa['onClick'](_0x252be8,_0xc0b780['element']);}),_0xc0b780;}),this['listenTo'](_0x3b1acb['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3b1acb['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3b1acb['inlineListView']['keystrokes']['set']('Enter',(_0x274b1b,_0x498602)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x498602());}),_0x3b1acb['render'](),_0x32f29f['render'](),_0x188faf({'emitter':_0x3b1acb,'activator':()=>_0x32f29f['isVisible'],'contextElements':[_0x32f29f['element'],_0x3b1acb['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5a44c7['config']['get']('presenceList.container')['appendChild'](_0x3b1acb['element']),this['_bodyCollection']=new _0x4fb312(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3b1acb;}['_handleUserAdd'](_0x513a0b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x513a0b['isMe'])return;const _0x34ffa4=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x34ffa4-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2cef83=_0x513a0b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x513a0b,_0x2cef83);}['_handleUserRemove'](_0x47f8f8){this['usersCount']--;const {collapseAt:_0x372c06}=this['context']['config']['get']('presenceList'),_0x4c6059=this['usersCount']>=_0x372c06;if(this['currentDisplayedUsers']['get'](_0x47f8f8['id']))this['currentDisplayedUsers']['remove'](_0x47f8f8['id']);else{if(_0x4c6059&&this['currentDisplayedUsers']['length']+0x1===_0x372c06-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4c6059?0x1:0x0)<this['usersCount']){for(const _0x20270b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x20270b['id'])&&(this['currentDisplayedUsers']['add'](_0x20270b,Math['min'](this['currentDisplayedUsers']['length']-(_0x4c6059?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4c6059?0x1:0x0)===_0x372c06-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x11d0c7=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new D(this['context']['locale'],!!_0x11d0c7['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5be7b8}=this['presenceDropdownView'];_0x5be7b8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x44da56=>{if(!_0x11d0c7['displayMe']&&_0x44da56['isMe'])return null;const _0x3a231b=new U(this['context']['locale'],_0x44da56,!!_0x11d0c7['onClick']);return _0x11d0c7['onClick']&&this['listenTo'](_0x3a231b,'execute',()=>{_0x11d0c7['onClick'](_0x44da56,_0x3a231b['element']);}),_0x3a231b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5be7b8['focus'](),_0x5be7b8['checkIfScrollable']();const _0x3c460e=(_0xaa9dbe,_0x1e2996)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e2996();};_0x5be7b8['keystrokes']['set']('Esc',_0x3c460e),_0x5be7b8['keystrokes']['set']('Shift+Tab',_0x3c460e),_0x5be7b8['keystrokes']['set']('Tab',(_0x1face4,_0x3a3945)=>{!function(_0x470259){const _0x19b6dd=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x15556f=>_0x15556f+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5251f3=[...document['body']['querySelectorAll'](_0x19b6dd)]['filter'](_0x4636f4=>_0x4636f4===document['activeElement']||_0x4636f4['offsetWidth']+_0x4636f4['offsetHeight']>0x0)['sort']((_0x542eaa,_0x43cd69)=>(_0x542eaa['tabIndex']||0x0)-(_0x43cd69['tabIndex']||0x0)),_0xfdebae=_0x5251f3['indexOf'](_0x470259),_0x5489b3=_0x5251f3[(_0xfdebae+0x1)%_0x5251f3['length']];_0x5489b3&&_0x5489b3['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3a3945();}),_0x5be7b8['focusTracker']['add'](this['view']['element']),_0x5be7b8['focusTracker']['on']('change:isFocused',(_0x22b2f1,_0x431d5b,_0x181131)=>{_0x181131||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 s extends _0x42e636{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x2da3ca,Plugin as _0x1b15fd,PendingActions as _0x1c0e1d,Context as _0x5dc29c}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x392d91,CKEditorError as _0x680b76,Collection as _0x49727e,global as _0x2ac657,version as nt,uid as _0x4f3ae8,KeystrokeHandler as _0x45631a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x47532e,View as _0x5864bc,ListView as _0x22ebb3,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x2b47f8,clickOutsideHandler as _0x323cda,BodyCollection as _0x55c398}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x425790,NoOperation as _0x1b4ff2,InsertOperation as _0x2e9fe7,MarkerOperation as _0x4753c6,RootAttributeOperation as _0x22f281,transformSets as _0x4ba814,OperationFactory as _0x1f0bb1}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x202917,CollaborativeEditingService as _0x7eb39a,User as dt,CommentsService as _0x29043d,TrackChangesService as et,RevisionHistoryService as _0x32768c,EditorService as _0x429c32}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x209d74,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5b0779}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0xb76a19}from'es-toolkit/compat';class c extends _0x2da3ca{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x47532e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x447433){super(_0x447433),this['set']('state',_0x202917['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x392d91);}['init'](){const _0x2dc693=this['context'],_0x21aa94=_0x2dc693['plugins']['get']('CloudServices'),_0x15ef99=_0x2dc693['plugins']['get'](_0x47532e);if(!_0x21aa94['token'])throw new _0x680b76('websocketgateway-missing-token',this);if(!_0x21aa94['webSocketUrl'])throw new _0x680b76('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),c['WebSocketGateway']['connect'](_0x21aa94['token'],_0x21aa94['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2d544f=>{if(this['connection']=_0x2d544f,this['bind']('state')['to'](_0x2d544f,'state',this,'_isBrowserOffline',(_0x4932cc,_0x525fd6)=>('connected'!==_0x4932cc&&(this['_shouldPluginsReconnect']=!0x0),_0x525fd6||_0x4932cc!==_0x202917['CONNECTED']?_0x202917['DISCONNECTED']:this['state']==_0x202917['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x202917['CONNECTING']):_0x202917['CONNECTED'])),this['connection']['on']('error',(_0x44345f,_0x5bd2de)=>{if('limitExceeded'!==_0x5bd2de['code'])throw console['error'](_0x5bd2de),new _0x680b76('cloudservices-init',null,{'originalError':_0x5bd2de});_0x15ef99['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'});}),!_0x2d544f['me'])return new Promise(_0x1ebda9=>_0x2d544f['on']('change:me',_0x1ebda9));})['catch'](_0x4ed122=>{throw console['error'](_0x4ed122),new _0x680b76('cloudservices-init',null,{'originalError':_0x4ed122});});}['addToReconnectionStack'](_0x279b43){if('function'!=typeof _0x279b43['reconnect'])throw new _0x680b76('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x279b43))throw new _0x680b76('websocketgateway-plugin-already-registered',this,{'name':_0x279b43['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x279b43);}['removeFromReconnectionStack'](_0x20d52d){this['_reconnectionStack']['delete'](_0x20d52d);}['isInReconnectionStack'](_0x4a3291){return this['_reconnectionStack']['has'](_0x4a3291);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x49538b=>_0x49538b['reconnect']())))['then'](()=>this['state']=_0x202917['CONNECTED'])['catch'](_0x32e786=>{throw console['error'](_0x32e786),new _0x680b76('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x202917['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2da3ca{['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[c,_0x209d74];}constructor(_0x5f27ad){super(_0x5f27ad),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x49727e(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x209d74);}['init'](){const _0x4d8113=this['context']['plugins']['get'](c);this['listenTo'](_0x4d8113,'change:state',(_0x47b254,_0x520d65,_0x3dc94b)=>{if('connected'!==_0x3dc94b)this['channelSessions']['forEach'](_0x21af91=>_0x21af91['clear']()),this['channelConnectedUsers']['forEach'](_0x338f9e=>_0x338f9e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2902cc,_0x445d4b]of this['_registeredSessions'])for(const _0x35433f of _0x445d4b)this['_handleSessionAdd'](_0x2902cc,_0x35433f);}}),this['_createUser'](_0x4d8113['connection']['me'],!0x0);}['register'](_0x36a7c0,_0x30e906){if(this['_registeredSessions']['has'](_0x36a7c0))throw new _0x680b76('sessions-register-already-registered',null,{'channelId':_0x36a7c0});this['_registeredSessions']['set'](_0x36a7c0,_0x30e906),this['channelSessions']['set'](_0x36a7c0,new _0x49727e()),this['channelConnectedUsers']['set'](_0x36a7c0,new _0x49727e()),this['listenTo'](_0x30e906,'add',(_0x288f11,_0x106585)=>this['_handleSessionAdd'](_0x36a7c0,_0x106585)),this['listenTo'](_0x30e906,'remove',(_0x4b3269,_0x20d661)=>this['_handleSessionRemove'](_0x36a7c0,_0x20d661));for(const _0x15c5d9 of _0x30e906)this['_handleSessionAdd'](_0x36a7c0,_0x15c5d9);}['unregister'](_0x45f00c){if(!this['_registeredSessions']['has'](_0x45f00c))throw new _0x680b76('sessions-unregister-not-exist',null,{'channelId':_0x45f00c});const _0x2c5ac6=this['_registeredSessions']['get'](_0x45f00c);this['stopListening'](_0x2c5ac6);for(const _0xf16095 of _0x2c5ac6)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x45f00c,_0xf16095);this['_registeredSessions']['delete'](_0x45f00c),this['channelSessions']['delete'](_0x45f00c),this['channelConnectedUsers']['delete'](_0x45f00c);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x32568a){for(const _0xe3f0fa of this['channelSessions']['values']())for(const _0x450757 of _0xe3f0fa)if(_0x450757['id']===_0x32568a)return _0x450757['user'];}['getUserSessions'](_0x356b04,_0x4e1218){const _0x1d07cb=_0x4e1218?[this['channelSessions']['get'](_0x4e1218)]:this['channelSessions']['values'](),_0x15700b=new Set();for(const _0x571ff4 of _0x1d07cb)for(const _0x405b0f of _0x571ff4)_0x405b0f['user']['id']===_0x356b04['id']&&_0x15700b['add'](_0x405b0f['id']);return _0x15700b;}['getUserRole'](_0x2a1bdb){for(const _0xcb3bd6 of this['channelSessions']['values']())for(const _0x1aab1a of _0xcb3bd6)if(_0x1aab1a['user']===_0x2a1bdb)return _0x1aab1a['role'];}['_handleSessionAdd'](_0x3a799c,_0x285986){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4c4dbd=_0x285986['user'],_0x38b441=this['_users']['getUser'](_0x4c4dbd['id'])||this['_createUser'](_0x4c4dbd),_0x458292=Object['assign']({},_0x285986,{'user':_0x38b441});this['channelSessions']['get'](_0x3a799c)['add'](_0x458292);const _0x117fd3=this['channelConnectedUsers']['get'](_0x3a799c);_0x117fd3['has'](_0x38b441['id'])||_0x117fd3['add'](_0x38b441),this['allConnectedUsers']['has'](_0x38b441['id'])||this['allConnectedUsers']['add'](_0x38b441,_0x38b441['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3a799c,{'channelId':_0x3a799c,'session':_0x458292});}['_handleSessionRemove'](_0x31728b,_0x57d304){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x27bd9a=this['channelConnectedUsers']['get'](_0x31728b),_0x4ea75f=_0x57d304['user'];_0x4ea75f['id']&&(this['channelSessions']['get'](_0x31728b)['remove'](_0x57d304['id']),_0x27bd9a['has'](_0x4ea75f['id'])&&!this['getUserSessions'](_0x4ea75f,_0x31728b)['size']&&_0x27bd9a['remove'](_0x4ea75f['id']),this['allConnectedUsers']['get'](_0x4ea75f['id'])&&!this['getUserSessions'](_0x4ea75f)['size']&&this['allConnectedUsers']['remove'](_0x4ea75f['id']));}['_createUser'](_0x9e06db,_0x4699ba){const _0x60b952=this['_users']['addUser'](_0x9e06db);return _0x4699ba&&this['_users']['defineMe'](_0x9e06db['id']),_0x60b952['orderNumber']=this['_uniqueUsersCount']++,_0x60b952;}}class J extends _0x1b15fd{['_domEmitter']=new(_0x392d91())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xfb6231=this['editor'],_0x932aaf=_0xfb6231['plugins']['get'](i);_0xfb6231['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x280145,{writer:_0x561c7e})=>function(_0x5ad390,_0xe1b261,_0x1a102a,_0x1381f0){const _0x5eabd1=_0x5ad390['markerName']['split'](':')[0x2],_0x5c232c=_0x1a102a['getUserBySessionId'](_0x5eabd1);if(!_0x5c232c||_0x5eabd1===_0x1a102a['mySessionId'])return;if(!_0x1381f0['model']['schema']['checkChild'](_0x5ad390['markerRange']['start'],'$text'))return;const _0x9a972a={'class':'ck-user__marker\x20'+_0x5c232c['color']['getMarkerClass'](),'data-name':_0x5c232c['name'],'data-session-id':_0x5eabd1},_0x847087=_0x1381f0['model']['markers']['get'](_0x5ad390['markerName']),_0x11c4f2=_0x847087['getStart'](),_0x117342=_0x11c4f2['nodeAfter'],_0x270c96=_0x1381f0['model']['schema'];if(_0x117342&&_0x270c96['isObject'](_0x117342)&&_0x270c96['isInline'](_0x117342)&&!_0x1381f0['model']['markers']['get']('user:range:'+_0x5eabd1)['getRange']()['isCollapsed'])return;const _0x29d53b=_0x11c4f2['parent'];return _0x1381f0['model']['schema']['isLimit'](_0x29d53b)&&!_0x1381f0['model']['hasContent'](_0x29d53b)&&(_0x9a972a['contenteditable']=!0x1),function(_0x1093a7,_0x78afa8,_0x290463){const _0x161c6=_0x1093a7['createUIElement']('span',_0x78afa8);return _0x1093a7['setCustomProperty']('userPositionMarker',!0x0,_0x161c6),_0x161c6['render']=function(_0x4f4424){const _0x27c746=this['toDomElement'](_0x4f4424),_0x372676=document['createElement']('span');return _0x372676['classList']['add']('ck-user__marker-tooltip'),_0x372676['setAttribute']('contenteditable','false'),_0x372676['setAttribute']('spellcheck','false'),_0x372676['textContent']=_0x290463['name'],_0x27c746['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x372676['outerHTML']+'⁠',_0x27c746['addEventListener']('mouseenter',()=>{_0x27c746['classList']['add']('ck-user__marker_hovered');}),_0x27c746['addEventListener']('mouseleave',()=>{_0x27c746['classList']['remove']('ck-user__marker_hovered');}),_0x27c746;},_0x161c6['isSimilar']=function(_0x28a5b7){return!(!this['getCustomProperty']('userPositionMarker')||!_0x28a5b7['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x28a5b7['getAttribute']('data-session-id'));},_0x161c6;}(_0xe1b261,_0x9a972a,_0x5c232c);}(_0x280145,_0x561c7e,_0x932aaf,_0xfb6231)}),_0xfb6231['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4537f3=>function(_0x3326da,_0x2ea5a5){const _0x3fb5cf=_0x3326da['markerName']['split'](':')[0x2];if(_0x3fb5cf===_0x2ea5a5['mySessionId'])return null;const _0x502466=_0x2ea5a5['getUserBySessionId'](_0x3fb5cf);if(!_0x502466)return{'id':_0x3fb5cf,'classes':[]};return{'id':_0x3fb5cf,'classes':['ck-user__selection',_0x502466['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3fb5cf},'priority':0x7d0+_0x502466['orderNumber']};}(_0x4537f3,_0x932aaf)}),function(_0x319736){const _0x327c1c=_0x319736['model'],_0xc47846=new Map(),_0x4d072d=_0x319736['plugins']['get'](i);_0x327c1c['markers']['on']('update:user:range',(_0x28dcb7,_0x6388bb,_0x5bdfae,_0x3142c6)=>{if(!_0x3142c6&&_0xc47846['get'](_0x6388bb['name']))return _0xc47846['get'](_0x6388bb['name'])['detach'](),void _0xc47846['delete'](_0x6388bb['name']);const _0x5478cd=_0x6388bb['name']['split'](':')[0x2];if(_0x5478cd===_0x4d072d['mySessionId'])return;const _0x157881='user:position:'+_0x5478cd;_0x327c1c['markers']['has'](_0x157881)&&_0x319736['editing']['reconvertMarker'](_0x157881),_0x6388bb['on']('change:range',(_0x1e160c,_0xf78f46,_0x1e5136)=>{if('$graveyard'!=_0xf78f46['root']['rootName']&&'$graveyard'==_0x6388bb['getRange']()['root']['rootName']&&!_0xc47846['has'](_0x6388bb['name'])){const _0x58ae5d=_0x327c1c['schema']['getNearestSelectionRange'](_0x1e5136['deletionPosition']);if(_0x58ae5d){const _0x45f374=ht['fromRange'](_0x58ae5d);_0xc47846['set'](_0x6388bb['name'],_0x45f374),_0x45f374['on']('change:range',(_0x3e0019,_0x5e5faa,_0xd826ba)=>{if('$graveyard'==_0x45f374['root']['rootName']){const _0x42d626=_0x327c1c['schema']['getNearestSelectionRange'](_0xd826ba['deletionPosition']);_0x42d626?(_0x45f374['start']=_0x42d626['start'],_0x45f374['end']=_0x42d626['end']):(_0xc47846['delete'](_0x6388bb['name']),_0x45f374['detach']());}});}}});}),_0x327c1c['document']['on']('change',()=>{_0xc47846['size']>0x0&&_0x327c1c['enqueueChange']({'isUndoable':!0x1},_0xb25f9b=>{for(const [_0x160ff5,_0x508e8c]of _0xc47846)'$graveyard'==_0x327c1c['markers']['get'](_0x160ff5)['getRange']()['root']['rootName']&&(se(_0x160ff5['split'](':')[0x2],_0x508e8c['toRange'](),_0x327c1c,_0xb25f9b),_0x508e8c['detach']());_0xc47846['clear']();});});}(_0xfb6231),this['_domEmitter']['listenTo'](_0x2ac657['document'],'keydown',(_0x2c4af2,{key:_0x5e3b5a})=>{'Escape'===_0x5e3b5a&&function(_0xea9503){_0xea9503['editing']['view']['change'](_0x467150=>{for(const _0x484a21 of _0xea9503['model']['markers']){if(!_0x484a21['name']['startsWith']('user:position'))continue;const _0x87570d=_0xea9503['editing']['mapper']['markerNameToElements'](_0x484a21['name']);if(_0x87570d){for(const _0x58356d of _0x87570d)_0x467150['removeClass']('ck-user__marker_hovered',_0x58356d);}}});}(_0xfb6231);},{'useCapture':!0x0});}['afterInit'](){const _0x74d15e=this['editor'],_0x497a5b=_0x74d15e['commands']['get']('undo');_0x497a5b&&_0x74d15e['model']['on']('applyOperation',(_0x23ef00,_0x5bedb1)=>{const _0x3992e0=_0x5bedb1[0x0];if(!_0x3992e0['isDocumentOperation'])return;if('marker'!=_0x3992e0['type']||!_0x3992e0['name']['startsWith']('user:'))return;const _0x4c92b4=_0x3992e0['batch'];_0x497a5b['_createdBatches']['has'](_0x4c92b4)&&(_0x3992e0['newRange']=_0x3992e0['oldRange']?_0x74d15e['model']['createRange'](_0x3992e0['oldRange']['start'],_0x3992e0['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xfde81b=this['editor'],_0x861bb7=_0xfde81b['model']['document'],_0x54b9ef=_0xfde81b['plugins']['get'](i);_0xfde81b['model']['enqueueChange']({'isUndoable':!0x1},_0x37dc7a=>{const _0x18a2e3='user:range:'+_0x54b9ef['mySessionId'],_0x5906b2='user:position:'+_0x54b9ef['mySessionId'],_0x1b304d=_0xfde81b['model']['markers']['has'](_0x18a2e3);_0xfde81b['editing']['view']['hasDomSelection']?se(_0x54b9ef['mySessionId'],_0x861bb7['selection']['getFirstRange'](),_0xfde81b['model'],_0x37dc7a):_0x1b304d&&(_0x37dc7a['removeMarker'](_0x18a2e3),_0x37dc7a['removeMarker'](_0x5906b2));});}}function se(_0x4d1151,_0x132602,_0x50d0f9,_0x49911c){const _0x37f220='user:range:'+_0x4d1151,_0x317184='user:position:'+_0x4d1151,_0x2db88e=_0x132602['getContainedElement']();let _0x42f9e8=_0x132602['start'];if(_0x2db88e&&_0x2db88e['is']('element','tableCell')){const _0x6ce9c0=function(_0x472382,_0x5d400a){for(const _0x3c4419 of _0x472382['getPositions']())if(_0x5d400a['schema']['checkChild'](_0x3c4419,'$text'))return _0x3c4419;}(_0x132602,_0x50d0f9);_0x6ce9c0&&(_0x42f9e8=_0x6ce9c0,_0x132602=_0x49911c['createRange'](_0x42f9e8));}const _0x41ec44=_0x49911c['createRange'](_0x42f9e8);_0x50d0f9['markers']['has'](_0x37f220)?(_0x49911c['updateMarker'](_0x37f220,{'range':_0x132602}),_0x49911c['updateMarker'](_0x317184,{'range':_0x41ec44})):(_0x49911c['addMarker'](_0x37f220,{'range':_0x132602,'usingOperation':!0x0}),_0x49911c['addMarker'](_0x317184,{'range':_0x41ec44,'usingOperation':!0x0}));}function Q(_0x4b8076,_0x59c53b,_0x2caf32){const _0x5c52ff=_0x4b8076['t'],t=_0x4b8076['t'];switch(_0x59c53b){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 _0x5c52ff({'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'},_0x2caf32);default:return'';}}let Z=0x1;class l extends _0x1b15fd{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x7eb39a)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,J,_0x1c0e1d,_0x209d74,_0x47532e];}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 _0x5c04d1=this['serverHistory']['getOperations']();for(let _0x5e1258=_0x5c04d1['length']-0x1;_0x5e1258>=0x0;_0x5e1258--){const _0x69ef6b=_0x5c04d1[_0x5e1258];if(!this['_disconnectionOperations']['has'](_0x69ef6b))return _0x69ef6b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x336c70){if(super(_0x336c70),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x425790(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x680b76('collaboration-missing-channelid',this);const _0x40d024=_0x336c70['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x40d024,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5b0779(),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 st(this['_disconnectionOperations']);}['init'](){const _0x503aaa=this['editor'],_0x314102=_0x503aaa['plugins']['get'](_0x209d74),_0x30898a=_0x503aaa['plugins']['get'](c);this['listenTo'](_0x314102,'getOperationAuthor',(_0x5226a8,_0x22a719)=>{const _0x1cb25f=_0x22a719[0x0];_0x1cb25f['_authorId']&&(_0x5226a8['return']=_0x314102['getUser'](_0x1cb25f['_authorId']),_0x5226a8['stop']()),null===_0x1cb25f['_authorId']&&(_0x5226a8['return']=null,_0x5226a8['stop']());},{'priority':'high'}),this['listenTo'](_0x503aaa['model']['document']['selection'],'change:range',(_0x9e770d,_0x3b7fc5)=>{_0x3b7fc5['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x503aaa['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x503aaa['model']['on']('applyOperation',(_0x295eaf,_0x177ff6)=>{const _0x27ff64=_0x177ff6[0x0];_0x27ff64['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x27ff64),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x30898a,'state',this,'_hasSynchronizationProblem',(_0x42ac2c,_0x5b5595)=>'connected'===_0x42ac2c&&!_0x5b5595),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x503aaa['disableReadOnlyMode']('rtc-offline'):_0x503aaa['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x503aaa['disableReadOnlyMode']('rtc-offline'):_0x503aaa['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1aae5d=this['editor']['plugins']['get'](i),_0x363493=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x1aae5d['unregister'](this['_channelId']);const _0x59be61=await this['_service']['reconnect'](_0x363493['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x59be61)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4c3479=await this['_service']['getConnectedSessions']();_0x1aae5d['register'](this['_channelId'],_0x4c3479),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x17bf98){if(function(_0x1c0f8c){return'404'===_0x1c0f8c['code'];}(_0x17bf98)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3fdd96){return'409'===_0x3fdd96['code'];}(_0x17bf98)){const _0x15224a=Q(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'](_0x15224a);}else{if(!(_0x17bf98 instanceof tt))throw _0x17bf98;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4836d8=this['editor']['plugins']['get'](c),_0x2c4c6f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2c4c6f['channelSessions']['has'](this['_channelId'])&&_0x2c4c6f['unregister'](this['_channelId']),_0x4836d8['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x168587){if(this['sessionId']!==_0x168587['sessionId']&&this['_lastSyncedOperationId']!==_0x168587['lastOperationId'])throw new tt();return this['sessionId']=_0x168587['sessionId'],this['_handleServerResponse']([],{..._0x168587,'wereChangesApplied':!0x1,'data':_0x168587['data']},'reconnect');}async['_connectService'](_0x48890a,_0x57eb1b=!0x1){const {connection:_0x522daf}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x522daf,this['_channelId'])['then'](_0x4c6e7e=>this['_initSessionsHandling'](_0x4c6e7e))['catch'](_0x1fec2c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1fec2c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1ed0fd,_0x1cc8c3)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1cc8c3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x38d618=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x48890a);this['_isPendingUpdate']=!0x0;const _0x382870=await this['_service']['connect'](_0x522daf,this['_compressOperations'](_0x48890a),_0x38d618);if(this['sessionId']=_0x382870['sessionId'],_0x57eb1b){if(!_0x382870['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x382870['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x48890a,_0x382870,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x382870,_0x48890a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x404f9e=this['editor']['plugins']['get'](i),_0x5cfb3e=this['editor']['plugins']['get'](J),_0x37eec7=_0x404f9e['channelSessions']['get'](this['_channelId']);_0x37eec7&&_0x37eec7['length']>0x1?_0x5cfb3e['createUserMarkerOperations']():this['listenTo'](_0x404f9e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x404f9e['channelSessions']['get'](this['_channelId'])['length']&&_0x5cfb3e['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4e695a,_0x201148,_0x4bb72d,_0x3acea4){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x201148){const _0x3a0fb5=this['_decompressOperations'](_0x4bb72d,_0x3acea4);await this['_fetchMissingUsers'](_0x3a0fb5),this['_handleExternalOperations'](_0x3a0fb5,_0x201148,_0x4bb72d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x54227d}=this['editor'];let _0x1e4f1e;try{_0x1e4f1e=await this['_service']['getDocumentDetails']();}catch{const _0x3fa263=Q(_0x54227d,'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'](_0x3fa263);}const _0x2ea6d3=_0x1e4f1e['currentDocumentSession']||_0x1e4f1e['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2ea6d3['lastOperationId']){const _0x5854c2=Q(_0x54227d,'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'](_0x5854c2);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4bd20e){const _0xbb7e5c=this['editor']['plugins']['get'](i);this['listenTo'](_0xbb7e5c,'sessionAdd:'+this['_channelId'],(_0x246354,{session:_0x2853b7})=>{if(_0x2853b7['id']===_0xbb7e5c['mySessionId']){_0x246354['off']();const _0x184fe5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4b36e3=_0x2853b7['permissions'];_0x184fe5&&_0x184fe5['isEnabled']&&(_0x4b36e3=_0x4b36e3['filter'](_0x56b78c=>'document:write'!==_0x56b78c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4b36e3,this['_channelId']);}}),_0xbb7e5c['register'](this['_channelId'],_0x4bd20e);}['_initThrowingOnDataSet'](){const _0xa5cdd9=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x203c37)=>{if(!_0x203c37[_0x203c37['length']-0x1]['suppressErrorInCollaboration'])throw new _0x680b76('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xa5cdd9['apply'](this['editor']['data'],_0x203c37);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x57e533,[_0x5be5eb])=>{if(this['_document']['version'])throw new _0x680b76('realtimecollaborationclient-init-document-already-initialized',this);_0x57e533['stop'](),this['_setPendingAction']();const _0x35b1d0=this['editor']['config']['get']('rootsAttributes'),_0x570d35=this['_getOperationsFromInitData'](_0x5be5eb,_0x35b1d0);0x0==_0x570d35['length']&&_0x570d35['push'](new _0x1b4ff2(0x0)),_0x57e533['return']=this['_connectService'](_0x570d35)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2f0994=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2f0994))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x49d9de,[_0x47b3d2,_0x1be01f])=>{_0x49d9de['stop']();const _0x2d05e6=this['editor']['model']['document']['getRoot'](_0x47b3d2);if(!this['_knownRootNames']['has'](_0x47b3d2)){const _0x48fa69=_0x1be01f&&_0x1be01f['data']?_0x1be01f['data']:'',_0x3e4fc5=_0x1be01f&&_0x1be01f['attributes']?_0x1be01f['attributes']:{};await this['_loadRoot'](_0x47b3d2,_0x48fa69,_0x3e4fc5);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2d05e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2d05e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x354e95){const _0x6a33c5=this['editor']['plugins']['get'](_0x209d74),{connection:_0x812893}=this['editor']['plugins']['get'](c),_0x4bab1f=new Set();for(const _0x537c8b of _0x354e95){const _0x39b9f8=_0x537c8b['_authorId'];_0x39b9f8&&!_0x6a33c5['getUser'](_0x39b9f8)&&_0x4bab1f['add'](_0x39b9f8);}if(0x0===_0x4bab1f['size'])return;const _0x2cd163=await dt['getMany'](_0x812893,Array['from'](_0x4bab1f));for(const _0x26d92a of _0x2cd163)_0x6a33c5['getUser'](_0x26d92a['id'])||_0x6a33c5['addUser'](_0x26d92a);}['_getOperationsFromInitData'](_0x201e89,_0x3b5cbf={}){const _0x18eca5=this['editor']['model'],_0x1c0a63=[];let _0x3b2e0a=0x0;const _0x1cc824='string'==typeof _0x201e89?{'main':_0x201e89}:_0x201e89;for(const _0x164904 of Object['keys'](_0x1cc824)){if(!this['_document']['roots']['has'](_0x164904))throw new _0x680b76('realtimecollaborationclient-init-non-existent-root',this);const _0x30ab60=this['editor']['data']['parse'](_0x1cc824[_0x164904]),_0x3a5d7d=this['_document']['getRoot'](_0x164904),_0x29e54b=new _0x2e9fe7(_0x18eca5['createPositionAt'](_0x3a5d7d,0x0),_0x30ab60,_0x3b2e0a++);_0x1c0a63['push'](_0x29e54b);for(const [_0xa197e,_0x214f6f]of _0x30ab60['markers']){const _0x33cca3=_0x18eca5['createRange'](_0x18eca5['createPositionFromPath'](_0x3a5d7d,_0x214f6f['start']['path']['slice']()),_0x18eca5['createPositionFromPath'](_0x3a5d7d,_0x214f6f['end']['path']['slice']())),_0x333dae=new _0x4753c6(_0xa197e,null,_0x33cca3,_0x18eca5['markers'],!0x0,_0x3b2e0a++);_0x1c0a63['push'](_0x333dae);}}if(_0x3b5cbf)for(const [_0x405f1a,_0xda4120]of Object['entries'](_0x3b5cbf)){const _0x8bfd33=_0x18eca5['document']['getRoot'](_0x405f1a);if(!_0x8bfd33)throw new _0x680b76('multi-root-editor-root-attributes-no-root',null);for(const [_0x51d634,_0x174a6d]of Object['entries'](_0xda4120))if(null!==_0x174a6d){const _0x23ddea=new _0x22f281(_0x8bfd33,_0x51d634,null,_0x174a6d,_0x3b2e0a++);_0x1c0a63['push'](_0x23ddea);}}return _0x1c0a63;}async['_loadRoot'](_0x433050,_0x3109e4,_0x341003){this['_getOperationsFromInitData']({[_0x433050]:_0x3109e4},{[_0x433050]:_0x341003})['forEach']((_0x145b70,_0x212822)=>{_0x145b70['baseVersion']=this['_document']['version']+_0x212822,_0x145b70['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x145b70);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3d59cd,_0x5c90cc){let _0x42de0a;this['_offset']=_0x3d59cd['offset'];const _0x2771da=_0x3d59cd['wereChangesApplied']&&!_0x3d59cd['initData'],_0x51544e=_0x2771da?0x0:_0x3d59cd['data']['baseVersion'];if(_0x5c90cc['forEach'](_0x5af105=>{_0x5af105['_isInit']=!0x0,_0x5af105['createdAt']=_0x3d59cd['sessionCreatedAt'],_0x5af105['_authorId']=null;}),_0x2771da)_0x42de0a=_0x5c90cc,this['_applyOperationsSet'](_0x42de0a,_0x2771da);else{if(_0x3d59cd['initData']){const _0x4baf33=this['_getOperationsFromInitData'](_0x3d59cd['initData']);this['_document']['history']['version']=-_0x4baf33['length'],_0x4baf33['forEach'](_0x1844f4=>{_0x1844f4['baseVersion']-=_0x4baf33['length'],_0x1844f4['createdAt']=_0x3d59cd['sessionCreatedAt'],_0x1844f4['_isInit']=!0x0,_0x1844f4['_authorId']=null;}),this['_applyOperationsSet'](_0x4baf33,!0x0),this['serverHistory']['version']=-_0x4baf33['length']+this['_offset'],this['_updateServerHistory'](_0x4baf33);}this['_document']['history']['version']=_0x51544e,_0x42de0a=this['_decompressOperations'](_0x3d59cd['data'],_0x3d59cd['metadata']),await this['_fetchMissingUsers'](_0x42de0a),this['_applyOperationsSet'](_0x42de0a,_0x2771da);}_0x3d59cd['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x42de0a,_0x3d59cd['lastOperationId']),this['_lastSyncedOperationId']=_0x3d59cd['lastOperationId']),this['serverHistory']['version']=_0x51544e+this['_offset'],this['_updateServerHistory'](_0x42de0a),_0x5c90cc['filter'](_0x2deccf=>{const _0x47d064=this['_getAffectedRoot'](_0x2deccf);return _0x47d064&&!this['_knownRootNames']['has'](_0x47d064);})['forEach']((_0x3eb22a,_0x22dc88)=>{_0x3eb22a['baseVersion']=this['_document']['version']+_0x22dc88,this['_saveOperationInBuffer'](_0x3eb22a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x228c5b,_0x3efcc3){const _0x43c665=_0x3efcc3&&_0x3efcc3['message'];if(_0x43c665&&_0x43c665['startsWith']('realtimecollaborationclient'))throw _0x3efcc3;const _0x4d9af6=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x4d9af6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x680b76(_0x228c5b,this['editor'],_0x43c665?{'originalError':_0x43c665}:void 0x0);}['_saveOperationInBuffer'](_0x57af2c){this['_knownOperations']['has'](_0x57af2c)||(this['_knownOperations']['add'](_0x57af2c),this['_bufferedOperations']['push'](_0x57af2c),this['_pendingAction']||'marker'==_0x57af2c['type']&&!_0x57af2c['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3fffbf=!0x1){!_0x3fffbf&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x321bfa=>{_0x321bfa&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x28ee64=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3b3a92){return _0x3b3a92['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b3a92['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3b3a92['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x28ee64)||this['_crash'](_0x28ee64['message'],_0x28ee64);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x476d3c=>{this['on']('change:_isPendingUpdate',()=>{_0x476d3c();});});}async['_sendBufferedOperations'](){const _0x151206=this['editor']['plugins']['get'](J);if(this['_shouldSendSelectionUpdate']()&&(_0x151206['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x36b6d8=[...this['_bufferedOperations']];for(const _0x39ea45 of _0x36b6d8)_0x39ea45['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x39ea45);const _0x16d728=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x36b6d8),_0x4a63c8=Z++,_0x19b8f2=this['_compressOperations'](_0x36b6d8),_0x3cd1d8=await this['_service']['sendOperations'](_0x19b8f2,_0x19b8f2['baseVersion'],_0x16d728);try{return await this['_handleServerResponse'](_0x36b6d8,_0x3cd1d8,_0x4a63c8);}catch(_0x246584){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x246584);}}async['_handleServerResponse'](_0x34f225,_0x40900f,_0x83e0a7){if('error'in _0x40900f)throw _0x40900f['error'];let _0xc5ddb1=!0x1;if(_0x40900f['wereChangesApplied']){_0x40900f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x40900f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x134709=>!_0x34f225['includes'](_0x134709));for(const _0x1f9fae of _0x34f225)_0x1f9fae['createdAt']='lastOperationAcceptedAt'in _0x40900f&&_0x40900f['lastOperationAcceptedAt']||void 0x0;it(_0x34f225,_0x40900f['version']-_0x34f225['length']),this['_updateServerHistory'](_0x34f225);const _0x8e1b03=_0x34f225['filter'](_0x3504dd=>{if(!_0x3504dd['_isInit'])return!0x1;const _0x35fe89=this['_getAffectedRoot'](_0x3504dd);return _0x35fe89&&!this['_knownRootNames']['has'](_0x35fe89);});it(_0x8e1b03,this['_document']['version']),this['_applyOperationsSet'](_0x8e1b03),_0xc5ddb1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x350052=this['_decompressOperations'](_0x40900f['data'],_0x40900f['metadata'])['filter'](_0x403441=>_0x403441['baseVersion']>=this['_lastServerVersion']);_0x350052['forEach'](_0x52b697=>this['_addKnownRoot'](_0x52b697)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x204afd=>!_0x204afd['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x204afd))),this['_bufferedOperations']['length']&&it(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x350052),_0xc5ddb1=this['_handleExternalOperations'](_0x350052,_0x40900f['version'],_0x40900f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xc5ddb1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x15a831,_0x16e844,_0x363245){try{const _0x445c2f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x54ad64,operationsB:_0x120d50,originalOperations:_0x4d2cfb}=_0x4ba814(_0x15a831,this['_bufferedOperations'],_0x445c2f);it(_0x54ad64,this['_document']['version']),it(_0x120d50,_0x16e844);for(const _0x2b97dd of _0x54ad64){const _0x502988=_0x4d2cfb['get'](_0x2b97dd);_0x2b97dd['_authorId']=_0x502988?_0x502988['_authorId']:null;}_0x363245&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x15a831,_0x363245),this['_lastSyncedOperationId']=_0x363245),this['_bufferedOperations']=[..._0x120d50],this['_applyOperationsSet'](_0x54ad64),this['_updateServerHistory'](_0x15a831);}catch(_0x124c74){return console['error'](_0x124c74),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5adbfc,_0x16ceed=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x154bc9=>{for(const _0x12d1e1 of _0x5adbfc)this['_knownOperations']['add'](_0x12d1e1),this['_addKnownRoot'](_0x12d1e1),_0x154bc9['batch']['addOperation'](_0x12d1e1),this['editor']['model']['applyOperation'](_0x12d1e1);});}['_addKnownRoot'](_0x7719a1){const _0x171cab=this['_getAffectedRoot'](_0x7719a1);_0x171cab&&this['_knownRootNames']['add'](_0x171cab);}['_getAffectedRoot'](_0x4c0b99){let _0x5bda59,_0x37bf6d;switch(_0x4c0b99['type']){case'insert':_0x5bda59=_0x4c0b99['position']['root'];break;case'marker':if(_0x37bf6d=_0x4c0b99['newRange'],!_0x37bf6d)return null;_0x5bda59=_0x37bf6d['root'];break;case'addRootAttribute':_0x5bda59=_0x4c0b99['root'];break;case'addRoot':_0x5bda59=_0x4c0b99['affectedSelectable'];break;case'move':_0x5bda59=_0x4c0b99['targetPosition']['root'];break;default:return null;}return _0x5bda59['rootName'];}['_updateServerHistory'](_0x4d9d52){_0x4d9d52['forEach'](_0xcf0d67=>{const _0x49882b=_0xcf0d67['clone']();_0x49882b['_authorId']=_0xcf0d67['_authorId'],_0x49882b['_isInit']=!!_0xcf0d67['_isInit'],_0x49882b['createdAt']=_0xcf0d67['createdAt'],_0x49882b['baseVersion']+=this['_offset'],_0xcf0d67['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x49882b),this['serverHistory']['addOperation'](_0x49882b);});}['_handleReconnectionError'](_0x491b58){const _0x2a9394=this['editor']['plugins']['get']('Notification'),_0x3d22ab=this['editor']['locale'];_0x491b58||(_0x491b58=Q(_0x3d22ab,'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.')),_0x2a9394['showWarning'](_0x491b58,{'title':Q(_0x3d22ab,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1c0e1d)['add'](Q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1c0e1d)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x561828){const _0x3c55f2=_0x561828['map'](_0x54250d=>_0x54250d['toJSON']());return this['_compressor']['compress'](_0x3c55f2);}['_decompressOperations'](_0x1c8d35,_0x1eb088){return this['_compressor']['decompress'](_0x1c8d35)['map']((_0x3d5f12,_0x3cc837)=>{const _0x471ec2='init'==_0x1eb088[_0x3cc837]['type'];if('InsertOperation'==_0x3d5f12['__className']){const _0x8f48b2=_0x3d5f12['position']['root'];!this['_document']['getRoot'](_0x8f48b2)&&(this['_document']['createRoot']('$root',_0x8f48b2)['_isAttached']=!0x1);}const _0x21f508=_0x1f0bb1['fromJSON'](_0x3d5f12,this['_document']);return _0x21f508['wasUndone']=_0x3d5f12['wasUndone'],_0x21f508['_isInit']=_0x471ec2,_0x21f508['_authorId']=_0x471ec2?null:_0x1eb088[_0x3cc837]['userId'],_0x21f508['_isDisconnection']='cs:removeUser'===_0x1eb088[_0x3cc837]['type'],_0x21f508['createdAt']=_0x1eb088[_0x3cc837]['createdAt'],_0x21f508;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x525c98=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x525c98&&_0x525c98['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class tt extends Error{}function it(_0x3734ea,_0x240333){for(const _0xa13d98 of _0x3734ea)_0xa13d98['baseVersion']=_0x240333++;}class st{['_ignoredOperations'];['_operationToId'];constructor(_0x43ae7d){this['_ignoredOperations']=_0x43ae7d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x48dd4e){let _0x192bb8=_0x48dd4e['length'];for(;_0x192bb8--;){const _0x4374d3=_0x48dd4e[_0x192bb8];if(!this['_ignoredOperations']['has'](_0x4374d3)){if(!this['_operationToId']['has'](_0x4374d3)){const _0x28de99=_0x4f3ae8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4374d3,_0x28de99);}return this['_operationToId']['get'](_0x4374d3);}}}['setIdForTheLastOperation'](_0x58706d,_0x2c502a){if(!_0x2c502a)return;let _0x12b704=_0x58706d['length'];for(;_0x12b704--;){const _0x50794f=_0x58706d[_0x12b704];this['_ignoredOperations']['has'](_0x50794f)||this['_operationToId']['set'](_0x50794f,_0x2c502a);}}}class n extends _0x1b15fd{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x2da3ca{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x29043d)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x209d74];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ae1d1){super(_0x1ae1d1),this['_services']=new Map();}async['init'](){const _0x30d9be=this['context'],_0x2e2a84=_0x30d9be['plugins']['get']('CommentsRepository');if(_0x30d9be['plugins']['get'](c)['addToReconnectionStack'](this),_0x2e2a84['adapter']={'addCommentThread':async({channelId:_0x333c17,threadId:_0x4d83ca,comments:_0x305864,resolvedAt:_0x408e87,resolvedBy:_0x5287d1,context:_0x1a0395,attributes:_0x35990f})=>{const _0x5ab790=await this['_getService'](_0x333c17)['addCommentThread']({'commentThreadId':_0x4d83ca,'comments':_0x305864['map'](_0x52390a=>function(_0x46d1e5,_0xa155f8,_0x3e765c){return{'commentThreadId':_0x3e765c,'commentId':_0x46d1e5['commentId'],'userId':_0x46d1e5['authorId'],'content':_0x46d1e5['content'],'documentId':_0xa155f8,'createdAt':_0x46d1e5['createdAt'],'attributes':_0x46d1e5['attributes']||{}};}(_0x52390a,_0x333c17,_0x4d83ca)),'resolvedAt':_0x408e87,'resolvedBy':_0x5287d1,'context':_0x1a0395,'attributes':_0x35990f})['catch'](ut);return{'threadId':_0x5ab790['commentThreadId'],'comments':_0x5ab790['comments']};},'getCommentThread':async({channelId:_0x237ae2,threadId:_0x513492})=>{const _0x3107=await this['_getService'](_0x237ae2)['getCommentThread'](_0x513492)['catch'](ut);return _0x3107['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3107]),{'threadId':_0x3107['commentThreadId'],'comments':_0x3107['comments']['map'](_),'context':_0x3107['context'],'resolvedAt':_0x3107['resolvedAt'],'resolvedBy':_0x3107['resolvedBy'],'attributes':_0x3107['attributes']||{}});},'updateCommentThread':async({channelId:_0x479b46,threadId:_0x4437d5,context:_0x248f34,unlinkedAt:_0x209b0d,attributes:_0x9bc87e})=>this['_getService'](_0x479b46)['updateCommentThread']({'commentThreadId':_0x4437d5,'context':_0x248f34,'attributes':_0x9bc87e,'unlinkedAt':_0x209b0d})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x5afa9b,threadId:_0x5ca6a5})=>{const _0x1c8ba7=await this['_getService'](_0x5afa9b)['resolveCommentThread'](_0x5ca6a5)['catch'](S)['catch'](ut);return{'threadId':_0x1c8ba7['commentThreadId'],'resolvedAt':_0x1c8ba7['resolvedAt'],'resolvedBy':_0x1c8ba7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2bfd83,threadId:_0x579b0d})=>this['_getService'](_0x2bfd83)['reopenCommentThread'](_0x579b0d)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0x16c7cc,threadId:_0x450128})=>this['_getService'](_0x16c7cc)['removeCommentThread'](_0x450128)['catch'](S)['catch'](ut),'addComment':({channelId:_0x57bfce,threadId:_0x2ad3b5,commentId:_0x59f9eb,content:_0x5e89a8,attributes:_0x5eab04})=>this['_getService'](_0x57bfce)['addComment'](_0x2ad3b5,_0x59f9eb,_0x5e89a8,_0x5eab04)['catch'](ut),'updateComment':({channelId:_0x281f30,threadId:_0x276c53,commentId:_0xf9b0a0,content:_0x25551e,attributes:_0x18192b})=>this['_getService'](_0x281f30)['updateComment'](_0x276c53,_0xf9b0a0,_0x25551e,_0x18192b)['catch'](S)['catch'](ut),'removeComment':({channelId:_0x452419,threadId:_0x570f2e,commentId:_0x3604ce})=>this['_getService'](_0x452419)['removeComment'](_0x570f2e,_0x3604ce)['catch'](S)['catch'](ut)},_0x30d9be instanceof _0x5dc29c){const _0x3ff434=_0x30d9be['config']['get']('collaboration.channelId'),_0x53abb9=_0x30d9be['plugins']['get'](i);await this['_setUpService'](_0x3ff434);const _0x2cdd06=await this['_services']['get'](_0x3ff434)['getConnectedSessions']();this['listenTo'](_0x53abb9,'sessionAdd:'+_0x3ff434,(_0x53c35b,{session:_0x58da89})=>{_0x58da89['id']===_0x53abb9['mySessionId']&&(_0x53c35b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x58da89['permissions'],_0x3ff434));}),_0x53abb9['register'](_0x3ff434,_0x2cdd06);}}async['_setUpService'](_0x5be6ce){if(this['_services']['has'](_0x5be6ce))throw new _0x680b76('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5be6ce});const _0x52a054=this['context']['plugins']['get']('CommentsRepository'),_0x42a958=new a['CommentsService'](_0x5be6ce);this['_services']['set'](_0x5be6ce,_0x42a958),this['listenTo'](_0x42a958,'commentThreadAdded',(_0xea1519,_0x49daf3)=>{const {commentThreadId:_0x521c91,documentId:_0x57bb58,context:_0x516069,attributes:_0x50cf5e,resolvedAt:_0x4769ce,resolvedBy:_0x39bc0e,comments:_0x5e6f93}=_0x49daf3;_0x52a054['getCommentThread'](_0x521c91)||_0x52a054['addCommentThread']({'threadId':_0x521c91,'channelId':_0x57bb58,'comments':_0x5e6f93?_0x5e6f93['map'](_):[],'context':_0x516069,'attributes':_0x50cf5e,'resolvedAt':_0x4769ce,'resolvedBy':_0x39bc0e,'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadUpdated',(_0x44bd6a,{commentThreadId:_0xc54af8,documentId:_0x207516,context:_0x3295e0,unlinkedAt:_0xca3d4b,attributes:_0x5d0e11})=>{_0x52a054['getCommentThread'](_0xc54af8)&&_0x52a054['updateCommentThread']({'threadId':_0xc54af8,'channelId':_0x207516,'context':_0x3295e0,'unlinkedAt':_0xca3d4b,'attributes':_0x5d0e11,'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadResolved',(_0x3a52c4,{commentThreadId:_0x15c655,resolvedBy:_0xfedc88,resolvedAt:_0x57a58e})=>{const _0x222309=_0x52a054['getCommentThread'](_0x15c655);_0x222309&&_0x222309['resolve']({'resolvedBy':_0xfedc88,'resolvedAt':_0x57a58e,'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadReopened',(_0x4bd394,{commentThreadId:_0x462b44})=>{const _0x1b2c51=_0x52a054['getCommentThread'](_0x462b44);_0x1b2c51&&_0x1b2c51['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadRemoved',(_0x5d4552,{commentThreadId:_0x27ceca})=>{const _0x34a8cb=_0x52a054['getCommentThread'](_0x27ceca);_0x34a8cb&&_0x34a8cb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentAdded',(_0x197442,_0x3887fc)=>{const _0xd5b078=_0x3887fc['commentThreadId'],_0x49d70a=_0x52a054['getCommentThread'](_0xd5b078);_0x49d70a&&_0x49d70a['addComment']({..._(_0x3887fc),'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentUpdated',(_0x203fb8,{commentThreadId:_0x493823,commentId:_0x1afe80,content:_0x2f6504,attributes:_0x44a6fc})=>{const _0x242fa7=_0x52a054['getCommentThread'](_0x493823);if(_0x242fa7){const _0x5c188c=_0x242fa7['getComment'](_0x1afe80);_0x5c188c&&_0x5c188c['update']({'content':_0x2f6504,'attributes':_0x44a6fc,'isFromAdapter':!0x0});}}),this['listenTo'](_0x42a958,'commentRemoved',(_0x24d6ec,{commentThreadId:_0x517815,commentId:_0x52ca08})=>{const _0x266a20=_0x52a054['getCommentThread'](_0x517815);if(_0x266a20){const _0x100e22=_0x266a20['getComment'](_0x52ca08);_0x100e22&&_0x100e22['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5be6ce);}['destroy'](){if(this['context']instanceof _0x5dc29c){const _0x28fc02=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x28fc02);}}['_terminateService'](_0x3e68fc){if(!this['_services']['has'](_0x3e68fc))throw new _0x680b76('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3e68fc});this['_getService'](_0x3e68fc)['disconnect'](),this['_services']['delete'](_0x3e68fc);}async['reconnect'](){for(const _0x5c45f3 of this['_services']['keys']())await this['_connectService'](_0x5c45f3);if(this['context']instanceof _0x5dc29c){const _0x2eb870=this['context']['config']['get']('collaboration.channelId'),_0x14a223=this['context']['plugins']['get'](i);_0x14a223['unregister'](_0x2eb870);const _0x2681ea=await this['_services']['get'](_0x2eb870)['getConnectedSessions']();_0x14a223['register'](_0x2eb870,_0x2681ea);}}async['_connectService'](_0xd10859){const {connection:_0x4b4741}=this['context']['plugins']['get'](c),_0x1a0ee6=this['context']['plugins']['get']('CommentsRepository'),_0x2932f1=this['_services']['get'](_0xd10859),_0x95d07f=await _0x2932f1['connect'](_0x4b4741);await this['_fetchMissingUsersForThreads'](_0x95d07f);const _0x328cfb=new Set(Array['from'](_0x1a0ee6['getCommentThreads']({'channelId':_0xd10859}),_0x374bcf=>_0x374bcf['id']));for(const _0x382abb of _0x95d07f)_0x382abb['deletedAt']||_0x328cfb['delete'](_0x382abb['commentThreadId']);for(const _0x54d172 of _0x328cfb)_0x1a0ee6['getCommentThread'](_0x54d172)['remove']({'isFromAdapter':!0x0});for(const _0x5db671 of _0x95d07f){let _0x3c8500=_0x1a0ee6['getCommentThread'](_0x5db671['commentThreadId']);const {commentThreadId:_0x326ff1,context:_0x135637,attributes:_0x4172f0,resolvedBy:_0x4bdd28,resolvedAt:_0x2c16e8,unlinkedAt:_0xa0bac3,deletedAt:_0x4e23dc}=_0x5db671;if(_0x4e23dc)continue;_0x3c8500||(_0x3c8500=_0x1a0ee6['addCommentThread']({'channelId':_0xd10859,'threadId':_0x326ff1,'context':_0x135637,'attributes':_0x4172f0||{},'resolvedBy':_0x4bdd28,'resolvedAt':_0x2c16e8,'unlinkedAt':_0xa0bac3,'isFromAdapter':!0x0}));const _0x1080c6=new Set(Array['from'](_0x3c8500['comments'],_0x275e74=>_0x275e74['id']));for(const _0x467723 of _0x5db671['comments'])_0x1080c6['delete'](_0x467723['commentId']);for(const _0x88cd34 of _0x1080c6)_0x3c8500['getComment'](_0x88cd34)['remove']({'isFromAdapter':!0x0});for(const _0x336836 of _0x5db671['comments']){const _0x5cd4f9=_0x3c8500['getComment'](_0x336836['commentId']);_0x5cd4f9?_0x5cd4f9['content']!==_0x336836['content']&&_0x5cd4f9['update']({'content':_0x336836['content'],'isFromAdapter':!0x0}):_0x3c8500['addComment'](Object['assign'](_(_0x336836),{'isFromAdapter':!0x0}));}}}['_getService'](_0x384fae){if(!this['_services']['has'](_0x384fae))throw new _0x680b76('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x384fae});return this['_services']['get'](_0x384fae);}async['_fetchMissingUsersForThreads'](_0x115f78){const _0x2d1bc8=this['context']['plugins']['get'](_0x209d74),{connection:_0x5a2fd8}=this['context']['plugins']['get'](c),_0x28b8e9=new Set();for(const {resolvedBy:_0x274047,comments:_0x538f40}of _0x115f78){_0x274047&&!_0x2d1bc8['getUser'](_0x274047)&&_0x28b8e9['add'](_0x274047);for(const {userId:_0x5f43e8}of _0x538f40)_0x2d1bc8['getUser'](_0x5f43e8)||_0x28b8e9['add'](_0x5f43e8);}if(0x0===_0x28b8e9['size'])return;const _0x53dd99=await dt['getMany'](_0x5a2fd8,Array['from'](_0x28b8e9));for(const _0x31be64 of _0x53dd99)_0x2d1bc8['getUser'](_0x31be64['id'])||_0x2d1bc8['addUser'](_0x31be64);}}async function S(_0x3ae94a){if('404'!==_0x3ae94a['code'])throw _0x3ae94a;}function ut(_0x30a15b){if((_0x1278ec=_0x30a15b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1278ec['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1278ec['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1278ec;throw _0x30a15b;}function _(_0x4a11f8){return{'threadId':_0x4a11f8['commentThreadId'],'commentId':_0x4a11f8['commentId'],'content':_0x4a11f8['content'],'createdAt':_0x4a11f8['createdAt'],'authorId':_0x4a11f8['userId'],'attributes':_0x4a11f8['attributes']||{}};}class f extends _0x1b15fd{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e217a){super(_0x1e217a);const _0x2ba4b0=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x2ba4b0);}['init'](){const _0x149520=this['editor']['plugins']['get'](c),_0x411e16=this['editor']['plugins']['get']('TrackChangesEditing');return _0x411e16['adapter']={'getSuggestion':async _0x1a54b6=>{await this['_waitForServiceReady']();const _0x2a223d=await this['_trackChangesService']['get'](_0x1a54b6)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x2a223d]),_0x2a223d;},'addSuggestion':async({id:_0x597cbb,type:_0x2155c3,data:_0x2ed69f,originalSuggestionId:_0x29f522,attributes:_0xe67306})=>{await this['_waitForServiceReady']();const _0x39d634={'id':_0x597cbb,'type':_0x2155c3,'data':_0x2ed69f,'originalSuggestionId':_0x29f522,'attributes':_0xe67306},_0x2ad88c=await this['_trackChangesService']['add'](_0x597cbb,_0x2155c3,_0x2ed69f,_0x29f522,_0xe67306)['catch'](_0x6ac64=>{if(ft(_0x6ac64))return new Promise(_0x26eac4=>{this['_bufferedRequests']['set'](_0x597cbb,{'resolve':_0x26eac4,'suggestionData':_0x39d634});});throw _0x6ac64;});return this['_bufferedRequests']['delete'](_0x597cbb),_0x2ad88c;},'updateSuggestion':async(_0x1cfea9,_0x5c8385)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5c8385['state'])return this['_trackChangesService']['update'](_0x1cfea9,_0x5c8385)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1bf512,_0x597733)=>{_0x411e16['hasSuggestion'](_0x597733['id'])&&(_0x411e16['getSuggestion'](_0x597733['id'])['attributes']=_0x597733['attributes']);}),this['_trackChangesService']['connect'](_0x149520['connection'])['then'](_0x4aa26e=>(_0x149520['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4aa26e)['then'](()=>{for(const _0x23f29c of _0x4aa26e){_0x411e16['addSuggestionData'](_0x23f29c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x764ed7=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3d0a88}=this['editor']['plugins']['get'](c),_0x5c0382=await this['_trackChangesService']['connect'](_0x3d0a88);await this['_fetchMissingUsersForThreads'](_0x5c0382);for(const {suggestionData:_0x2b6a33,resolve:_0x5870a9}of this['_bufferedRequests']['values']()){let _0x147c5e=_0x5c0382['find'](_0x3070dd=>_0x3070dd['id']===_0x2b6a33['id']);_0x147c5e||(_0x147c5e=await this['_trackChangesService']['add'](_0x2b6a33['id'],_0x2b6a33['type'],_0x2b6a33['data'],_0x2b6a33['originalSuggestionId'])),_0x5870a9(_0x147c5e);}for(const _0x24e19f of _0x5c0382)_0x764ed7['hasSuggestion'](_0x24e19f['id'])||_0x764ed7['addSuggestionData'](_0x24e19f);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x349ae5=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5856de=>{_0x5856de['off'](),_0x349ae5();});});}async['_fetchMissingUsersForThreads'](_0x37bf17){const _0x2bc51b=this['editor']['plugins']['get'](_0x209d74),{connection:_0x41ee90}=this['editor']['plugins']['get'](c),_0x2727ce=new Set();for(const {authorId:_0xbb9f6c}of _0x37bf17)_0x2bc51b['getUser'](_0xbb9f6c)||_0x2727ce['add'](_0xbb9f6c);if(0x0===_0x2727ce['size'])return;const _0x539d49=await dt['getMany'](_0x41ee90,Array['from'](_0x2727ce));for(const _0x1bfe52 of _0x539d49)_0x2bc51b['getUser'](_0x1bfe52['id'])||_0x2bc51b['addUser'](_0x1bfe52);}}function R(_0x465859){if(ft(_0x465859))return new Promise(()=>{});throw _0x465859;}function ft(_0x5c2fe6){return _0x5c2fe6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c2fe6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x1b15fd{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x19b6a2=this['editor']['plugins']['get'](c),_0x38f9a5=this['editor']['plugins']['get']('CommentsEditing'),_0x4350a0=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x19b6a2,'change:state',(_0x2ca521,_0x24c26f,_0x2ae1f4)=>{_0x38f9a5['isThreadsLoadingPaused']='connected'!==_0x2ae1f4;});}),this['listenTo'](_0x19b6a2,'change:state',(_0x4ca08b,_0xf7cd2b,_0x241cc2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x241cc2);}),_0x4350a0['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x1b15fd{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x1b15fd{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x32768c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x209d74];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bb019){super(_0x1bb019);const _0x1133d2=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x1133d2);}async['init'](){const _0x48513d=this['editor']['plugins']['get'](l),_0x3fe96c=_0x48513d['serverHistory'],_0x4828f2=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3fe96c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x48513d['sessionId']});const _0x14b0c4=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5d04f8=await _0x429c32['isBundleUploaded'](_0x4828f2['connection'],_0x14b0c4);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4b540c})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4b540c)),'updateRevisions':async _0xf7ec4c=>{await this['_waitForServiceReady']();const _0x5949d8=this['_revisionTracker']['currentRevision'];if(_0x5d04f8&&0x1===_0xf7ec4c['length']&&_0xf7ec4c[0x0]['id']===_0x5949d8['id'])return _0xf7ec4c;for(const _0x3093f5 of _0xf7ec4c)_0x3093f5['id']===_0x5949d8['id']&&(_0x3093f5['isEmptyCurrent']=_0x3093f5['fromVersion']===_0x3093f5['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xf7ec4c,this['_lastRequestId'])['then'](_0x30487d=>(this['_lastRequestId']=_0x30487d,_0xf7ec4c))['catch'](_0xf8666e=>{if(U(_0xf8666e)||'400'===_0xf8666e['code']&&void 0x0!==_0xf8666e['data']['wrongRequestId']){for(const _0x20de68 of _0xf7ec4c){!this['_revisionTracker']['repository']['getRevision'](_0x20de68['id'])||this['_revisionTracker']['_bufferUpdate'](_0x20de68['id'],_0x20de68,!0x1);}if(U(_0xf8666e))throw _0xf8666e;return _0xf7ec4c;}throw _0xf8666e;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x57f7fc,{revisionsData:_0xdb41df,requestId:_0x12ed0d})=>{Math['max'](..._0xdb41df['map'](_0x465ca7=>_0x465ca7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xdb41df,_0x12ed0d);}):this['_handleRevisionsUpdate'](_0xdb41df,_0x12ed0d);});const {revisions:_0x72dc48,requestId:_0x457a3c}=await this['_revisionHistoryService']['connect'](_0x4828f2['connection']);_0x4828f2['addToReconnectionStack'](this),this['_lastRequestId']=_0x457a3c,await this['_fetchMissingUsers'](_0x72dc48);for(const _0x45e0e5 of _0x72dc48)this['_revisionTracker']['addRevisionData'](_0x45e0e5);this['listenTo'](_0x48513d,'change:_isConnected',(_0x4c0acb,_0x5c10bd,_0x2badf6)=>{_0x2badf6&&(this['_oldOffset']=_0x48513d['_offset'],_0x4c0acb['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4828f2,'state',_0x5bf17d=>_0x5bf17d===_0x202917['CONNECTED']);}async['reconnect'](){const _0x459224=this['editor']['plugins']['get'](c),_0x5f531d=this['editor']['plugins']['get'](l),_0x27cfee=async()=>{const _0x356f6b=this['_revisionTracker']['currentRevision'],_0x305fa4=_0x356f6b['id'],_0x5b2e8d=_0x305fa4!==_0x5f531d['sessionId'];if(_0x5b2e8d){const _0x409a20=_0x5f531d['_offset']-this['_oldOffset'],_0xb34a77=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x356f6b['toVersion']+_0x409a20!==_0xb34a77){const _0x4fd06d=_0x356f6b['fromVersion']+_0x409a20,_0x489735=this['editor']['plugins']['get'](_0x209d74),_0x3ff95f=this['_revisionTracker']['buildRevisionData']({'revision':_0x356f6b,'from':_0x4fd06d,'to':_0xb34a77});_0x3ff95f['id']=_0x356f6b['id'];const _0x3efd9e=_0x3ff95f['authorsIds']['map'](_0x40fe36=>_0x489735['getUser'](_0x40fe36));_0x356f6b['_update']({..._0x3ff95f,'authors':_0x3efd9e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x356f6b['id'],_0x3ff95f,!0x0);}this['_revisionTracker']['_startingVersion']=_0xb34a77,(_0x356f6b['toVersion']===_0x356f6b['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x305fa4)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x305fa4),this['_revisionTracker']['_createCurrentRevision'](_0xb34a77));}const {revisions:_0x38af9c,requestId:_0x5f2282}=await this['_revisionHistoryService']['reconnect'](_0x459224['connection'],this['_lastRequestId']);_0x5b2e8d&&_0x38af9c['length']>0x0?_0x5f531d['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x38af9c),this['_handleRevisionsUpdate'](_0x38af9c,_0x5f2282),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5f531d['_isConnected']?_0x27cfee():new Promise((_0x411a4c,_0x33449a)=>{_0x5f531d['once']('change:_isConnected',()=>{_0x27cfee()['then'](_0x411a4c)['catch'](_0x33449a);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x396599=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x13f38c=>{_0x13f38c['off'](),_0x396599();});});}['_getLatestVersionFromServerOperations'](){const _0x401d40=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x45358b of _0x401d40)if('marker'!==_0x45358b['type']||_0x45358b['affectsData'])return _0x45358b['baseVersion']+0x1;}['_getLatestVersion'](){const _0xdafde4=this['editor']['plugins']['get'](l);return new Promise(_0x45da88=>{_0xdafde4['_isPendingUpdate']?_0xdafde4['once']('change:_isPendingUpdate',()=>{_0x45da88(this['_getLatestVersionFromServerOperations']());}):_0x45da88(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3fde70,_0x398ac1){const _0x317a50=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x398ac1;for(const _0x1b8855 of _0x3fde70){const _0x462991=_0x317a50['getRevision'](_0x1b8855['id']);if(_0x462991){if((_0x1b8855['fromVersion']||_0x1b8855['toVersion'])&&(_0x1b8855['diffData']=null),_0x462991===this['_revisionTracker']['currentRevision']){const _0x32225a=Math['max'](_0x462991['toVersion'],_0x1b8855['toVersion']),_0x15437e=Math['max'](_0x462991['fromVersion'],_0x1b8855['fromVersion']);let _0x1a3764;_0x462991['toVersion']===_0x1b8855['toVersion']&&_0x462991['fromVersion']===_0x1b8855['fromVersion']?(_0x1a3764=!0x0,this['_preventResendingRevisionData'](_0x1b8855)):_0x1b8855['toVersion']===_0x32225a&&_0x1b8855['fromVersion']===_0x15437e?_0x1a3764=!0x1:(_0x462991['toVersion']===_0x32225a&&_0x462991['fromVersion']===_0x15437e||this['_fixRevision']({'revision':_0x462991,'from':_0x15437e,'to':_0x32225a}),_0x1a3764=!0x0),_0x1a3764&&(delete _0x1b8855['fromVersion'],delete _0x1b8855['toVersion'],delete _0x1b8855['diffData'],delete _0x1b8855['createdAt'],delete _0x1b8855['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1b8855),this['_preventResendingRevisionData'](_0x1b8855);}else this['_revisionTracker']['addRevisionData'](_0x1b8855);}const _0x3fe593=_0x317a50['getRevisions']();_0x3fe593['reverse']();for(let _0x3f649f=0x0;_0x3f649f<_0x3fe593['length']-0x1;_0x3f649f++){const _0x504c4e=_0x3fe593[_0x3f649f],_0x5b5d54=_0x3fe593[_0x3f649f+0x1];if(_0x504c4e['fromVersion']<_0x5b5d54['toVersion']){const _0xc0768=_0x5b5d54['toVersion'],_0x32d80f=Math['max'](_0xc0768,_0x504c4e['toVersion']);this['_fixRevision']({'revision':_0x504c4e,'from':_0xc0768,'to':_0x32d80f});}}}['_fixRevision']({revision:_0x3d2bf3,from:_0x6dfd06,to:_0x55f851}={}){const _0x2f0f7a=this['editor']['plugins']['get'](_0x209d74),_0x3c1ac8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3d2bf3,'from':_0x6dfd06,'to':_0x55f851});_0x3c1ac8['authors']=_0x3c1ac8['authorsIds']['map'](_0x18603f=>_0x2f0f7a['getUser'](_0x18603f)),_0x3d2bf3['_update'](_0x3c1ac8);}['_preventResendingRevisionData'](_0x278f49){const _0x4b8ecc={};_0x4b8ecc['id']=_0x278f49['id'];for(const _0x3088bd of Object['keys'](_0x278f49))'id'!==_0x3088bd&&(_0x4b8ecc[_0x3088bd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4b8ecc['id'],_0x4b8ecc,!0x0);}async['_fetchMissingUsers'](_0xa1efd7){const _0x541341=this['editor']['plugins']['get'](_0x209d74),{connection:_0x38ba85}=this['editor']['plugins']['get'](c),_0x4ef08f=new Set();for(const _0x5e9a19 of _0xa1efd7){for(const _0x486f3d of _0x5e9a19['authorsIds'])_0x36e5a6(_0x486f3d);_0x5e9a19['creatorId']&&_0x36e5a6(_0x5e9a19['creatorId']);}if(0x0===_0x4ef08f['size'])return;const _0x5072ff=await dt['getMany'](_0x38ba85,Array['from'](_0x4ef08f));for(const _0x348117 of _0x5072ff)_0x541341['getUser'](_0x348117['id'])||_0x541341['addUser'](_0x348117);function _0x36e5a6(_0x5d5477){_0x541341['getUser'](_0x5d5477)||_0x4ef08f['add'](_0x5d5477);}}}function U(_0x498c46){return _0x498c46['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x498c46['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x498c46['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1b15fd{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x5864bc{['_collapseAt'];constructor(_0x2d7230,_0x39c0f0=0x6){super(_0x2d7230);const _0x54ce5f=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x39c0f0,this['bind']('isHidden')['to'](this,'usersCount',_0x4c919d=>_0x4c919d<_0x39c0f0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x54ce5f['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':_0x54ce5f['to']('usersCount',_0x33bf3e=>'+'+(_0x33bf3e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x5864bc{['items'];['keystrokes'];constructor(_0x13e5fa){super(_0x13e5fa);const _0x431990=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x45631a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x431990['if']('hasPopup'),'aria-expanded':_0x431990['to']('isExpanded',_0x45d38f=>this['hasPopup']&&String(_0x45d38f)),'aria-label':_0x431990['to']('hasPopup',_0x901b0f=>Q(_0x13e5fa,_0x901b0f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x431990['to']('hasPopup',_0x4f92a1=>!!_0x4f92a1&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x431990['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x431990['to'](_0x2024a2=>{const _0x71a485=_0x2024a2,_0xc0c1d4=document['querySelector']('.ck-presence-list__dropdown-list'),_0x549bc1=document['querySelector']('.ck-balloon-panel_with-arrow');_0xc0c1d4?.['contains'](_0x71a485['relatedTarget'])||_0x549bc1?.['contains'](_0x71a485['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x45a760,_0x3e45a7,_0x9652f)=>{this['element']&&(_0x9652f?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 j extends _0x5864bc{['counterView'];['inlineListView'];constructor(_0x3e3a7e,_0x12de37=0x6){super(_0x3e3a7e);const _0x3af1e2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x12de37),this['inlineListView']=new ts(_0x3e3a7e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3fdfcd of this['inlineListView']['items'])_0x3fdfcd['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',_0x3af1e2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x5864bc{['listWrapperView'];constructor(_0x29d32c,_0x5e450a){super(_0x29d32c);const _0x42f3e6=this['bindTemplate'];this['listWrapperView']=new mt(_0x29d32c,_0x5e450a),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':Q(_0x29d32c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x42f3e6['to'](_0x26f641=>{const _0xbfa36d=_0x26f641,_0xe1430a=document['querySelector']('.ck-presence-list__list'),_0x18ef1f=document['querySelector']('.ck-balloon-panel_with-arrow');_0xe1430a?.['contains'](_0xbfa36d['relatedTarget'])||_0x18ef1f?.['contains'](_0xbfa36d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x22ebb3{constructor(_0x50ad8a,_0x581c24){super(_0x50ad8a);const _0x3167b5=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x581c24?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3167b5['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3167b5['to']('role'),'aria-label':_0x3167b5['to']('ariaLabel'),'aria-labelledby':_0x3167b5['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2ac657['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xfd1dc0=this['element'];_0xfd1dc0&&(this['_isScrollable']=Math['max'](_0xfd1dc0['scrollHeight'],_0xfd1dc0['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x23d236,_0x555414,_0x2578bf){super(_0x23d236);const _0x2e0ea7=this['bindTemplate'];this['userView']=new ct(_0x23d236,_0x555414);const _0x383d80={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x555414['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x555414['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x555414['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2578bf&&(_0x383d80['tag']='button',_0x383d80['on']={'click':_0x2e0ea7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x383d80);}['focus'](){this['element']['focus']();}}class y extends _0x5864bc{['userView'];['markerView'];constructor(_0x26f08d,_0x1ad30b,_0x3c1935){super(_0x26f08d);const _0x370e99=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x26f08d,_0x1ad30b),this['markerView']=new at(_0x26f08d,_0x1ad30b);const _0x815f47=new ot(_0x26f08d);_0x815f47['template']['tag']='span',_0x815f47['text']=_0x1ad30b['name'];const _0x429b3e={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x370e99['to']('isFocusable',_0x471c43=>!!_0x471c43&&0x0),'aria-labelledby':_0x815f47['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x370e99['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x370e99['to']('hasTooltip',_0x394da8=>!_0x394da8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x815f47]};_0x3c1935&&(_0x429b3e['tag']='button',_0x429b3e['on']={'click':_0x370e99['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x429b3e);}}class at extends _0x5864bc{constructor(_0x6c0e8c,_0x4eea26){super(_0x6c0e8c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4eea26['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2da3ca{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e2ec3){super(_0x4e2ec3),this['context']['config']['define']('presenceList',C);const _0xc405ff=_0x4e2ec3['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xc405ff)throw new _0x680b76('presencelist-collapseat-invalid-format',this);if(_0xc405ff<0x1)throw new _0x680b76('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x49727e(),this['balloonPanelView']=new _0x2b47f8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xb62e1d of this['_allConnectedUsers'])this['_handleUserAdd'](_0xb62e1d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1d0e74,_0x15d1b4)=>{this['_handleUserAdd'](_0x15d1b4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2b1939,_0x116504)=>{this['_handleUserRemove'](_0x116504);});}['_createView'](){const _0x30b074=this['context'],_0x1a5869=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xbee852=this['balloonPanelView'];if(!_0xb76a19(_0x30b074['config']['get']('presenceList.container')))throw new _0x680b76('presencelist-missing-container',this);return _0x1a5869['counterView']['bind']('usersCount')['to'](this),_0x1a5869['bind']('isCollapsed')['to'](this,'usersCount',_0x3911d3=>{const {collapseAt:_0x53eafa}=_0x30b074['config']['get']('presenceList'),_0x5f5157=_0x3911d3>=_0x53eafa;if(_0x5f5157&&!_0x1a5869['inlineListView']['items']['find'](_0x450257=>_0x450257 instanceof A)){const _0x4c6a6a=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4c6a6a&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1a5869['inlineListView']['items']['add'](_0x1a5869['counterView']);}return _0x5f5157||this['hideDropdown'](),_0x5f5157;}),_0x1a5869['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xc7bcdc=>{const _0x48eed5=_0x30b074['config']['get']('presenceList'),_0xa2f643=new y(_0x30b074['locale'],_0xc7bcdc,!!_0x48eed5['onClick']);return _0xa2f643['bind']('hasTooltip')['to'](_0x1a5869,'isCollapsed',_0x5ab5d6=>!_0x5ab5d6),_0xa2f643['bind']('isFocusable')['to'](_0x1a5869,'isCollapsed',_0x2cf1d6=>!_0x2cf1d6),_0x48eed5['onClick']&&this['listenTo'](_0xa2f643,'execute',()=>{this['view']['isCollapsed']||_0x48eed5['onClick'](_0xc7bcdc,_0xa2f643['element']);}),_0xa2f643;}),this['listenTo'](_0x1a5869['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1a5869['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1a5869['inlineListView']['keystrokes']['set']('Enter',(_0x496d8b,_0x1c6408)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1c6408());}),_0x1a5869['render'](),_0xbee852['render'](),_0x323cda({'emitter':_0x1a5869,'activator':()=>_0xbee852['isVisible'],'contextElements':[_0xbee852['element'],_0x1a5869['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x30b074['config']['get']('presenceList.container')['appendChild'](_0x1a5869['element']),this['_bodyCollection']=new _0x55c398(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1a5869;}['_handleUserAdd'](_0x18bb49){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x18bb49['isMe'])return;const _0xbce927=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xbce927-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x324529=_0x18bb49['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x18bb49,_0x324529);}['_handleUserRemove'](_0xc1e875){this['usersCount']--;const {collapseAt:_0x5fce8}=this['context']['config']['get']('presenceList'),_0x1195eb=this['usersCount']>=_0x5fce8;if(this['currentDisplayedUsers']['get'](_0xc1e875['id']))this['currentDisplayedUsers']['remove'](_0xc1e875['id']);else{if(_0x1195eb&&this['currentDisplayedUsers']['length']+0x1===_0x5fce8-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1195eb?0x1:0x0)<this['usersCount']){for(const _0x804cb9 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x804cb9['id'])&&(this['currentDisplayedUsers']['add'](_0x804cb9,Math['min'](this['currentDisplayedUsers']['length']-(_0x1195eb?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1195eb?0x1:0x0)===_0x5fce8-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x163a11=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0x163a11['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x21acc9}=this['presenceDropdownView'];_0x21acc9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xd309d9=>{if(!_0x163a11['displayMe']&&_0xd309d9['isMe'])return null;const _0x371263=new k(this['context']['locale'],_0xd309d9,!!_0x163a11['onClick']);return _0x163a11['onClick']&&this['listenTo'](_0x371263,'execute',()=>{_0x163a11['onClick'](_0xd309d9,_0x371263['element']);}),_0x371263;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x21acc9['focus'](),_0x21acc9['checkIfScrollable']();const _0x22db08=(_0xc52489,_0x2cc985)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2cc985();};_0x21acc9['keystrokes']['set']('Esc',_0x22db08),_0x21acc9['keystrokes']['set']('Shift+Tab',_0x22db08),_0x21acc9['keystrokes']['set']('Tab',(_0xd507d,_0x35ef1a)=>{!function(_0x50a49a){const _0x4908e7=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4f5593=>_0x4f5593+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xd68df=[...document['body']['querySelectorAll'](_0x4908e7)]['filter'](_0x5740fd=>_0x5740fd===document['activeElement']||_0x5740fd['offsetWidth']+_0x5740fd['offsetHeight']>0x0)['sort']((_0x23fe92,_0x4cb419)=>(_0x23fe92['tabIndex']||0x0)-(_0x4cb419['tabIndex']||0x0)),_0x3857b2=_0xd68df['indexOf'](_0x50a49a),_0x34728f=_0xd68df[(_0x3857b2+0x1)%_0xd68df['length']];_0x34728f&&_0x34728f['focus']();}(this['view']['element']),this['hideDropdown'](),_0x35ef1a();}),_0x21acc9['focusTracker']['add'](this['view']['element']),_0x21acc9['focusTracker']['on']('change:isFocused',(_0x4c1e51,_0x20476a,_0x4349f9)=>{_0x4349f9||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 s extends _0x2da3ca{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};