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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x2ca0e4,Plugin as _0x3cedf4,PendingActions as _0x2c7793,Context as _0xeab89c}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5e634b,CKEditorError as _0x47d69a,Collection as _0x169e95,global as _0x57e018,version as nt,uid as _0x3b9d52,KeystrokeHandler as _0x173baf}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xf39eb3,View as _0x2e13fe,ListView as _0x28d56f,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x492f0f,clickOutsideHandler as _0x5bf5cb,BodyCollection as _0x4836b2}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x213bf3,History as _0x1b8fbe,NoOperation as _0x7756b1,InsertOperation as _0x1e4880,MarkerOperation as _0x44a562,RootAttributeOperation as _0x3e05e7,transformOperationSets as _0x508aca,OperationFactory as _0x138c8f}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x571479,User as lt,CommentsService as _0x182d4f,TrackChangesService as tt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1a8b9a,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x199655}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2ed5a4}from'es-toolkit/compat';class n extends _0x2ca0e4{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xf39eb3];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x253864){super(_0x253864),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5e634b())();}['init'](){const _0x1a60b3=this['context'],_0xb3de8b=_0x1a60b3['plugins']['get']('CloudServices'),_0x28a83c=_0x1a60b3['plugins']['get'](_0xf39eb3);if(!_0xb3de8b['token'])throw new _0x47d69a('websocketgateway-missing-token',this);if(!_0xb3de8b['webSocketUrl'])throw new _0x47d69a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0xb3de8b['token'],_0xb3de8b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x28de9e=>{if(this['connection']=_0x28de9e,this['bind']('state')['to'](_0x28de9e,'state',this,'_isBrowserOffline',(_0x334010,_0x17fe92)=>('connected'!==_0x334010&&(this['_shouldPluginsReconnect']=!0x0),_0x17fe92||_0x334010!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x197eb6,_0x28a032)=>{if('limitExceeded'!==_0x28a032['code'])throw console['error'](_0x28a032),new _0x47d69a('cloudservices-init',null,{'originalError':_0x28a032});_0x28a83c['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'});}),!_0x28de9e['me'])return new Promise(_0x534fe9=>_0x28de9e['on']('change:me',_0x534fe9));})['catch'](_0x31b704=>{throw console['error'](_0x31b704),new _0x47d69a('cloudservices-init',null,{'originalError':_0x31b704});});}['addToReconnectionStack'](_0x39b037){if('function'!=typeof _0x39b037['reconnect'])throw new _0x47d69a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x39b037))throw new _0x47d69a('websocketgateway-plugin-already-registered',this,{'name':_0x39b037['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x39b037);}['removeFromReconnectionStack'](_0x501134){this['_reconnectionStack']['delete'](_0x501134);}['isInReconnectionStack'](_0x45793c){return this['_reconnectionStack']['has'](_0x45793c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2356c0=>_0x2356c0['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x2c0c52=>{throw console['error'](_0x2c0c52),new _0x47d69a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2ca0e4{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x1a8b9a];}constructor(_0x233b51){super(_0x233b51),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x169e95(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1a8b9a);}['init'](){const _0x4fbff9=this['context']['plugins']['get'](n);this['listenTo'](_0x4fbff9,'change:state',(_0x2f68d5,_0x289a11,_0x12e07a)=>{if('connected'!==_0x12e07a)this['channelSessions']['forEach'](_0x4fb166=>_0x4fb166['clear']()),this['channelConnectedUsers']['forEach'](_0x30ed83=>_0x30ed83['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xd99a29,_0x54f477]of this['_registeredSessions'])for(const _0x2ca33c of _0x54f477)this['_handleSessionAdd'](_0xd99a29,_0x2ca33c);}}),this['_createUser'](_0x4fbff9['connection']['me'],!0x0);}['register'](_0x159017,_0x4f2b97){if(this['_registeredSessions']['has'](_0x159017))throw new _0x47d69a('sessions-register-already-registered',null,{'channelId':_0x159017});this['_registeredSessions']['set'](_0x159017,_0x4f2b97),this['channelSessions']['set'](_0x159017,new _0x169e95()),this['channelConnectedUsers']['set'](_0x159017,new _0x169e95()),this['listenTo'](_0x4f2b97,'add',(_0xe049a5,_0x538b20)=>this['_handleSessionAdd'](_0x159017,_0x538b20)),this['listenTo'](_0x4f2b97,'remove',(_0x5a2c57,_0xdf649e)=>this['_handleSessionRemove'](_0x159017,_0xdf649e));for(const _0xb5d2f2 of _0x4f2b97)this['_handleSessionAdd'](_0x159017,_0xb5d2f2);}['unregister'](_0x5bd931){if(!this['_registeredSessions']['has'](_0x5bd931))throw new _0x47d69a('sessions-unregister-not-exist',null,{'channelId':_0x5bd931});const _0x559f82=this['_registeredSessions']['get'](_0x5bd931);this['stopListening'](_0x559f82);for(const _0x369918 of _0x559f82)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5bd931,_0x369918);this['_registeredSessions']['delete'](_0x5bd931),this['channelSessions']['delete'](_0x5bd931),this['channelConnectedUsers']['delete'](_0x5bd931);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x8cda0d){for(const _0x4867ce of this['channelSessions']['values']())for(const _0x5f2bf7 of _0x4867ce)if(_0x5f2bf7['id']===_0x8cda0d)return _0x5f2bf7['user'];}['getUserSessions'](_0x28d744,_0x4ba4de){const _0x4d852b=_0x4ba4de?[this['channelSessions']['get'](_0x4ba4de)]:this['channelSessions']['values'](),_0xfd4726=new Set();for(const _0x5bc2b9 of _0x4d852b)for(const _0x2499bf of _0x5bc2b9)_0x2499bf['user']['id']===_0x28d744['id']&&_0xfd4726['add'](_0x2499bf['id']);return _0xfd4726;}['getUserRole'](_0x1fa9ef){for(const _0x37f81a of this['channelSessions']['values']())for(const _0xfd156 of _0x37f81a)if(_0xfd156['user']===_0x1fa9ef)return _0xfd156['role'];}['_handleSessionAdd'](_0x38ce47,_0x410ba4){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x32a2dc=_0x410ba4['user'],_0x3bc00d=this['_users']['getUser'](_0x32a2dc['id'])||this['_createUser'](_0x32a2dc),_0x1daa19=Object['assign']({},_0x410ba4,{'user':_0x3bc00d});if(this['channelSessions']['get'](_0x38ce47)['add'](_0x1daa19),!_0x32a2dc['hiddenInPresenceList']){const _0xd29cb0=this['channelConnectedUsers']['get'](_0x38ce47);_0xd29cb0['has'](_0x3bc00d['id'])||_0xd29cb0['add'](_0x3bc00d),this['allConnectedUsers']['has'](_0x3bc00d['id'])||_0x32a2dc['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3bc00d,_0x3bc00d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x38ce47,{'channelId':_0x38ce47,'session':_0x1daa19});}['_handleSessionRemove'](_0x4c988e,_0x257e96){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x504140=this['channelConnectedUsers']['get'](_0x4c988e),_0x29e1e0=_0x257e96['user'];_0x29e1e0['id']&&(this['channelSessions']['get'](_0x4c988e)['remove'](_0x257e96['id']),_0x504140['has'](_0x29e1e0['id'])&&!this['getUserSessions'](_0x29e1e0,_0x4c988e)['size']&&_0x504140['remove'](_0x29e1e0['id']),this['allConnectedUsers']['get'](_0x29e1e0['id'])&&!this['getUserSessions'](_0x29e1e0)['size']&&this['allConnectedUsers']['remove'](_0x29e1e0['id']));}['_createUser'](_0x5aac1b,_0x5e3dbe){const _0x5a78e8=this['_users']['addUser'](_0x5aac1b);return _0x5e3dbe&&this['_users']['defineMe'](_0x5aac1b['id']),_0x5a78e8['orderNumber']=this['_uniqueUsersCount']++,_0x5a78e8;}}class H extends _0x3cedf4{['_domEmitter']=new(_0x5e634b())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2fe8b5=this['editor'],_0x1b8118=_0x2fe8b5['plugins']['get'](i);_0x2fe8b5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x37d403,{writer:_0x441e02})=>function(_0x2a2b1d,_0x5b5dfb,_0x397a49,_0x21cb3e){const _0x20ef53=_0x2a2b1d['markerName']['split'](':')[0x2],_0x420abf=_0x397a49['getUserBySessionId'](_0x20ef53);if(!_0x420abf||_0x20ef53===_0x397a49['mySessionId'])return;if(!_0x21cb3e['model']['schema']['checkChild'](_0x2a2b1d['markerRange']['start'],'$text'))return;const _0x146e33={'class':'ck-user__marker\x20'+_0x420abf['color']['getMarkerClass'](),'data-name':_0x420abf['name'],'data-session-id':_0x20ef53},_0x5d218c=_0x21cb3e['model']['markers']['get'](_0x2a2b1d['markerName']),_0x33a3b0=_0x5d218c['getStart'](),_0x1ec5c3=_0x33a3b0['nodeAfter'],_0x473ab0=_0x21cb3e['model']['schema'];if(_0x1ec5c3&&_0x473ab0['isObject'](_0x1ec5c3)&&_0x473ab0['isInline'](_0x1ec5c3)&&!_0x21cb3e['model']['markers']['get']('user:range:'+_0x20ef53)['getRange']()['isCollapsed'])return;const _0x14e40d=_0x33a3b0['parent'];return _0x21cb3e['model']['schema']['isLimit'](_0x14e40d)&&!_0x21cb3e['model']['hasContent'](_0x14e40d)&&(_0x146e33['contenteditable']=!0x1),function(_0x3fa5ff,_0x480705,_0x3916d9){const _0x3f35a9=_0x3fa5ff['createUIElement']('span',_0x480705);return _0x3fa5ff['setCustomProperty']('userPositionMarker',!0x0,_0x3f35a9),_0x3f35a9['render']=function(_0x3b3f41){const _0x4b7153=this['toDomElement'](_0x3b3f41),_0x3d0f81=document['createElement']('span');return _0x3d0f81['classList']['add']('ck-user__marker-tooltip'),_0x3d0f81['setAttribute']('contenteditable','false'),_0x3d0f81['setAttribute']('spellcheck','false'),_0x3d0f81['textContent']=_0x3916d9['name'],_0x4b7153['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3d0f81['outerHTML']+'⁠',_0x4b7153['addEventListener']('mouseenter',()=>{_0x4b7153['classList']['add']('ck-user__marker_hovered');}),_0x4b7153['addEventListener']('mouseleave',()=>{_0x4b7153['classList']['remove']('ck-user__marker_hovered');}),_0x4b7153;},_0x3f35a9['isSimilar']=function(_0x2ebbd3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2ebbd3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2ebbd3['getAttribute']('data-session-id'));},_0x3f35a9;}(_0x5b5dfb,_0x146e33,_0x420abf);}(_0x37d403,_0x441e02,_0x1b8118,_0x2fe8b5)}),_0x2fe8b5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4191ae=>function(_0x1d254a,_0x5c5b9a){const _0x3e4837=_0x1d254a['markerName']['split'](':')[0x2];if(_0x3e4837===_0x5c5b9a['mySessionId'])return null;const _0x4aeffa=_0x5c5b9a['getUserBySessionId'](_0x3e4837);if(!_0x4aeffa)return{'id':_0x3e4837,'classes':[]};return{'id':_0x3e4837,'classes':['ck-user__selection',_0x4aeffa['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3e4837},'priority':0x7d0+_0x4aeffa['orderNumber']};}(_0x4191ae,_0x1b8118)}),function(_0x4e3907){const _0x489a4b=_0x4e3907['model'],_0x15962e=new Map(),_0x1ea2b7=_0x4e3907['plugins']['get'](i);_0x489a4b['markers']['on']('update:user:range',(_0x195360,_0x3d2491,_0x2aacbf,_0x450097)=>{if(!_0x450097&&_0x15962e['get'](_0x3d2491['name']))return _0x15962e['get'](_0x3d2491['name'])['detach'](),void _0x15962e['delete'](_0x3d2491['name']);const _0x59d52c=_0x3d2491['name']['split'](':')[0x2];if(_0x59d52c===_0x1ea2b7['mySessionId'])return;const _0x2f1ffc='user:position:'+_0x59d52c;_0x489a4b['markers']['has'](_0x2f1ffc)&&_0x4e3907['editing']['reconvertMarker'](_0x2f1ffc),_0x3d2491['on']('change:range',(_0x25a9d7,_0x818f7a,_0x1066d7)=>{if('$graveyard'!=_0x818f7a['root']['rootName']&&'$graveyard'==_0x3d2491['getRange']()['root']['rootName']&&!_0x15962e['has'](_0x3d2491['name'])){const _0x383144=_0x489a4b['schema']['getNearestSelectionRange'](_0x1066d7['deletionPosition']);if(_0x383144){const _0x4cc38f=_0x213bf3['fromRange'](_0x383144);_0x15962e['set'](_0x3d2491['name'],_0x4cc38f),_0x4cc38f['on']('change:range',(_0x3442fe,_0x58ac2e,_0x52c602)=>{if('$graveyard'==_0x4cc38f['root']['rootName']){const _0x20a2e7=_0x489a4b['schema']['getNearestSelectionRange'](_0x52c602['deletionPosition']);_0x20a2e7?(_0x4cc38f['start']=_0x20a2e7['start'],_0x4cc38f['end']=_0x20a2e7['end']):(_0x15962e['delete'](_0x3d2491['name']),_0x4cc38f['detach']());}});}}});}),_0x489a4b['document']['on']('change',()=>{_0x15962e['size']>0x0&&_0x489a4b['enqueueChange']({'isUndoable':!0x1},_0xac7f6a=>{for(const [_0x3a597e,_0x11d35c]of _0x15962e)'$graveyard'==_0x489a4b['markers']['get'](_0x3a597e)['getRange']()['root']['rootName']&&(Z(_0x3a597e['split'](':')[0x2],_0x11d35c['toRange'](),_0x489a4b,_0xac7f6a),_0x11d35c['detach']());_0x15962e['clear']();});});}(_0x2fe8b5),this['_domEmitter']['listenTo'](_0x57e018['document'],'keydown',(_0x49fa88,{key:_0x4ae9dc})=>{'Escape'===_0x4ae9dc&&function(_0x151a1f){_0x151a1f['editing']['view']['change'](_0x113534=>{for(const _0x554764 of _0x151a1f['model']['markers']){if(!_0x554764['name']['startsWith']('user:position'))continue;const _0x486e7b=_0x151a1f['editing']['mapper']['markerNameToElements'](_0x554764['name']);if(_0x486e7b){for(const _0x40872d of _0x486e7b)_0x113534['removeClass']('ck-user__marker_hovered',_0x40872d);}}});}(_0x2fe8b5);},{'useCapture':!0x0});}['afterInit'](){const _0x5b1b4a=this['editor'],_0x4065a4=_0x5b1b4a['commands']['get']('undo');_0x4065a4&&_0x5b1b4a['model']['on']('applyOperation',(_0x29fe2a,_0x1127a4)=>{const _0x18272f=_0x1127a4[0x0];if(!_0x18272f['isDocumentOperation'])return;if('marker'!=_0x18272f['type']||!_0x18272f['name']['startsWith']('user:'))return;const _0x1de315=_0x18272f['batch'];_0x4065a4['_createdBatches']['has'](_0x1de315)&&(_0x18272f['newRange']=_0x18272f['oldRange']?_0x5b1b4a['model']['createRange'](_0x18272f['oldRange']['start'],_0x18272f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4f7d4c=this['editor'],_0x26d4dc=_0x4f7d4c['model']['document'],_0x546602=_0x4f7d4c['plugins']['get'](i);_0x4f7d4c['model']['enqueueChange']({'isUndoable':!0x1},_0x2b66a0=>{const _0x4243a6='user:range:'+_0x546602['mySessionId'],_0x4250ae='user:position:'+_0x546602['mySessionId'],_0x22351c=_0x4f7d4c['model']['markers']['has'](_0x4243a6);_0x4f7d4c['editing']['view']['hasDomSelection']?Z(_0x546602['mySessionId'],_0x26d4dc['selection']['getFirstRange'](),_0x4f7d4c['model'],_0x2b66a0):_0x22351c&&(_0x2b66a0['removeMarker'](_0x4243a6),_0x2b66a0['removeMarker'](_0x4250ae));});}}function Z(_0x47face,_0x58940d,_0x2bf963,_0x25a2fe){const _0x1e82bc='user:range:'+_0x47face,_0x489fce='user:position:'+_0x47face,_0x1d1ecc=_0x58940d['getContainedElement']();let _0x221a11=_0x58940d['start'];if(_0x1d1ecc&&_0x1d1ecc['is']('element','tableCell')){const _0x1a3330=function(_0x37ae88,_0x1bf155){for(const _0x1ab2c3 of _0x37ae88['getPositions']())if(_0x1bf155['schema']['checkChild'](_0x1ab2c3,'$text'))return _0x1ab2c3;}(_0x58940d,_0x2bf963);_0x1a3330&&(_0x221a11=_0x1a3330,_0x58940d=_0x25a2fe['createRange'](_0x221a11));}const _0x472029=_0x25a2fe['createRange'](_0x221a11);_0x2bf963['markers']['has'](_0x1e82bc)?(_0x25a2fe['updateMarker'](_0x1e82bc,{'range':_0x58940d}),_0x25a2fe['updateMarker'](_0x489fce,{'range':_0x472029})):(_0x25a2fe['addMarker'](_0x1e82bc,{'range':_0x58940d,'usingOperation':!0x0}),_0x25a2fe['addMarker'](_0x489fce,{'range':_0x472029,'usingOperation':!0x0}));}function V(_0x5fc696,_0x598e08,_0x44c61a){const _0x18c3e9=_0x5fc696['t'],t=_0x5fc696['t'];switch(_0x598e08){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 _0x18c3e9({'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'},_0x44c61a);default:return'';}}let G=0x1;class l extends _0x3cedf4{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x571479)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x2c7793,_0x1a8b9a,_0xf39eb3];}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 _0x1be0cb=this['serverHistory']['getOperations']();for(let _0x28908a=_0x1be0cb['length']-0x1;_0x28908a>=0x0;_0x28908a--){const _0x3a37bc=_0x1be0cb[_0x28908a];if(!this['_disconnectionOperations']['has'](_0x3a37bc))return _0x3a37bc['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5648ae){if(super(_0x5648ae),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1b8fbe(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x47d69a('collaboration-missing-channelid',this);const _0x106ee8=_0x5648ae['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x106ee8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x199655(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x4610fb=this['editor'],_0x46aefb=_0x4610fb['plugins']['get'](_0x1a8b9a),_0xc5a6e=_0x4610fb['plugins']['get'](n);this['listenTo'](_0x46aefb,'getOperationAuthor',(_0x561132,_0x25ac02)=>{const _0x220a12=_0x25ac02[0x0];_0x220a12['_authorId']&&(_0x561132['return']=_0x46aefb['getUser'](_0x220a12['_authorId']),_0x561132['stop']()),null===_0x220a12['_authorId']&&(_0x561132['return']=null,_0x561132['stop']());},{'priority':'high'}),this['listenTo'](_0x4610fb['model']['document']['selection'],'change:range',(_0x554fd6,_0x1a28cb)=>{_0x1a28cb['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4610fb['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4610fb['model']['on']('applyOperation',(_0x10676d,_0x43f32d)=>{const _0x2aff56=_0x43f32d[0x0];_0x2aff56['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2aff56),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xc5a6e,'state',this,'_hasSynchronizationProblem',(_0x22a74e,_0x4f56ee)=>'connected'===_0x22a74e&&!_0x4f56ee),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4610fb['disableReadOnlyMode']('rtc-offline'):_0x4610fb['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4610fb['disableReadOnlyMode']('rtc-offline'):_0x4610fb['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x8e7210=this['editor']['plugins']['get'](i),_0x23d221=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x8e7210['unregister'](this['_channelId']);const _0x283668=await this['_service']['reconnect'](_0x23d221['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x283668)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1aa88b=await this['_service']['getConnectedSessions']();_0x8e7210['register'](this['_channelId'],_0x1aa88b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x17fe9d){if(function(_0x249f13){return'404'===_0x249f13['code'];}(_0x17fe9d)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x385b7b){return'409'===_0x385b7b['code'];}(_0x17fe9d)){const _0x501b7b=V(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'](_0x501b7b);}else{if(!(_0x17fe9d instanceof $))throw _0x17fe9d;this['_handleReconnectionError']();}}}}['destroy'](){const _0x55189=this['editor']['plugins']['get'](n),_0xfaf7b8=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xfaf7b8['channelSessions']['has'](this['_channelId'])&&_0xfaf7b8['unregister'](this['_channelId']),_0x55189['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1a0c8c){if(this['sessionId']!==_0x1a0c8c['sessionId']&&this['_lastSyncedOperationId']!==_0x1a0c8c['lastOperationId'])throw new $();return this['sessionId']=_0x1a0c8c['sessionId'],this['_handleServerResponse']([],{..._0x1a0c8c,'wereChangesApplied':!0x1,'data':_0x1a0c8c['data']},'reconnect');}async['_connectService'](_0xc81c6d,_0x4ea7dc=!0x1){const {connection:_0x6691b8}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x6691b8,this['_channelId'])['then'](_0x27ce5d=>this['_initSessionsHandling'](_0x27ce5d))['catch'](_0x4132ca=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4132ca);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x6d330e,_0x2d7bc7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2d7bc7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xe763fe=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xc81c6d);this['_isPendingUpdate']=!0x0;const _0x51e365=await this['_service']['connect'](_0x6691b8,this['_compressOperations'](_0xc81c6d),_0xe763fe);if(this['sessionId']=_0x51e365['sessionId'],_0x4ea7dc){if(!_0x51e365['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x51e365['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xc81c6d,_0x51e365,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x51e365,_0xc81c6d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1ab84b=this['editor']['plugins']['get'](i),_0x2e1957=this['editor']['plugins']['get'](H),_0xc6c3f3=_0x1ab84b['channelSessions']['get'](this['_channelId']);_0xc6c3f3&&_0xc6c3f3['length']>0x1?_0x2e1957['createUserMarkerOperations']():this['listenTo'](_0x1ab84b,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1ab84b['channelSessions']['get'](this['_channelId'])['length']&&_0x2e1957['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2afa20,_0x2203c3,_0x23c111,_0x16b0c9){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2203c3){const _0x2c076b=this['_decompressOperations'](_0x23c111,_0x16b0c9);await this['_fetchMissingUsers'](_0x2c076b),this['_handleExternalOperations'](_0x2c076b,_0x2203c3,_0x23c111['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x524d2c}=this['editor'];let _0x51e3c2;try{_0x51e3c2=await this['_service']['getDocumentDetails']();}catch{const _0x521ddd=V(_0x524d2c,'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'](_0x521ddd);}const _0x24a4a6=_0x51e3c2['currentDocumentSession']||_0x51e3c2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x24a4a6['lastOperationId']){const _0x258ade=V(_0x524d2c,'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'](_0x258ade);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3be78d){const _0x4b348a=this['editor']['plugins']['get'](i);this['listenTo'](_0x4b348a,'sessionAdd:'+this['_channelId'],(_0x51b461,{session:_0x973da})=>{if(_0x973da['id']===_0x4b348a['mySessionId']){_0x51b461['off']();const _0x5b97da=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x12f435=_0x973da['permissions'];_0x5b97da&&_0x5b97da['isEnabled']&&(_0x12f435=_0x12f435['filter'](_0x1a5211=>'document:write'!==_0x1a5211)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x12f435,this['_channelId']);}}),_0x4b348a['register'](this['_channelId'],_0x3be78d);}['_initThrowingOnDataSet'](){const _0x2e750a=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56b6a1)=>{if(!_0x56b6a1[_0x56b6a1['length']-0x1]['suppressErrorInCollaboration'])throw new _0x47d69a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2e750a['apply'](this['editor']['data'],_0x56b6a1);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2c0cd8,[_0x16b902])=>{if(this['_document']['version'])throw new _0x47d69a('realtimecollaborationclient-init-document-already-initialized',this);_0x2c0cd8['stop'](),this['_setPendingAction']();const _0x27766e=this['editor']['config']['get']('rootsAttributes'),_0x19a246=this['_getOperationsFromInitData'](_0x16b902,_0x27766e);0x0==_0x19a246['length']&&_0x19a246['push'](new _0x7756b1(0x0)),_0x2c0cd8['return']=this['_connectService'](_0x19a246)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2f2350=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2f2350))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4dfcd4,[_0x29eb01,_0x57647b])=>{_0x4dfcd4['stop']();const _0x22c6d5=this['editor']['model']['document']['getRoot'](_0x29eb01);if(!this['_knownRootNames']['has'](_0x29eb01)){const _0x42581c=_0x57647b&&_0x57647b['data']?_0x57647b['data']:'',_0x4674cd=_0x57647b&&_0x57647b['attributes']?_0x57647b['attributes']:{};await this['_loadRoot'](_0x29eb01,_0x42581c,_0x4674cd);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x22c6d5['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x22c6d5);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x1928d1){const _0x114ac5=this['editor']['plugins']['get'](_0x1a8b9a),{connection:_0x2bc4b4}=this['editor']['plugins']['get'](n),_0x45ee17=new Set();for(const _0x198bf4 of _0x1928d1){const _0x2b92b1=_0x198bf4['_authorId'];_0x2b92b1&&!_0x114ac5['getUser'](_0x2b92b1)&&_0x45ee17['add'](_0x2b92b1);}if(0x0===_0x45ee17['size'])return;const _0xc1f1b0=await lt['getMany'](_0x2bc4b4,Array['from'](_0x45ee17));for(const _0x3a3566 of _0xc1f1b0)_0x114ac5['getUser'](_0x3a3566['id'])||_0x114ac5['addUser'](_0x3a3566);}['_getOperationsFromInitData'](_0x3befdd,_0x222b24={}){const _0x2edb82=this['editor']['model'],_0x5af88d=[];let _0xb512fc=0x0;const _0x16c59c='string'==typeof _0x3befdd?{'main':_0x3befdd}:_0x3befdd;for(const _0x5d15b2 of Object['keys'](_0x16c59c)){if(!this['_document']['roots']['has'](_0x5d15b2))throw new _0x47d69a('realtimecollaborationclient-init-non-existent-root',this);const _0x36a615=this['editor']['data']['parse'](_0x16c59c[_0x5d15b2]),_0x510b8a=this['_document']['getRoot'](_0x5d15b2),_0x39845a=new _0x1e4880(_0x2edb82['createPositionAt'](_0x510b8a,0x0),_0x36a615,_0xb512fc++);_0x5af88d['push'](_0x39845a);for(const [_0x94e074,_0xaab26e]of _0x36a615['markers']){const _0x102855=_0x2edb82['createRange'](_0x2edb82['createPositionFromPath'](_0x510b8a,_0xaab26e['start']['path']['slice']()),_0x2edb82['createPositionFromPath'](_0x510b8a,_0xaab26e['end']['path']['slice']())),_0x18992d=new _0x44a562(_0x94e074,null,_0x102855,_0x2edb82['markers'],!0x0,_0xb512fc++);_0x5af88d['push'](_0x18992d);}}if(_0x222b24)for(const [_0x208e88,_0x44cbc7]of Object['entries'](_0x222b24)){const _0x4ba016=_0x2edb82['document']['getRoot'](_0x208e88);if(!_0x4ba016)throw new _0x47d69a('multi-root-editor-root-attributes-no-root',null);for(const [_0x48c122,_0x549a87]of Object['entries'](_0x44cbc7))if(null!==_0x549a87){const _0x40291b=new _0x3e05e7(_0x4ba016,_0x48c122,null,_0x549a87,_0xb512fc++);_0x5af88d['push'](_0x40291b);}}return _0x5af88d;}async['_loadRoot'](_0x4c8463,_0x1c0a77,_0xaf80b5){this['_getOperationsFromInitData']({[_0x4c8463]:_0x1c0a77},{[_0x4c8463]:_0xaf80b5})['forEach']((_0x5f2050,_0x4ad78d)=>{_0x5f2050['baseVersion']=this['_document']['version']+_0x4ad78d,_0x5f2050['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5f2050);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5907dd,_0x36a734){let _0x55e955;this['_offset']=_0x5907dd['offset'];const _0x31a4a9=_0x5907dd['wereChangesApplied']&&!_0x5907dd['initData'],_0x497a76=_0x31a4a9?0x0:_0x5907dd['data']['baseVersion'];if(_0x36a734['forEach'](_0x1fdc7f=>{_0x1fdc7f['_isInit']=!0x0,_0x1fdc7f['createdAt']=_0x5907dd['sessionCreatedAt'],_0x1fdc7f['_authorId']=null;}),_0x31a4a9)_0x55e955=_0x36a734,this['_applyOperationsSet'](_0x55e955,_0x31a4a9);else{if(_0x5907dd['initData']){const _0x23554e=this['_getOperationsFromInitData'](_0x5907dd['initData']);this['_document']['history']['version']=-_0x23554e['length'],_0x23554e['forEach'](_0x1ec52f=>{_0x1ec52f['baseVersion']-=_0x23554e['length'],_0x1ec52f['createdAt']=_0x5907dd['sessionCreatedAt'],_0x1ec52f['_isInit']=!0x0,_0x1ec52f['_authorId']=null;}),this['_applyOperationsSet'](_0x23554e,!0x0),this['serverHistory']['version']=-_0x23554e['length']+this['_offset'],this['_updateServerHistory'](_0x23554e);}this['_document']['history']['version']=_0x497a76,_0x55e955=this['_decompressOperations'](_0x5907dd['data'],_0x5907dd['metadata']),await this['_fetchMissingUsers'](_0x55e955),this['_applyOperationsSet'](_0x55e955,_0x31a4a9);}_0x5907dd['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x55e955,_0x5907dd['lastOperationId']),this['_lastSyncedOperationId']=_0x5907dd['lastOperationId']),this['serverHistory']['version']=_0x497a76+this['_offset'],this['_updateServerHistory'](_0x55e955),_0x36a734['filter'](_0x147ba6=>{const _0x508aba=this['_getAffectedRoot'](_0x147ba6);return _0x508aba&&!this['_knownRootNames']['has'](_0x508aba);})['forEach']((_0x54bec8,_0x120515)=>{_0x54bec8['baseVersion']=this['_document']['version']+_0x120515,this['_saveOperationInBuffer'](_0x54bec8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x54caf3,_0x323d38){const _0x1d3c4b=_0x323d38&&_0x323d38['message'];if(_0x1d3c4b&&_0x1d3c4b['startsWith']('realtimecollaborationclient'))throw _0x323d38;const _0x42a665=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x42a665['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x47d69a(_0x54caf3,this['editor'],_0x1d3c4b?{'originalError':_0x1d3c4b}:void 0x0);}['_saveOperationInBuffer'](_0x2869c7){this['_knownOperations']['has'](_0x2869c7)||(this['_knownOperations']['add'](_0x2869c7),this['_bufferedOperations']['push'](_0x2869c7),this['_pendingAction']||'marker'==_0x2869c7['type']&&!_0x2869c7['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3a5c4c=!0x1){!_0x3a5c4c&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4ae872=>{_0x4ae872&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x258914=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5859b5){return _0x5859b5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5859b5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5859b5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x258914)||this['_crash'](_0x258914['message'],_0x258914);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x18f0ce=>{this['on']('change:_isPendingUpdate',()=>{_0x18f0ce();});});}async['_sendBufferedOperations'](){const _0x5e3635=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x5e3635['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x45113b=[...this['_bufferedOperations']];for(const _0x53431e of _0x45113b)_0x53431e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x53431e);const _0x29fa65=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x45113b),_0x29f561=G++,_0xd620be=this['_compressOperations'](_0x45113b),_0x3f3b2f=await this['_service']['sendOperations'](_0xd620be,_0xd620be['baseVersion'],_0x29fa65);try{return await this['_handleServerResponse'](_0x45113b,_0x3f3b2f,_0x29f561);}catch(_0x17bc5c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x17bc5c);}}async['_handleServerResponse'](_0x131d78,_0x31abc3,_0x50a8a0){if('error'in _0x31abc3)throw _0x31abc3['error'];let _0x14826a=!0x1;if(_0x31abc3['wereChangesApplied']){_0x31abc3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x31abc3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x19f0d4=>!_0x131d78['includes'](_0x19f0d4));for(const _0x2e72c3 of _0x131d78)_0x2e72c3['createdAt']='lastOperationAcceptedAt'in _0x31abc3&&_0x31abc3['lastOperationAcceptedAt']||void 0x0;K(_0x131d78,_0x31abc3['version']-_0x131d78['length']),this['_updateServerHistory'](_0x131d78);const _0x593392=_0x131d78['filter'](_0x47c1ef=>{if(!_0x47c1ef['_isInit'])return!0x1;const _0x52a3e8=this['_getAffectedRoot'](_0x47c1ef);return _0x52a3e8&&!this['_knownRootNames']['has'](_0x52a3e8);});K(_0x593392,this['_document']['version']),this['_applyOperationsSet'](_0x593392),_0x14826a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5a8a4c=this['_decompressOperations'](_0x31abc3['data'],_0x31abc3['metadata'])['filter'](_0x218560=>_0x218560['baseVersion']>=this['_lastServerVersion']);_0x5a8a4c['forEach'](_0x184f09=>this['_addKnownRoot'](_0x184f09)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5652e8=>!_0x5652e8['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5652e8))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5a8a4c),_0x14826a=this['_handleExternalOperations'](_0x5a8a4c,_0x31abc3['version'],_0x31abc3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x14826a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x2182a7,_0x227846,_0x5d2622){try{const _0x3c6b4f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x251cf4,operationsB:_0x5e8dd8,originalOperations:_0x45af3e}=_0x508aca(_0x2182a7,this['_bufferedOperations'],_0x3c6b4f);K(_0x251cf4,this['_document']['version']),K(_0x5e8dd8,_0x227846);for(const _0x5ce1f9 of _0x251cf4){const _0x31cfda=_0x45af3e['get'](_0x5ce1f9);_0x5ce1f9['_authorId']=_0x31cfda?_0x31cfda['_authorId']:null;}_0x5d2622&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2182a7,_0x5d2622),this['_lastSyncedOperationId']=_0x5d2622),this['_bufferedOperations']=[..._0x5e8dd8],this['_applyOperationsSet'](_0x251cf4),this['_updateServerHistory'](_0x2182a7);}catch(_0x13d401){return console['error'](_0x13d401),!0x1;}return!0x0;}['_applyOperationsSet'](_0x71161f,_0x5cee7d=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xbe6ae5=>{for(const _0x1a1c06 of _0x71161f)this['_knownOperations']['add'](_0x1a1c06),this['_addKnownRoot'](_0x1a1c06),_0xbe6ae5['batch']['addOperation'](_0x1a1c06),this['editor']['model']['applyOperation'](_0x1a1c06);});}['_addKnownRoot'](_0x36546a){const _0x41cacb=this['_getAffectedRoot'](_0x36546a);_0x41cacb&&this['_knownRootNames']['add'](_0x41cacb);}['_getAffectedRoot'](_0x340eec){let _0x4a411e,_0x61915b;switch(_0x340eec['type']){case'insert':_0x4a411e=_0x340eec['position']['root'];break;case'marker':if(_0x61915b=_0x340eec['newRange'],!_0x61915b)return null;_0x4a411e=_0x61915b['root'];break;case'addRootAttribute':_0x4a411e=_0x340eec['root'];break;case'addRoot':_0x4a411e=_0x340eec['affectedSelectable'];break;case'move':_0x4a411e=_0x340eec['targetPosition']['root'];break;default:return null;}return _0x4a411e['rootName'];}['_updateServerHistory'](_0x17c13a){_0x17c13a['forEach'](_0x162d58=>{const _0x4f4107=_0x162d58['clone']();_0x4f4107['_authorId']=_0x162d58['_authorId'],_0x4f4107['_isInit']=!!_0x162d58['_isInit'],_0x4f4107['createdAt']=_0x162d58['createdAt'],_0x4f4107['baseVersion']+=this['_offset'],_0x162d58['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4f4107),this['serverHistory']['addOperation'](_0x4f4107);});}['_handleReconnectionError'](_0x539cb6){const _0x56dfb3=this['editor']['plugins']['get']('Notification'),_0x1492fe=this['editor']['locale'];_0x539cb6||(_0x539cb6=V(_0x1492fe,'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.')),_0x56dfb3['showWarning'](_0x539cb6,{'title':V(_0x1492fe,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2c7793)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2c7793)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2783ed){const _0x48ace6=_0x2783ed['map'](_0x1418ca=>_0x1418ca['toJSON']());return this['_compressor']['compress'](_0x48ace6);}['_decompressOperations'](_0x2548a6,_0x5e4832){return this['_compressor']['decompress'](_0x2548a6)['map']((_0x114f06,_0x54204e)=>{const _0x2d3927='init'==_0x5e4832[_0x54204e]['type'];if('InsertOperation'==_0x114f06['__className']){const _0x4f8217=_0x114f06['position']['root'];!this['_document']['getRoot'](_0x4f8217)&&(this['_document']['createRoot']('$root',_0x4f8217)['_isAttached']=!0x1);}const _0x29f316=_0x138c8f['fromJSON'](_0x114f06,this['_document']);return _0x29f316['wasUndone']=_0x114f06['wasUndone'],_0x29f316['_isInit']=_0x2d3927,_0x29f316['_authorId']=_0x2d3927?null:_0x5e4832[_0x54204e]['userId'],_0x29f316['_isDisconnection']='cs:removeUser'===_0x5e4832[_0x54204e]['type'],_0x29f316['createdAt']=_0x5e4832[_0x54204e]['createdAt'],_0x29f316;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x149260=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x149260&&_0x149260['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x2b331d,_0x15f538){for(const _0x4853ff of _0x2b331d)_0x4853ff['baseVersion']=_0x15f538++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x35c627){this['_ignoredOperations']=_0x35c627,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x10fce3){let _0x450ea7=_0x10fce3['length'];for(;_0x450ea7--;){const _0x29edf9=_0x10fce3[_0x450ea7];if(!this['_ignoredOperations']['has'](_0x29edf9)){if(!this['_operationToId']['has'](_0x29edf9)){const _0x35b40c=_0x3b9d52()['slice'](0x1,0x12);this['_operationToId']['set'](_0x29edf9,_0x35b40c);}return this['_operationToId']['get'](_0x29edf9);}}}['setIdForTheLastOperation'](_0x3ac6a7,_0x428fc9){if(!_0x428fc9)return;let _0x394626=_0x3ac6a7['length'];for(;_0x394626--;){const _0x175fce=_0x3ac6a7[_0x394626];this['_ignoredOperations']['has'](_0x175fce)||this['_operationToId']['set'](_0x175fce,_0x428fc9);}}}class a extends _0x3cedf4{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2ca0e4{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x182d4f)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1a8b9a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d7005){super(_0x1d7005),this['_services']=new Map();}async['init'](){const _0x284716=this['context'],_0x58d98d=_0x284716['plugins']['get']('CommentsRepository');if(_0x284716['plugins']['get'](n)['addToReconnectionStack'](this),_0x58d98d['adapter']={'addCommentThread':async({channelId:_0x46fb3a,threadId:_0x44d714,comments:_0x105393,resolvedAt:_0x4bc7f6,resolvedBy:_0x2abec6,context:_0x3a5e96,attributes:_0x3925fe})=>{const _0x19c6fc=await this['_getService'](_0x46fb3a)['addCommentThread']({'commentThreadId':_0x44d714,'comments':_0x105393['map'](_0x34f87b=>function(_0x5a9e41,_0x43ba4e,_0x1e72bc){return{'commentThreadId':_0x1e72bc,'commentId':_0x5a9e41['commentId'],'userId':_0x5a9e41['authorId'],'content':_0x5a9e41['content'],'documentId':_0x43ba4e,'createdAt':_0x5a9e41['createdAt'],'attributes':_0x5a9e41['attributes']||{}};}(_0x34f87b,_0x46fb3a,_0x44d714)),'resolvedAt':_0x4bc7f6,'resolvedBy':_0x2abec6,'context':_0x3a5e96,'attributes':_0x3925fe})['catch'](dt);return{'threadId':_0x19c6fc['commentThreadId'],'comments':_0x19c6fc['comments']};},'getCommentThread':async({channelId:_0x1c13cc,threadId:_0x4353dc})=>{const _0x5d33a1=await this['_getService'](_0x1c13cc)['getCommentThread'](_0x4353dc)['catch'](F)['catch'](dt);return _0x5d33a1?_0x5d33a1['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5d33a1]),{'threadId':_0x5d33a1['commentThreadId'],'comments':_0x5d33a1['comments']['map'](S),'context':_0x5d33a1['context'],'resolvedAt':_0x5d33a1['resolvedAt'],'resolvedBy':_0x5d33a1['resolvedBy'],'attributes':_0x5d33a1['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3c6e6c,threadId:_0x8fb388,context:_0x4cbc77,unlinkedAt:_0x45f61d,attributes:_0x55dc6d})=>this['_getService'](_0x3c6e6c)['updateCommentThread']({'commentThreadId':_0x8fb388,'context':_0x4cbc77,'attributes':_0x55dc6d,'unlinkedAt':_0x45f61d})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x3d9ffb,threadId:_0x2564fd})=>{const _0x559005=await this['_getService'](_0x3d9ffb)['resolveCommentThread'](_0x2564fd)['catch'](F)['catch'](dt);return{'threadId':_0x559005['commentThreadId'],'resolvedAt':_0x559005['resolvedAt'],'resolvedBy':_0x559005['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2485cd,threadId:_0x2ef13a})=>this['_getService'](_0x2485cd)['reopenCommentThread'](_0x2ef13a)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x280215,threadId:_0x5be65d})=>this['_getService'](_0x280215)['removeCommentThread'](_0x5be65d)['catch'](F)['catch'](dt),'addComment':({channelId:_0x595d09,threadId:_0x3d52e8,commentId:_0x4c1b3f,content:_0x434c20,attributes:_0x455d4e})=>this['_getService'](_0x595d09)['addComment'](_0x3d52e8,_0x4c1b3f,_0x434c20,_0x455d4e)['catch'](dt),'updateComment':({channelId:_0xd9a8a,threadId:_0x355883,commentId:_0x5bab25,content:_0x5efbe2,attributes:_0x3b48cc})=>this['_getService'](_0xd9a8a)['updateComment'](_0x355883,_0x5bab25,_0x5efbe2,_0x3b48cc)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x4882b3,threadId:_0x494069,commentId:_0x2be912})=>this['_getService'](_0x4882b3)['removeComment'](_0x494069,_0x2be912)['catch'](F)['catch'](dt)},_0x284716 instanceof _0xeab89c){const _0x47a84b=_0x284716['config']['get']('collaboration.channelId'),_0x310443=_0x284716['plugins']['get'](i);await this['_setUpService'](_0x47a84b);const _0x13d08f=await this['_services']['get'](_0x47a84b)['getConnectedSessions']();this['listenTo'](_0x310443,'sessionAdd:'+_0x47a84b,(_0x157153,{session:_0x5ed7b6})=>{_0x5ed7b6['id']===_0x310443['mySessionId']&&(_0x157153['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5ed7b6['permissions'],_0x47a84b));}),_0x310443['register'](_0x47a84b,_0x13d08f);}}async['_setUpService'](_0x3790d3){if(this['_services']['has'](_0x3790d3))throw new _0x47d69a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3790d3});const _0x4f60df=this['context']['plugins']['get']('CommentsRepository'),_0xc8bd6b=new s['CommentsService'](_0x3790d3);this['_services']['set'](_0x3790d3,_0xc8bd6b),this['listenTo'](_0xc8bd6b,'commentThreadAdded',(_0x2d8183,_0x4a1b7a)=>{const {commentThreadId:_0x2978ef,documentId:_0x3e05c1,context:_0x39b52b,attributes:_0xc6bfde,resolvedAt:_0x3fa1f5,resolvedBy:_0x2b71c6,comments:_0x2e3e0d}=_0x4a1b7a;_0x4f60df['getCommentThread'](_0x2978ef)||_0x4f60df['addCommentThread']({'threadId':_0x2978ef,'channelId':_0x3e05c1,'comments':_0x2e3e0d?_0x2e3e0d['map'](S):[],'context':_0x39b52b,'attributes':_0xc6bfde,'resolvedAt':_0x3fa1f5,'resolvedBy':_0x2b71c6,'isFromAdapter':!0x0});}),this['listenTo'](_0xc8bd6b,'commentThreadUpdated',(_0x33080e,{commentThreadId:_0x359c86,documentId:_0x7dd503,context:_0x3d987e,unlinkedAt:_0x29c5ea,attributes:_0x119916})=>{_0x4f60df['getCommentThread'](_0x359c86)&&_0x4f60df['updateCommentThread']({'threadId':_0x359c86,'channelId':_0x7dd503,'context':_0x3d987e,'unlinkedAt':_0x29c5ea,'attributes':_0x119916,'isFromAdapter':!0x0});}),this['listenTo'](_0xc8bd6b,'commentThreadResolved',(_0x3405fd,{commentThreadId:_0x5367c3,resolvedBy:_0x23ddb6,resolvedAt:_0x3dead6})=>{const _0xc2b1b4=_0x4f60df['getCommentThread'](_0x5367c3);_0xc2b1b4&&_0xc2b1b4['resolve']({'resolvedBy':_0x23ddb6,'resolvedAt':_0x3dead6,'isFromAdapter':!0x0});}),this['listenTo'](_0xc8bd6b,'commentThreadReopened',(_0x5ade07,{commentThreadId:_0x1f692f})=>{const _0x52bc52=_0x4f60df['getCommentThread'](_0x1f692f);_0x52bc52&&_0x52bc52['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0xc8bd6b,'commentThreadRemoved',(_0x35a012,{commentThreadId:_0x2d3fa6})=>{const _0xc4c5dc=_0x4f60df['getCommentThread'](_0x2d3fa6);_0xc4c5dc&&_0xc4c5dc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0xc8bd6b,'commentAdded',(_0x2dbe22,_0x28ae30)=>{const _0x369471=_0x28ae30['commentThreadId'],_0x48284d=_0x4f60df['getCommentThread'](_0x369471);_0x48284d&&_0x48284d['addComment']({...S(_0x28ae30),'isFromAdapter':!0x0});}),this['listenTo'](_0xc8bd6b,'commentUpdated',(_0x4c78e3,{commentThreadId:_0x3b886b,commentId:_0x33cd9a,content:_0x3a197d,attributes:_0xa54a3e})=>{const _0x4169a6=_0x4f60df['getCommentThread'](_0x3b886b);if(_0x4169a6){const _0x5106ae=_0x4169a6['getComment'](_0x33cd9a);_0x5106ae&&_0x5106ae['update']({'content':_0x3a197d,'attributes':_0xa54a3e,'isFromAdapter':!0x0});}}),this['listenTo'](_0xc8bd6b,'commentRemoved',(_0xe26fc0,{commentThreadId:_0x6409c3,commentId:_0x405b32})=>{const _0x2d81fe=_0x4f60df['getCommentThread'](_0x6409c3);if(_0x2d81fe){const _0x369e17=_0x2d81fe['getComment'](_0x405b32);_0x369e17&&_0x369e17['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3790d3);}['destroy'](){if(this['context']instanceof _0xeab89c){const _0x3a929b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x3a929b);}}['_terminateService'](_0x5cce9f){if(!this['_services']['has'](_0x5cce9f))throw new _0x47d69a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5cce9f});this['_getService'](_0x5cce9f)['disconnect'](),this['_services']['delete'](_0x5cce9f);}async['reconnect'](){for(const _0x1ced80 of this['_services']['keys']())await this['_connectService'](_0x1ced80);if(this['context']instanceof _0xeab89c){const _0x7a7309=this['context']['config']['get']('collaboration.channelId'),_0x5e26e8=this['context']['plugins']['get'](i);_0x5e26e8['unregister'](_0x7a7309);const _0x434afe=await this['_services']['get'](_0x7a7309)['getConnectedSessions']();_0x5e26e8['register'](_0x7a7309,_0x434afe);}}async['_connectService'](_0x3d0920){const {connection:_0x404034}=this['context']['plugins']['get'](n),_0x24c1dc=this['context']['plugins']['get']('CommentsRepository'),_0x5688ad=this['_services']['get'](_0x3d0920),_0x5e9230=await _0x5688ad['connect'](_0x404034);await this['_fetchMissingUsersForThreads'](_0x5e9230);const _0x534ab6=new Set(Array['from'](_0x24c1dc['getCommentThreads']({'channelId':_0x3d0920}),_0x5f29ac=>_0x5f29ac['id']));for(const _0x4c12da of _0x5e9230)_0x4c12da['deletedAt']||_0x534ab6['delete'](_0x4c12da['commentThreadId']);for(const _0x4daa5b of _0x534ab6)_0x24c1dc['getCommentThread'](_0x4daa5b)['remove']({'isFromAdapter':!0x0});for(const _0x11aaf4 of _0x5e9230){let _0x1386c9=_0x24c1dc['getCommentThread'](_0x11aaf4['commentThreadId']);const {commentThreadId:_0x2e6fd9,context:_0x395de1,attributes:_0x223793,resolvedBy:_0x4413d8,resolvedAt:_0x2f343a,unlinkedAt:_0x13fa6e,deletedAt:_0x54ec09}=_0x11aaf4;if(_0x54ec09)continue;_0x1386c9||(_0x1386c9=_0x24c1dc['addCommentThread']({'channelId':_0x3d0920,'threadId':_0x2e6fd9,'context':_0x395de1,'attributes':_0x223793||{},'resolvedBy':_0x4413d8,'resolvedAt':_0x2f343a,'unlinkedAt':_0x13fa6e,'isFromAdapter':!0x0}));const _0x445176=new Set(Array['from'](_0x1386c9['comments'],_0x53e3d0=>_0x53e3d0['id']));for(const _0x328a87 of _0x11aaf4['comments'])_0x445176['delete'](_0x328a87['commentId']);for(const _0x3fd1c4 of _0x445176)_0x1386c9['getComment'](_0x3fd1c4)['remove']({'isFromAdapter':!0x0});for(const _0x1d8328 of _0x11aaf4['comments']){const _0x4341d0=_0x1386c9['getComment'](_0x1d8328['commentId']);_0x4341d0?_0x4341d0['content']!==_0x1d8328['content']&&_0x4341d0['update']({'content':_0x1d8328['content'],'isFromAdapter':!0x0}):_0x1386c9['addComment'](Object['assign'](S(_0x1d8328),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2ab52a){if(!this['_services']['has'](_0x2ab52a))throw new _0x47d69a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2ab52a});return this['_services']['get'](_0x2ab52a);}async['_fetchMissingUsersForThreads'](_0x347151){const _0x5a4fdf=this['context']['plugins']['get'](_0x1a8b9a),{connection:_0x31954b}=this['context']['plugins']['get'](n),_0x27a379=new Set();for(const {resolvedBy:_0x42f53d,comments:_0x3edbdb}of _0x347151){_0x42f53d&&!_0x5a4fdf['getUser'](_0x42f53d)&&_0x27a379['add'](_0x42f53d);for(const {userId:_0x39d195}of _0x3edbdb)_0x5a4fdf['getUser'](_0x39d195)||_0x27a379['add'](_0x39d195);}if(0x0===_0x27a379['size'])return;const _0x1215a2=await lt['getMany'](_0x31954b,Array['from'](_0x27a379));for(const _0x203a34 of _0x1215a2)_0x5a4fdf['getUser'](_0x203a34['id'])||_0x5a4fdf['addUser'](_0x203a34);}}async function F(_0x562ff8){if('404'!==_0x562ff8['code'])throw _0x562ff8;}function dt(_0x3d5d34){if((_0xec2bc5=_0x3d5d34)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xec2bc5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xec2bc5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xec2bc5;throw _0x3d5d34;}function S(_0x58fd31){return{'threadId':_0x58fd31['commentThreadId'],'commentId':_0x58fd31['commentId'],'content':_0x58fd31['content'],'createdAt':_0x58fd31['createdAt'],'authorId':_0x58fd31['userId'],'attributes':_0x58fd31['attributes']||{}};}class m extends _0x3cedf4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe06d45){super(_0xe06d45);const _0x540800=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x540800);}['init'](){const _0x478d7d=this['editor']['plugins']['get'](n),_0x599c6e=this['editor']['plugins']['get']('TrackChangesEditing');return _0x599c6e['adapter']={'getSuggestion':async _0x1340fb=>{await this['_waitForServiceReady']();const _0x5c9452=await this['_trackChangesService']['get'](_0x1340fb)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x5c9452]),_0x5c9452;},'addSuggestion':async({id:_0x45c369,type:_0x47daad,data:_0x422f8f,originalSuggestionId:_0x3f4555,attributes:_0x4805b8})=>{await this['_waitForServiceReady']();const _0x5b24d9={'id':_0x45c369,'type':_0x47daad,'data':_0x422f8f,'originalSuggestionId':_0x3f4555,'attributes':_0x4805b8},_0x4df512=await this['_trackChangesService']['add'](_0x45c369,_0x47daad,_0x422f8f,_0x3f4555,_0x4805b8)['catch'](_0x3f56be=>{if(ut(_0x3f56be))return new Promise(_0x136e4b=>{this['_bufferedRequests']['set'](_0x45c369,{'resolve':_0x136e4b,'suggestionData':_0x5b24d9});});throw _0x3f56be;});return this['_bufferedRequests']['delete'](_0x45c369),_0x4df512;},'updateSuggestion':async(_0x2f5f00,_0x4e8de4)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4e8de4['state'])return this['_trackChangesService']['update'](_0x2f5f00,_0x4e8de4)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1a42b8,_0x331af0)=>{_0x599c6e['hasSuggestion'](_0x331af0['id'])&&(_0x599c6e['getSuggestion'](_0x331af0['id'])['attributes']=_0x331af0['attributes']);}),this['_trackChangesService']['connect'](_0x478d7d['connection'])['then'](_0x2c038a=>(_0x478d7d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2c038a)['then'](()=>{for(const _0x434b18 of _0x2c038a){_0x599c6e['addSuggestionData'](_0x434b18)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1e024f=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5e41b8}=this['editor']['plugins']['get'](n),_0x5210a8=await this['_trackChangesService']['connect'](_0x5e41b8);await this['_fetchMissingUsersForThreads'](_0x5210a8);for(const {suggestionData:_0x307a6d,resolve:_0x55995d}of this['_bufferedRequests']['values']()){let _0x18e1fc=_0x5210a8['find'](_0x1e0532=>_0x1e0532['id']===_0x307a6d['id']);_0x18e1fc||(_0x18e1fc=await this['_trackChangesService']['add'](_0x307a6d['id'],_0x307a6d['type'],_0x307a6d['data'],_0x307a6d['originalSuggestionId'])),_0x55995d(_0x18e1fc);}for(const _0x2d1de3 of _0x5210a8)_0x1e024f['hasSuggestion'](_0x2d1de3['id'])||_0x1e024f['addSuggestionData'](_0x2d1de3);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x41a74a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x626c65=>{_0x626c65['off'](),_0x41a74a();});});}async['_fetchMissingUsersForThreads'](_0x3a0b6d){const _0x27dc39=this['editor']['plugins']['get'](_0x1a8b9a),{connection:_0x1e665b}=this['editor']['plugins']['get'](n),_0x4bbcaa=new Set();for(const {authorId:_0x28de4f}of _0x3a0b6d)_0x27dc39['getUser'](_0x28de4f)||_0x4bbcaa['add'](_0x28de4f);if(0x0===_0x4bbcaa['size'])return;const _0x5f37b5=await lt['getMany'](_0x1e665b,Array['from'](_0x4bbcaa));for(const _0x810bdc of _0x5f37b5)_0x27dc39['getUser'](_0x810bdc['id'])||_0x27dc39['addUser'](_0x810bdc);}}function k(_0x3b007c){if(ut(_0x3b007c))return new Promise(()=>{});throw _0x3b007c;}function ut(_0x34d31d){return _0x34d31d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x34d31d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3cedf4{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5b27db=this['editor']['plugins']['get'](n),_0x23d9cd=this['editor']['plugins']['get']('CommentsEditing'),_0x1f2dbf=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5b27db,'change:state',(_0x5addf0,_0x54a118,_0x4144c3)=>{_0x23d9cd['isThreadsLoadingPaused']='connected'!==_0x4144c3;});}),this['listenTo'](_0x5b27db,'change:state',(_0x40adfe,_0x5bc8eb,_0x547247)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x547247);}),_0x1f2dbf['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x3cedf4{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x3cedf4{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1a8b9a];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e6939){super(_0x3e6939);const _0x1b88f6=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x1b88f6);}async['init'](){const _0x46b6ae=this['editor']['plugins']['get'](l),_0xdbf29f=_0x46b6ae['serverHistory'],_0x52dd50=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0xdbf29f,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x46b6ae['sessionId']});const _0xafff7c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4b54f7=await it['isBundleUploaded'](_0x52dd50['connection'],_0xafff7c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x41b365})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x41b365)),'updateRevisions':async _0x545596=>{await this['_waitForServiceReady']();const _0x4a5e62=this['_revisionTracker']['currentRevision'];if(_0x4b54f7&&0x1===_0x545596['length']&&_0x545596[0x0]['id']===_0x4a5e62['id'])return _0x545596;for(const _0x3c2704 of _0x545596)_0x3c2704['id']===_0x4a5e62['id']&&(_0x3c2704['isEmptyCurrent']=_0x3c2704['fromVersion']===_0x3c2704['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x545596,this['_lastRequestId'])['then'](_0x3022b0=>(this['_lastRequestId']=_0x3022b0,_0x545596))['catch'](_0x1abb49=>{if(et(_0x1abb49)||'400'===_0x1abb49['code']&&void 0x0!==_0x1abb49['data']['wrongRequestId']){for(const _0x529eb7 of _0x545596){!this['_revisionTracker']['repository']['getRevision'](_0x529eb7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x529eb7['id'],_0x529eb7,!0x1);}if(et(_0x1abb49))throw _0x1abb49;return _0x545596;}throw _0x1abb49;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x312581,{revisionsData:_0x2d697a,requestId:_0x36232b})=>{Math['max'](..._0x2d697a['map'](_0x1c65c4=>_0x1c65c4['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2d697a,_0x36232b);}):this['_handleRevisionsUpdate'](_0x2d697a,_0x36232b);});const {revisions:_0xa4f79e,requestId:_0x43165e}=await this['_revisionHistoryService']['connect'](_0x52dd50['connection']);_0x52dd50['addToReconnectionStack'](this),this['_lastRequestId']=_0x43165e,await this['_fetchMissingUsers'](_0xa4f79e);for(const _0x120866 of _0xa4f79e)this['_revisionTracker']['addRevisionData'](_0x120866);this['listenTo'](_0x46b6ae,'change:_isConnected',(_0x217807,_0x7684ed,_0x2669d1)=>{_0x2669d1&&(this['_oldOffset']=_0x46b6ae['_offset'],_0x217807['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x52dd50,'state',_0x197709=>_0x197709===te['CONNECTED']);}async['reconnect'](){const _0x26fe73=this['editor']['plugins']['get'](n),_0x2a8bd4=this['editor']['plugins']['get'](l),_0x12821a=async()=>{const _0x516230=this['_revisionTracker']['currentRevision'],_0x430f4e=_0x516230['id'],_0x13c47=_0x430f4e!==_0x2a8bd4['sessionId'];if(_0x13c47){const _0x1b6bf4=_0x2a8bd4['_offset']-this['_oldOffset'],_0x5d3d27=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x516230['toVersion']+_0x1b6bf4!==_0x5d3d27){const _0x8a0426=_0x516230['fromVersion']+_0x1b6bf4,_0xc9274=this['editor']['plugins']['get'](_0x1a8b9a),_0x3ff688=this['_revisionTracker']['buildRevisionData']({'revision':_0x516230,'from':_0x8a0426,'to':_0x5d3d27});_0x3ff688['id']=_0x516230['id'];const _0x534018=_0x3ff688['authorsIds']['map'](_0x3df132=>_0xc9274['getUser'](_0x3df132));_0x516230['_update']({..._0x3ff688,'authors':_0x534018},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x516230['id'],_0x3ff688,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5d3d27,(_0x516230['toVersion']===_0x516230['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x430f4e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x430f4e),this['_revisionTracker']['_createCurrentRevision'](_0x5d3d27));}const {revisions:_0xa542e2,requestId:_0x4cd478}=await this['_revisionHistoryService']['reconnect'](_0x26fe73['connection'],this['_lastRequestId']);_0x13c47&&_0xa542e2['length']>0x0?_0x2a8bd4['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xa542e2),this['_handleRevisionsUpdate'](_0xa542e2,_0x4cd478),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2a8bd4['_isConnected']?_0x12821a():new Promise((_0x4fd954,_0x190788)=>{_0x2a8bd4['once']('change:_isConnected',()=>{_0x12821a()['then'](_0x4fd954)['catch'](_0x190788);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x397cc3=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x150270=>{_0x150270['off'](),_0x397cc3();});});}['_getLatestVersionFromServerOperations'](){const _0x33fd2a=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xe1513e of _0x33fd2a)if('marker'!==_0xe1513e['type']||_0xe1513e['affectsData'])return _0xe1513e['baseVersion']+0x1;}['_getLatestVersion'](){const _0x33409d=this['editor']['plugins']['get'](l);return new Promise(_0x1bff0e=>{_0x33409d['_isPendingUpdate']?_0x33409d['once']('change:_isPendingUpdate',()=>{_0x1bff0e(this['_getLatestVersionFromServerOperations']());}):_0x1bff0e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x6734bb,_0x55180a){const _0x2ebce0=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x55180a;for(const _0x43dd72 of _0x6734bb){const _0x2957d0=_0x2ebce0['getRevision'](_0x43dd72['id']);if(_0x2957d0){if((_0x43dd72['fromVersion']||_0x43dd72['toVersion'])&&(_0x43dd72['diffData']=null),_0x2957d0===this['_revisionTracker']['currentRevision']){const _0x21ab21=Math['max'](_0x2957d0['toVersion'],_0x43dd72['toVersion']),_0xd58b54=Math['max'](_0x2957d0['fromVersion'],_0x43dd72['fromVersion']);let _0x2a5ebf;_0x2957d0['toVersion']===_0x43dd72['toVersion']&&_0x2957d0['fromVersion']===_0x43dd72['fromVersion']?(_0x2a5ebf=!0x0,this['_preventResendingRevisionData'](_0x43dd72)):_0x43dd72['toVersion']===_0x21ab21&&_0x43dd72['fromVersion']===_0xd58b54?_0x2a5ebf=!0x1:(_0x2957d0['toVersion']===_0x21ab21&&_0x2957d0['fromVersion']===_0xd58b54||this['_fixRevision']({'revision':_0x2957d0,'from':_0xd58b54,'to':_0x21ab21}),_0x2a5ebf=!0x0),_0x2a5ebf&&(delete _0x43dd72['fromVersion'],delete _0x43dd72['toVersion'],delete _0x43dd72['diffData'],delete _0x43dd72['createdAt'],delete _0x43dd72['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x43dd72),this['_preventResendingRevisionData'](_0x43dd72);}else this['_revisionTracker']['addRevisionData'](_0x43dd72);}const _0x1391a6=_0x2ebce0['getRevisions']();_0x1391a6['reverse']();for(let _0x1a2e8d=0x0;_0x1a2e8d<_0x1391a6['length']-0x1;_0x1a2e8d++){const _0xa7da85=_0x1391a6[_0x1a2e8d],_0x563b5d=_0x1391a6[_0x1a2e8d+0x1];if(_0xa7da85['fromVersion']<_0x563b5d['toVersion']){const _0x3f653a=_0x563b5d['toVersion'],_0x2b4a44=Math['max'](_0x3f653a,_0xa7da85['toVersion']);this['_fixRevision']({'revision':_0xa7da85,'from':_0x3f653a,'to':_0x2b4a44});}}}['_fixRevision']({revision:_0x266fb0,from:_0x33108f,to:_0x426cba}={}){const _0x59fadb=this['editor']['plugins']['get'](_0x1a8b9a),_0x57438f=this['_revisionTracker']['buildRevisionData']({'revision':_0x266fb0,'from':_0x33108f,'to':_0x426cba});_0x57438f['authors']=_0x57438f['authorsIds']['map'](_0x56674b=>_0x59fadb['getUser'](_0x56674b)),_0x266fb0['_update'](_0x57438f);}['_preventResendingRevisionData'](_0x5e0bbe){const _0x29b8f7={};_0x29b8f7['id']=_0x5e0bbe['id'];for(const _0x589be0 of Object['keys'](_0x5e0bbe))'id'!==_0x589be0&&(_0x29b8f7[_0x589be0]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x29b8f7['id'],_0x29b8f7,!0x0);}async['_fetchMissingUsers'](_0x53109b){const _0x43d6c7=this['editor']['plugins']['get'](_0x1a8b9a),{connection:_0x4927f9}=this['editor']['plugins']['get'](n),_0x47e492=new Set();for(const _0x3cb5c2 of _0x53109b){for(const _0x34f170 of _0x3cb5c2['authorsIds'])_0x60fbea(_0x34f170);_0x3cb5c2['creatorId']&&_0x60fbea(_0x3cb5c2['creatorId']);}if(0x0===_0x47e492['size'])return;const _0x2ba6af=await lt['getMany'](_0x4927f9,Array['from'](_0x47e492));for(const _0x86189a of _0x2ba6af)_0x43d6c7['getUser'](_0x86189a['id'])||_0x43d6c7['addUser'](_0x86189a);function _0x60fbea(_0x1e5ca7){_0x43d6c7['getUser'](_0x1e5ca7)||_0x47e492['add'](_0x1e5ca7);}}}function et(_0x2faf81){return _0x2faf81['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2faf81['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2faf81['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x3cedf4{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x2e13fe{['_collapseAt'];constructor(_0x4c1026,_0x593dfb=0x6){super(_0x4c1026);const _0x1b615e=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x593dfb,this['bind']('isHidden')['to'](this,'usersCount',_0x554730=>_0x554730<_0x593dfb),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1b615e['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':_0x1b615e['to']('usersCount',_0x323ccf=>'+'+(_0x323ccf-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2e13fe{['items'];['keystrokes'];constructor(_0x12ac54){super(_0x12ac54);const _0x5a8aef=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x173baf(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5a8aef['if']('hasPopup'),'aria-expanded':_0x5a8aef['to']('isExpanded',_0x1a3e9d=>this['hasPopup']&&String(_0x1a3e9d)),'aria-label':_0x5a8aef['to']('hasPopup',_0x484831=>V(_0x12ac54,_0x484831?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5a8aef['to']('hasPopup',_0x2ebee6=>!!_0x2ebee6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5a8aef['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5a8aef['to'](_0x127d81=>{const _0x5a2521=_0x127d81,_0x5dca9b=document['querySelector']('.ck-presence-list__dropdown-list'),_0x263aab=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5dca9b?.['contains'](_0x5a2521['relatedTarget'])||_0x263aab?.['contains'](_0x5a2521['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4b7685,_0x27d064,_0x31bfcd)=>{this['element']&&(_0x31bfcd?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x2e13fe{['counterView'];['inlineListView'];constructor(_0x6d4a4c,_0xe5786b=0x6){super(_0x6d4a4c);const _0x33a143=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xe5786b),this['inlineListView']=new is(_0x6d4a4c),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2ee1df of this['inlineListView']['items'])_0x2ee1df['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',_0x33a143['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x2e13fe{['listWrapperView'];constructor(_0x2d2f7d,_0x2c77c1){super(_0x2d2f7d);const _0x411515=this['bindTemplate'];this['listWrapperView']=new pt(_0x2d2f7d,_0x2c77c1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x2d2f7d,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x411515['to'](_0x53f19d=>{const _0x16c5ff=_0x53f19d,_0x47c026=document['querySelector']('.ck-presence-list__list'),_0x544245=document['querySelector']('.ck-balloon-panel_with-arrow');_0x47c026?.['contains'](_0x16c5ff['relatedTarget'])||_0x544245?.['contains'](_0x16c5ff['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x28d56f{constructor(_0x1be62f,_0x3648b7){super(_0x1be62f);const _0x55e2be=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3648b7?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x55e2be['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x55e2be['to']('role'),'aria-label':_0x55e2be['to']('ariaLabel'),'aria-labelledby':_0x55e2be['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x57e018['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2fe90=this['element'];_0x2fe90&&(this['_isScrollable']=Math['max'](_0x2fe90['scrollHeight'],_0x2fe90['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x461e60,_0x4f1d0c,_0x380e3b){super(_0x461e60);const _0xbc65db=this['bindTemplate'];this['userView']=new ct(_0x461e60,_0x4f1d0c);const _0x54edfd={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4f1d0c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4f1d0c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4f1d0c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x380e3b&&(_0x54edfd['tag']='button',_0x54edfd['on']={'click':_0xbc65db['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x54edfd);}['focus'](){this['element']['focus']();}}class A extends _0x2e13fe{['userView'];['markerView'];constructor(_0x4ff665,_0x4f1395,_0xc67a95){super(_0x4ff665);const _0x31dcc2=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x4ff665,_0x4f1395),this['markerView']=new at(_0x4ff665,_0x4f1395);const _0x172c94=new ot(_0x4ff665);_0x172c94['template']['tag']='span',_0x172c94['text']=_0x4f1395['name'];const _0x3be15f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x31dcc2['to']('isFocusable',_0x29ddce=>!!_0x29ddce&&0x0),'aria-labelledby':_0x172c94['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x31dcc2['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x31dcc2['to']('hasTooltip',_0x1ece96=>!_0x1ece96),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x172c94]};_0xc67a95&&(_0x3be15f['tag']='button',_0x3be15f['on']={'click':_0x31dcc2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3be15f);}}class at extends _0x2e13fe{constructor(_0x3370f2,_0x1dd08d){super(_0x3370f2),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1dd08d['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2ca0e4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2f736e){super(_0x2f736e),this['context']['config']['define']('presenceList',x);const _0x108c25=_0x2f736e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x108c25)throw new _0x47d69a('presencelist-collapseat-invalid-format',this);if(_0x108c25<0x1)throw new _0x47d69a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x169e95(),this['balloonPanelView']=new _0x492f0f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x14f689 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x14f689);this['listenTo'](this['_allConnectedUsers'],'add',(_0x575631,_0x38f892)=>{this['_handleUserAdd'](_0x38f892);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x51f91b,_0x1ab361)=>{this['_handleUserRemove'](_0x1ab361);});}['_createView'](){const _0x4d58a3=this['context'],_0x5c62a0=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xe66773=this['balloonPanelView'];if(!_0x2ed5a4(_0x4d58a3['config']['get']('presenceList.container')))throw new _0x47d69a('presencelist-missing-container',this);return _0x5c62a0['counterView']['bind']('usersCount')['to'](this),_0x5c62a0['bind']('isCollapsed')['to'](this,'usersCount',_0x208122=>{const {collapseAt:_0x192d75}=_0x4d58a3['config']['get']('presenceList'),_0x54a2b2=_0x208122>=_0x192d75;if(_0x54a2b2&&!_0x5c62a0['inlineListView']['items']['find'](_0x206bae=>_0x206bae instanceof b)){const _0x5076db=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5076db&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5c62a0['inlineListView']['items']['add'](_0x5c62a0['counterView']);}return _0x54a2b2||this['hideDropdown'](),_0x54a2b2;}),_0x5c62a0['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2571f9=>{const _0x548893=_0x4d58a3['config']['get']('presenceList'),_0x23b35f=new A(_0x4d58a3['locale'],_0x2571f9,!!_0x548893['onClick']);return _0x23b35f['bind']('hasTooltip')['to'](_0x5c62a0,'isCollapsed',_0x2260a2=>!_0x2260a2),_0x23b35f['bind']('isFocusable')['to'](_0x5c62a0,'isCollapsed',_0x33d2d9=>!_0x33d2d9),_0x548893['onClick']&&this['listenTo'](_0x23b35f,'execute',()=>{this['view']['isCollapsed']||_0x548893['onClick'](_0x2571f9,_0x23b35f['element']);}),_0x23b35f;}),this['listenTo'](_0x5c62a0['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5c62a0['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5c62a0['inlineListView']['keystrokes']['set']('Enter',(_0x3176c1,_0x47cd9e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x47cd9e());}),_0x5c62a0['render'](),_0xe66773['render'](),_0x5bf5cb({'emitter':_0x5c62a0,'activator':()=>_0xe66773['isVisible'],'contextElements':[_0xe66773['element'],_0x5c62a0['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4d58a3['config']['get']('presenceList.container')['appendChild'](_0x5c62a0['element']),this['_bodyCollection']=new _0x4836b2(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5c62a0;}['_handleUserAdd'](_0x436bcc){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x436bcc['isMe'])return;const _0x3e9991=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3e9991-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2f1f2a=_0x436bcc['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x436bcc,_0x2f1f2a);}['_handleUserRemove'](_0x29a95d){this['usersCount']--;const {collapseAt:_0x36383d}=this['context']['config']['get']('presenceList'),_0x415238=this['usersCount']>=_0x36383d;if(this['currentDisplayedUsers']['get'](_0x29a95d['id']))this['currentDisplayedUsers']['remove'](_0x29a95d['id']);else{if(_0x415238&&this['currentDisplayedUsers']['length']+0x1===_0x36383d-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x415238?0x1:0x0)<this['usersCount']){for(const _0x264603 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x264603['id'])&&(this['currentDisplayedUsers']['add'](_0x264603,Math['min'](this['currentDisplayedUsers']['length']-(_0x415238?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x415238?0x1:0x0)===_0x36383d-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x500b9e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x500b9e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2cafeb}=this['presenceDropdownView'];_0x2cafeb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x40845d=>{if(!_0x500b9e['displayMe']&&_0x40845d['isMe'])return null;const _0x21b3f5=new j(this['context']['locale'],_0x40845d,!!_0x500b9e['onClick']);return _0x500b9e['onClick']&&this['listenTo'](_0x21b3f5,'execute',()=>{_0x500b9e['onClick'](_0x40845d,_0x21b3f5['element']);}),_0x21b3f5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2cafeb['focus'](),_0x2cafeb['checkIfScrollable']();const _0x24343a=(_0x51fa26,_0x305ade)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x305ade();};_0x2cafeb['keystrokes']['set']('Esc',_0x24343a),_0x2cafeb['keystrokes']['set']('Shift+Tab',_0x24343a),_0x2cafeb['keystrokes']['set']('Tab',(_0x5af94c,_0xa27118)=>{!function(_0x4b7fce){const _0x4d4e5f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x58958a=>_0x58958a+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x540f3f=[...document['body']['querySelectorAll'](_0x4d4e5f)]['filter'](_0x530c40=>_0x530c40===document['activeElement']||_0x530c40['offsetWidth']+_0x530c40['offsetHeight']>0x0)['sort']((_0x306b27,_0x2090d2)=>(_0x306b27['tabIndex']||0x0)-(_0x2090d2['tabIndex']||0x0)),_0x3036fc=_0x540f3f['indexOf'](_0x4b7fce),_0x29cee0=_0x540f3f[(_0x3036fc+0x1)%_0x540f3f['length']];_0x29cee0&&_0x29cee0['focus']();}(this['view']['element']),this['hideDropdown'](),_0xa27118();}),_0x2cafeb['focusTracker']['add'](this['view']['element']),_0x2cafeb['focusTracker']['on']('change:isFocused',(_0x437572,_0x53ac4a,_0x35d7a0)=>{_0x35d7a0||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x2ca0e4{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x1a80af,Plugin as _0x232b47,PendingActions as _0x442e85,Context as _0x385ab6}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x15cddd,CKEditorError as _0x529824,Collection as _0x462cb9,global as _0x201d53,version as nt,uid as _0x4bb96a,KeystrokeHandler as _0x2494c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3a6344,View as _0x210562,ListView as _0x4fbea9,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x581a51,clickOutsideHandler as _0x4762a9,BodyCollection as _0x2f368f}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x1ce98f,History as _0x2afaa7,NoOperation as _0x54fab5,InsertOperation as _0x52a187,MarkerOperation as _0x2cd4a0,RootAttributeOperation as _0x5ed840,transformOperationSets as _0x498326,OperationFactory as _0x406a32}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x2c56b6,User as lt,CommentsService as _0x229c97,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1ff91e,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x26a909}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3d9807}from'es-toolkit/compat';class n extends _0x1a80af{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3a6344];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5873c7){super(_0x5873c7),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x15cddd())();}['init'](){const _0x5beb12=this['context'],_0x137873=_0x5beb12['plugins']['get']('CloudServices'),_0x486337=_0x5beb12['plugins']['get'](_0x3a6344);if(!_0x137873['token'])throw new _0x529824('websocketgateway-missing-token',this);if(!_0x137873['webSocketUrl'])throw new _0x529824('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x137873['token'],_0x137873['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x8dc9f7=>{if(this['connection']=_0x8dc9f7,this['bind']('state')['to'](_0x8dc9f7,'state',this,'_isBrowserOffline',(_0x43510f,_0x5c95c9)=>('connected'!==_0x43510f&&(this['_shouldPluginsReconnect']=!0x0),_0x5c95c9||_0x43510f!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0xe76ffb,_0x3d754c)=>{if('limitExceeded'!==_0x3d754c['code'])throw console['error'](_0x3d754c),new _0x529824('cloudservices-init',null,{'originalError':_0x3d754c});_0x486337['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'});}),!_0x8dc9f7['me'])return new Promise(_0x33d9f3=>_0x8dc9f7['on']('change:me',_0x33d9f3));})['catch'](_0x376926=>{throw console['error'](_0x376926),new _0x529824('cloudservices-init',null,{'originalError':_0x376926});});}['addToReconnectionStack'](_0x56d45a){if('function'!=typeof _0x56d45a['reconnect'])throw new _0x529824('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x56d45a))throw new _0x529824('websocketgateway-plugin-already-registered',this,{'name':_0x56d45a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x56d45a);}['removeFromReconnectionStack'](_0x1eb6e5){this['_reconnectionStack']['delete'](_0x1eb6e5);}['isInReconnectionStack'](_0xce74aa){return this['_reconnectionStack']['has'](_0xce74aa);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x296369=>_0x296369['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x2b8199=>{throw console['error'](_0x2b8199),new _0x529824('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1a80af{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x1ff91e];}constructor(_0x46d716){super(_0x46d716),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x462cb9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1ff91e);}['init'](){const _0x5e9679=this['context']['plugins']['get'](n);this['listenTo'](_0x5e9679,'change:state',(_0x2afe8c,_0x2dfc84,_0xa4fdab)=>{if('connected'!==_0xa4fdab)this['channelSessions']['forEach'](_0x506a7c=>_0x506a7c['clear']()),this['channelConnectedUsers']['forEach'](_0x206185=>_0x206185['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x17250d,_0xcc91a0]of this['_registeredSessions'])for(const _0x55b402 of _0xcc91a0)this['_handleSessionAdd'](_0x17250d,_0x55b402);}}),this['_createUser'](_0x5e9679['connection']['me'],!0x0);}['register'](_0x4d873e,_0x560e07){if(this['_registeredSessions']['has'](_0x4d873e))throw new _0x529824('sessions-register-already-registered',null,{'channelId':_0x4d873e});this['_registeredSessions']['set'](_0x4d873e,_0x560e07),this['channelSessions']['set'](_0x4d873e,new _0x462cb9()),this['channelConnectedUsers']['set'](_0x4d873e,new _0x462cb9()),this['listenTo'](_0x560e07,'add',(_0x3387f0,_0x3b58ec)=>this['_handleSessionAdd'](_0x4d873e,_0x3b58ec)),this['listenTo'](_0x560e07,'remove',(_0x217fa7,_0x8a9531)=>this['_handleSessionRemove'](_0x4d873e,_0x8a9531));for(const _0x2397ff of _0x560e07)this['_handleSessionAdd'](_0x4d873e,_0x2397ff);}['unregister'](_0x1b48aa){if(!this['_registeredSessions']['has'](_0x1b48aa))throw new _0x529824('sessions-unregister-not-exist',null,{'channelId':_0x1b48aa});const _0x28ce2b=this['_registeredSessions']['get'](_0x1b48aa);this['stopListening'](_0x28ce2b);for(const _0x4b45d7 of _0x28ce2b)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1b48aa,_0x4b45d7);this['_registeredSessions']['delete'](_0x1b48aa),this['channelSessions']['delete'](_0x1b48aa),this['channelConnectedUsers']['delete'](_0x1b48aa);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x55029e){for(const _0x115ca9 of this['channelSessions']['values']())for(const _0x2bac61 of _0x115ca9)if(_0x2bac61['id']===_0x55029e)return _0x2bac61['user'];}['getUserSessions'](_0x5f3767,_0xc711c5){const _0x1a3f46=_0xc711c5?[this['channelSessions']['get'](_0xc711c5)]:this['channelSessions']['values'](),_0x24862b=new Set();for(const _0x2ab880 of _0x1a3f46)for(const _0x344a93 of _0x2ab880)_0x344a93['user']['id']===_0x5f3767['id']&&_0x24862b['add'](_0x344a93['id']);return _0x24862b;}['getUserRole'](_0x2329c0){for(const _0x6f947e of this['channelSessions']['values']())for(const _0x439a31 of _0x6f947e)if(_0x439a31['user']===_0x2329c0)return _0x439a31['role'];}['_handleSessionAdd'](_0x1b1a59,_0x53a955){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1c72e8=_0x53a955['user'],_0x305ce7=this['_users']['getUser'](_0x1c72e8['id'])||this['_createUser'](_0x1c72e8),_0x10e502=Object['assign']({},_0x53a955,{'user':_0x305ce7});if(this['channelSessions']['get'](_0x1b1a59)['add'](_0x10e502),!_0x1c72e8['hiddenInPresenceList']){const _0x179990=this['channelConnectedUsers']['get'](_0x1b1a59);_0x179990['has'](_0x305ce7['id'])||_0x179990['add'](_0x305ce7),this['allConnectedUsers']['has'](_0x305ce7['id'])||_0x1c72e8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x305ce7,_0x305ce7['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1b1a59,{'channelId':_0x1b1a59,'session':_0x10e502});}['_handleSessionRemove'](_0x4f9979,_0x2d97e4){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4d497c=this['channelConnectedUsers']['get'](_0x4f9979),_0x3bea35=_0x2d97e4['user'];_0x3bea35['id']&&(this['channelSessions']['get'](_0x4f9979)['remove'](_0x2d97e4['id']),_0x4d497c['has'](_0x3bea35['id'])&&!this['getUserSessions'](_0x3bea35,_0x4f9979)['size']&&_0x4d497c['remove'](_0x3bea35['id']),this['allConnectedUsers']['get'](_0x3bea35['id'])&&!this['getUserSessions'](_0x3bea35)['size']&&this['allConnectedUsers']['remove'](_0x3bea35['id']));}['_createUser'](_0x4c6e17,_0x3d9703){const _0x4df4f7=this['_users']['addUser'](_0x4c6e17);return _0x3d9703&&this['_users']['defineMe'](_0x4c6e17['id']),_0x4df4f7['orderNumber']=this['_uniqueUsersCount']++,_0x4df4f7;}}class H extends _0x232b47{['_domEmitter']=new(_0x15cddd())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4df3d0=this['editor'],_0x529e3d=_0x4df3d0['plugins']['get'](i);_0x4df3d0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x40224e,{writer:_0x5caaed})=>function(_0x2058db,_0x5be00d,_0xe14b1d,_0x50ef97){const _0x574907=_0x2058db['markerName']['split'](':')[0x2],_0x4a9e41=_0xe14b1d['getUserBySessionId'](_0x574907);if(!_0x4a9e41||_0x574907===_0xe14b1d['mySessionId'])return;if(!_0x50ef97['model']['schema']['checkChild'](_0x2058db['markerRange']['start'],'$text'))return;const _0xc68de2={'class':'ck-user__marker\x20'+_0x4a9e41['color']['getMarkerClass'](),'data-name':_0x4a9e41['name'],'data-session-id':_0x574907},_0x1ed0fc=_0x50ef97['model']['markers']['get'](_0x2058db['markerName']),_0x2ed067=_0x1ed0fc['getStart'](),_0x17ba23=_0x2ed067['nodeAfter'],_0x220277=_0x50ef97['model']['schema'];if(_0x17ba23&&_0x220277['isObject'](_0x17ba23)&&_0x220277['isInline'](_0x17ba23)&&!_0x50ef97['model']['markers']['get']('user:range:'+_0x574907)['getRange']()['isCollapsed'])return;const _0x17f087=_0x2ed067['parent'];return _0x50ef97['model']['schema']['isLimit'](_0x17f087)&&!_0x50ef97['model']['hasContent'](_0x17f087)&&(_0xc68de2['contenteditable']=!0x1),function(_0x36bc32,_0x8e7b1c,_0x3422ab){const _0x10fbbc=_0x36bc32['createUIElement']('span',_0x8e7b1c);return _0x36bc32['setCustomProperty']('userPositionMarker',!0x0,_0x10fbbc),_0x10fbbc['render']=function(_0x2374e6){const _0x680e19=this['toDomElement'](_0x2374e6),_0x3d2361=document['createElement']('span');return _0x3d2361['classList']['add']('ck-user__marker-tooltip'),_0x3d2361['setAttribute']('contenteditable','false'),_0x3d2361['setAttribute']('spellcheck','false'),_0x3d2361['textContent']=_0x3422ab['name'],_0x680e19['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3d2361['outerHTML']+'⁠',_0x680e19['addEventListener']('mouseenter',()=>{_0x680e19['classList']['add']('ck-user__marker_hovered');}),_0x680e19['addEventListener']('mouseleave',()=>{_0x680e19['classList']['remove']('ck-user__marker_hovered');}),_0x680e19;},_0x10fbbc['isSimilar']=function(_0x59947b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x59947b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x59947b['getAttribute']('data-session-id'));},_0x10fbbc;}(_0x5be00d,_0xc68de2,_0x4a9e41);}(_0x40224e,_0x5caaed,_0x529e3d,_0x4df3d0)}),_0x4df3d0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x64e31c=>function(_0x1ba58f,_0x5b4162){const _0x410d8d=_0x1ba58f['markerName']['split'](':')[0x2];if(_0x410d8d===_0x5b4162['mySessionId'])return null;const _0x3f332b=_0x5b4162['getUserBySessionId'](_0x410d8d);if(!_0x3f332b)return{'id':_0x410d8d,'classes':[]};return{'id':_0x410d8d,'classes':['ck-user__selection',_0x3f332b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x410d8d},'priority':0x7d0+_0x3f332b['orderNumber']};}(_0x64e31c,_0x529e3d)}),function(_0xb4f225){const _0x25f9a0=_0xb4f225['model'],_0x200fc9=new Map(),_0x4371f9=_0xb4f225['plugins']['get'](i);_0x25f9a0['markers']['on']('update:user:range',(_0x39e7d1,_0x6b6818,_0x592763,_0x5317fe)=>{if(!_0x5317fe&&_0x200fc9['get'](_0x6b6818['name']))return _0x200fc9['get'](_0x6b6818['name'])['detach'](),void _0x200fc9['delete'](_0x6b6818['name']);const _0xd86dac=_0x6b6818['name']['split'](':')[0x2];if(_0xd86dac===_0x4371f9['mySessionId'])return;const _0x22c775='user:position:'+_0xd86dac;_0x25f9a0['markers']['has'](_0x22c775)&&_0xb4f225['editing']['reconvertMarker'](_0x22c775),_0x6b6818['on']('change:range',(_0xb3067a,_0x5eea26,_0x41d5b2)=>{if('$graveyard'!=_0x5eea26['root']['rootName']&&'$graveyard'==_0x6b6818['getRange']()['root']['rootName']&&!_0x200fc9['has'](_0x6b6818['name'])){const _0x1e1415=_0x25f9a0['schema']['getNearestSelectionRange'](_0x41d5b2['deletionPosition']);if(_0x1e1415){const _0x284255=_0x1ce98f['fromRange'](_0x1e1415);_0x200fc9['set'](_0x6b6818['name'],_0x284255),_0x284255['on']('change:range',(_0x4df1a3,_0x5e18d7,_0x440192)=>{if('$graveyard'==_0x284255['root']['rootName']){const _0x1426b4=_0x25f9a0['schema']['getNearestSelectionRange'](_0x440192['deletionPosition']);_0x1426b4?(_0x284255['start']=_0x1426b4['start'],_0x284255['end']=_0x1426b4['end']):(_0x200fc9['delete'](_0x6b6818['name']),_0x284255['detach']());}});}}});}),_0x25f9a0['document']['on']('change',()=>{_0x200fc9['size']>0x0&&_0x25f9a0['enqueueChange']({'isUndoable':!0x1},_0x10a646=>{for(const [_0x2272d6,_0x1c0db1]of _0x200fc9)'$graveyard'==_0x25f9a0['markers']['get'](_0x2272d6)['getRange']()['root']['rootName']&&(Z(_0x2272d6['split'](':')[0x2],_0x1c0db1['toRange'](),_0x25f9a0,_0x10a646),_0x1c0db1['detach']());_0x200fc9['clear']();});});}(_0x4df3d0),this['_domEmitter']['listenTo'](_0x201d53['document'],'keydown',(_0x83b34d,{key:_0x40d032})=>{'Escape'===_0x40d032&&function(_0x304d6c){_0x304d6c['editing']['view']['change'](_0x441e55=>{for(const _0x56d06c of _0x304d6c['model']['markers']){if(!_0x56d06c['name']['startsWith']('user:position'))continue;const _0xb3b7bb=_0x304d6c['editing']['mapper']['markerNameToElements'](_0x56d06c['name']);if(_0xb3b7bb){for(const _0x2098f2 of _0xb3b7bb)_0x441e55['removeClass']('ck-user__marker_hovered',_0x2098f2);}}});}(_0x4df3d0);},{'useCapture':!0x0});}['afterInit'](){const _0x194bda=this['editor'],_0x2b00eb=_0x194bda['commands']['get']('undo');_0x2b00eb&&_0x194bda['model']['on']('applyOperation',(_0x5da204,_0x20ff8f)=>{const _0x51034a=_0x20ff8f[0x0];if(!_0x51034a['isDocumentOperation'])return;if('marker'!=_0x51034a['type']||!_0x51034a['name']['startsWith']('user:'))return;const _0x3fe4cd=_0x51034a['batch'];_0x2b00eb['_createdBatches']['has'](_0x3fe4cd)&&(_0x51034a['newRange']=_0x51034a['oldRange']?_0x194bda['model']['createRange'](_0x51034a['oldRange']['start'],_0x51034a['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3dbff4=this['editor'],_0x297b9e=_0x3dbff4['model']['document'],_0xc59916=_0x3dbff4['plugins']['get'](i);_0x3dbff4['model']['enqueueChange']({'isUndoable':!0x1},_0x31cb0e=>{const _0x397914='user:range:'+_0xc59916['mySessionId'],_0xa962f9='user:position:'+_0xc59916['mySessionId'],_0x2b2cb5=_0x3dbff4['model']['markers']['has'](_0x397914);_0x3dbff4['editing']['view']['hasDomSelection']?Z(_0xc59916['mySessionId'],_0x297b9e['selection']['getFirstRange'](),_0x3dbff4['model'],_0x31cb0e):_0x2b2cb5&&(_0x31cb0e['removeMarker'](_0x397914),_0x31cb0e['removeMarker'](_0xa962f9));});}}function Z(_0x586be5,_0x34c006,_0x537c6b,_0x1e7654){const _0x17a0ef='user:range:'+_0x586be5,_0x2a13a3='user:position:'+_0x586be5,_0x1576d5=_0x34c006['getContainedElement']();let _0x101d9f=_0x34c006['start'];if(_0x1576d5&&_0x1576d5['is']('element','tableCell')){const _0x24238c=function(_0x3c6aa5,_0x489611){for(const _0x393b55 of _0x3c6aa5['getPositions']())if(_0x489611['schema']['checkChild'](_0x393b55,'$text'))return _0x393b55;}(_0x34c006,_0x537c6b);_0x24238c&&(_0x101d9f=_0x24238c,_0x34c006=_0x1e7654['createRange'](_0x101d9f));}const _0x4ea3d9=_0x1e7654['createRange'](_0x101d9f);_0x537c6b['markers']['has'](_0x17a0ef)?(_0x1e7654['updateMarker'](_0x17a0ef,{'range':_0x34c006}),_0x1e7654['updateMarker'](_0x2a13a3,{'range':_0x4ea3d9})):(_0x1e7654['addMarker'](_0x17a0ef,{'range':_0x34c006,'usingOperation':!0x0}),_0x1e7654['addMarker'](_0x2a13a3,{'range':_0x4ea3d9,'usingOperation':!0x0}));}function V(_0x3473c5,_0x26877b,_0x40797e){const _0x48e2eb=_0x3473c5['t'],t=_0x3473c5['t'];switch(_0x26877b){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 _0x48e2eb({'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'},_0x40797e);default:return'';}}let G=0x1;class l extends _0x232b47{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x2c56b6)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x442e85,_0x1ff91e,_0x3a6344];}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 _0x49f4c3=this['serverHistory']['getOperations']();for(let _0x5d3afb=_0x49f4c3['length']-0x1;_0x5d3afb>=0x0;_0x5d3afb--){const _0x3b01ba=_0x49f4c3[_0x5d3afb];if(!this['_disconnectionOperations']['has'](_0x3b01ba))return _0x3b01ba['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x255403){if(super(_0x255403),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2afaa7(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x529824('collaboration-missing-channelid',this);const _0x39aa00=_0x255403['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x39aa00,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x26a909(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x59453f=this['editor'],_0x5e60d3=_0x59453f['plugins']['get'](_0x1ff91e),_0x44e24a=_0x59453f['plugins']['get'](n);this['listenTo'](_0x5e60d3,'getOperationAuthor',(_0x2ef997,_0x517b55)=>{const _0x5e7cc7=_0x517b55[0x0];_0x5e7cc7['_authorId']&&(_0x2ef997['return']=_0x5e60d3['getUser'](_0x5e7cc7['_authorId']),_0x2ef997['stop']()),null===_0x5e7cc7['_authorId']&&(_0x2ef997['return']=null,_0x2ef997['stop']());},{'priority':'high'}),this['listenTo'](_0x59453f['model']['document']['selection'],'change:range',(_0x7cfa06,_0x3cb7ee)=>{_0x3cb7ee['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x59453f['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x59453f['model']['on']('applyOperation',(_0x365d9f,_0x1f2f9e)=>{const _0x482cf8=_0x1f2f9e[0x0];_0x482cf8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x482cf8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x44e24a,'state',this,'_hasSynchronizationProblem',(_0x3f6857,_0x149c5b)=>'connected'===_0x3f6857&&!_0x149c5b),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x59453f['disableReadOnlyMode']('rtc-offline'):_0x59453f['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x59453f['disableReadOnlyMode']('rtc-offline'):_0x59453f['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x53848c=this['editor']['plugins']['get'](i),_0x2198fe=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x53848c['unregister'](this['_channelId']);const _0x30c3e2=await this['_service']['reconnect'](_0x2198fe['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30c3e2)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4684df=await this['_service']['getConnectedSessions']();_0x53848c['register'](this['_channelId'],_0x4684df),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2e8e8a){if(function(_0x1f280a){return'404'===_0x1f280a['code'];}(_0x2e8e8a)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4ce34b){return'409'===_0x4ce34b['code'];}(_0x2e8e8a)){const _0x53190d=V(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'](_0x53190d);}else{if(!(_0x2e8e8a instanceof $))throw _0x2e8e8a;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4ee0b1=this['editor']['plugins']['get'](n),_0x380811=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x380811['channelSessions']['has'](this['_channelId'])&&_0x380811['unregister'](this['_channelId']),_0x4ee0b1['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x8ac3a){if(this['sessionId']!==_0x8ac3a['sessionId']&&this['_lastSyncedOperationId']!==_0x8ac3a['lastOperationId'])throw new $();return this['sessionId']=_0x8ac3a['sessionId'],this['_handleServerResponse']([],{..._0x8ac3a,'wereChangesApplied':!0x1,'data':_0x8ac3a['data']},'reconnect');}async['_connectService'](_0x20773b,_0xa6f675=!0x1){const {connection:_0x5e74a4}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x5e74a4,this['_channelId'])['then'](_0x429fb6=>this['_initSessionsHandling'](_0x429fb6))['catch'](_0x383674=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x383674);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x23e743,_0x42e0f6)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x42e0f6);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2af59d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x20773b);this['_isPendingUpdate']=!0x0;const _0x2e7a93=await this['_service']['connect'](_0x5e74a4,this['_compressOperations'](_0x20773b),_0x2af59d);if(this['sessionId']=_0x2e7a93['sessionId'],_0xa6f675){if(!_0x2e7a93['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2e7a93['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x20773b,_0x2e7a93,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2e7a93,_0x20773b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2dbdfc=this['editor']['plugins']['get'](i),_0x4298b7=this['editor']['plugins']['get'](H),_0x2a7d47=_0x2dbdfc['channelSessions']['get'](this['_channelId']);_0x2a7d47&&_0x2a7d47['length']>0x1?_0x4298b7['createUserMarkerOperations']():this['listenTo'](_0x2dbdfc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2dbdfc['channelSessions']['get'](this['_channelId'])['length']&&_0x4298b7['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2919d0,_0x7e9f8c,_0x50895e,_0x284276){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x7e9f8c){const _0x3f3f03=this['_decompressOperations'](_0x50895e,_0x284276);await this['_fetchMissingUsers'](_0x3f3f03),this['_handleExternalOperations'](_0x3f3f03,_0x7e9f8c,_0x50895e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x102d9e}=this['editor'];let _0x140abc;try{_0x140abc=await this['_service']['getDocumentDetails']();}catch{const _0x287872=V(_0x102d9e,'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'](_0x287872);}const _0x307207=_0x140abc['currentDocumentSession']||_0x140abc['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x307207['lastOperationId']){const _0x454ce9=V(_0x102d9e,'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'](_0x454ce9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x386986){const _0x4c102e=this['editor']['plugins']['get'](i);this['listenTo'](_0x4c102e,'sessionAdd:'+this['_channelId'],(_0x72b883,{session:_0x1e29cf})=>{if(_0x1e29cf['id']===_0x4c102e['mySessionId']){_0x72b883['off']();const _0x32cd4d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2a9231=_0x1e29cf['permissions'];_0x32cd4d&&_0x32cd4d['isEnabled']&&(_0x2a9231=_0x2a9231['filter'](_0x268629=>'document:write'!==_0x268629)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2a9231,this['_channelId']);}}),_0x4c102e['register'](this['_channelId'],_0x386986);}['_initThrowingOnDataSet'](){const _0xed6ecb=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x58fd7f)=>{if(!_0x58fd7f[_0x58fd7f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x529824('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xed6ecb['apply'](this['editor']['data'],_0x58fd7f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x365f39,[_0x11b56d])=>{if(this['_document']['version'])throw new _0x529824('realtimecollaborationclient-init-document-already-initialized',this);_0x365f39['stop'](),this['_setPendingAction']();const _0x118122=this['editor']['config']['get']('rootsAttributes'),_0x40ae16=this['_getOperationsFromInitData'](_0x11b56d,_0x118122);0x0==_0x40ae16['length']&&_0x40ae16['push'](new _0x54fab5(0x0)),_0x365f39['return']=this['_connectService'](_0x40ae16)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x28d9b6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x28d9b6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x428cf7,[_0x434d41,_0x5832bf])=>{_0x428cf7['stop']();const _0x5337dc=this['editor']['model']['document']['getRoot'](_0x434d41);if(!this['_knownRootNames']['has'](_0x434d41)){const _0x48c4b8=_0x5832bf&&_0x5832bf['data']?_0x5832bf['data']:'',_0x2150e3=_0x5832bf&&_0x5832bf['attributes']?_0x5832bf['attributes']:{};await this['_loadRoot'](_0x434d41,_0x48c4b8,_0x2150e3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5337dc['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5337dc);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x110b37){const _0x407142=this['editor']['plugins']['get'](_0x1ff91e),{connection:_0x3536a4}=this['editor']['plugins']['get'](n),_0x4c7daf=new Set();for(const _0x3f2eb4 of _0x110b37){const _0x274c44=_0x3f2eb4['_authorId'];_0x274c44&&!_0x407142['getUser'](_0x274c44)&&_0x4c7daf['add'](_0x274c44);}if(0x0===_0x4c7daf['size'])return;const _0x423ff0=await lt['getMany'](_0x3536a4,Array['from'](_0x4c7daf));for(const _0x41e486 of _0x423ff0)_0x407142['getUser'](_0x41e486['id'])||_0x407142['addUser'](_0x41e486);}['_getOperationsFromInitData'](_0x4ad04a,_0x3f7b09={}){const _0x22c936=this['editor']['model'],_0x2baeae=[];let _0x114102=0x0;const _0x318172='string'==typeof _0x4ad04a?{'main':_0x4ad04a}:_0x4ad04a;for(const _0xc24be5 of Object['keys'](_0x318172)){if(!this['_document']['roots']['has'](_0xc24be5))throw new _0x529824('realtimecollaborationclient-init-non-existent-root',this);const _0x3e90fe=this['editor']['data']['parse'](_0x318172[_0xc24be5]),_0x343112=this['_document']['getRoot'](_0xc24be5),_0xbcc5a0=new _0x52a187(_0x22c936['createPositionAt'](_0x343112,0x0),_0x3e90fe,_0x114102++);_0x2baeae['push'](_0xbcc5a0);for(const [_0x351733,_0x28a94b]of _0x3e90fe['markers']){const _0xf0aef2=_0x22c936['createRange'](_0x22c936['createPositionFromPath'](_0x343112,_0x28a94b['start']['path']['slice']()),_0x22c936['createPositionFromPath'](_0x343112,_0x28a94b['end']['path']['slice']())),_0x227756=new _0x2cd4a0(_0x351733,null,_0xf0aef2,_0x22c936['markers'],!0x0,_0x114102++);_0x2baeae['push'](_0x227756);}}if(_0x3f7b09)for(const [_0x3b0a82,_0x5674da]of Object['entries'](_0x3f7b09)){const _0xde224b=_0x22c936['document']['getRoot'](_0x3b0a82);if(!_0xde224b)throw new _0x529824('multi-root-editor-root-attributes-no-root',null);for(const [_0x2ea23c,_0x42174e]of Object['entries'](_0x5674da))if(null!==_0x42174e){const _0x541e94=new _0x5ed840(_0xde224b,_0x2ea23c,null,_0x42174e,_0x114102++);_0x2baeae['push'](_0x541e94);}}return _0x2baeae;}async['_loadRoot'](_0x9f8c79,_0x1c800f,_0x316cbc){this['_getOperationsFromInitData']({[_0x9f8c79]:_0x1c800f},{[_0x9f8c79]:_0x316cbc})['forEach']((_0x317199,_0x3d330d)=>{_0x317199['baseVersion']=this['_document']['version']+_0x3d330d,_0x317199['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x317199);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xd1af44,_0x16acce){let _0xeca17d;this['_offset']=_0xd1af44['offset'];const _0x228d83=_0xd1af44['wereChangesApplied']&&!_0xd1af44['initData'],_0x3f25b5=_0x228d83?0x0:_0xd1af44['data']['baseVersion'];if(_0x16acce['forEach'](_0x48e857=>{_0x48e857['_isInit']=!0x0,_0x48e857['createdAt']=_0xd1af44['sessionCreatedAt'],_0x48e857['_authorId']=null;}),_0x228d83)_0xeca17d=_0x16acce,this['_applyOperationsSet'](_0xeca17d,_0x228d83);else{if(_0xd1af44['initData']){const _0x5d9e9e=this['_getOperationsFromInitData'](_0xd1af44['initData']);this['_document']['history']['version']=-_0x5d9e9e['length'],_0x5d9e9e['forEach'](_0x570e3a=>{_0x570e3a['baseVersion']-=_0x5d9e9e['length'],_0x570e3a['createdAt']=_0xd1af44['sessionCreatedAt'],_0x570e3a['_isInit']=!0x0,_0x570e3a['_authorId']=null;}),this['_applyOperationsSet'](_0x5d9e9e,!0x0),this['serverHistory']['version']=-_0x5d9e9e['length']+this['_offset'],this['_updateServerHistory'](_0x5d9e9e);}this['_document']['history']['version']=_0x3f25b5,_0xeca17d=this['_decompressOperations'](_0xd1af44['data'],_0xd1af44['metadata']),await this['_fetchMissingUsers'](_0xeca17d),this['_applyOperationsSet'](_0xeca17d,_0x228d83);}_0xd1af44['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xeca17d,_0xd1af44['lastOperationId']),this['_lastSyncedOperationId']=_0xd1af44['lastOperationId']),this['serverHistory']['version']=_0x3f25b5+this['_offset'],this['_updateServerHistory'](_0xeca17d),_0x16acce['filter'](_0x2104a0=>{const _0x456ee4=this['_getAffectedRoot'](_0x2104a0);return _0x456ee4&&!this['_knownRootNames']['has'](_0x456ee4);})['forEach']((_0x895dc8,_0x1a2bfc)=>{_0x895dc8['baseVersion']=this['_document']['version']+_0x1a2bfc,this['_saveOperationInBuffer'](_0x895dc8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x14c524,_0x58781c){const _0x9d31aa=_0x58781c&&_0x58781c['message'];if(_0x9d31aa&&_0x9d31aa['startsWith']('realtimecollaborationclient'))throw _0x58781c;const _0x5693ad=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x5693ad['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x529824(_0x14c524,this['editor'],_0x9d31aa?{'originalError':_0x9d31aa}:void 0x0);}['_saveOperationInBuffer'](_0x45bee2){this['_knownOperations']['has'](_0x45bee2)||(this['_knownOperations']['add'](_0x45bee2),this['_bufferedOperations']['push'](_0x45bee2),this['_pendingAction']||'marker'==_0x45bee2['type']&&!_0x45bee2['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x95cfe8=!0x1){!_0x95cfe8&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x586032=>{_0x586032&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x351c63=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5d4f5f){return _0x5d4f5f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5d4f5f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5d4f5f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x351c63)||this['_crash'](_0x351c63['message'],_0x351c63);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x32af9f=>{this['on']('change:_isPendingUpdate',()=>{_0x32af9f();});});}async['_sendBufferedOperations'](){const _0x48cc35=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x48cc35['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f5185=[...this['_bufferedOperations']];for(const _0x2912a1 of _0x1f5185)_0x2912a1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2912a1);const _0x5adb26=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f5185),_0x75f16b=G++,_0x1c892b=this['_compressOperations'](_0x1f5185),_0x52afa9=await this['_service']['sendOperations'](_0x1c892b,_0x1c892b['baseVersion'],_0x5adb26);try{return await this['_handleServerResponse'](_0x1f5185,_0x52afa9,_0x75f16b);}catch(_0x1b622b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1b622b);}}async['_handleServerResponse'](_0x587052,_0x4af676,_0x31003d){if('error'in _0x4af676)throw _0x4af676['error'];let _0x2535d6=!0x1;if(_0x4af676['wereChangesApplied']){_0x4af676['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4af676['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x35875c=>!_0x587052['includes'](_0x35875c));for(const _0x44b932 of _0x587052)_0x44b932['createdAt']='lastOperationAcceptedAt'in _0x4af676&&_0x4af676['lastOperationAcceptedAt']||void 0x0;K(_0x587052,_0x4af676['version']-_0x587052['length']),this['_updateServerHistory'](_0x587052);const _0x33e46e=_0x587052['filter'](_0x329b40=>{if(!_0x329b40['_isInit'])return!0x1;const _0x345846=this['_getAffectedRoot'](_0x329b40);return _0x345846&&!this['_knownRootNames']['has'](_0x345846);});K(_0x33e46e,this['_document']['version']),this['_applyOperationsSet'](_0x33e46e),_0x2535d6=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5f1fcb=this['_decompressOperations'](_0x4af676['data'],_0x4af676['metadata'])['filter'](_0x277488=>_0x277488['baseVersion']>=this['_lastServerVersion']);_0x5f1fcb['forEach'](_0x3b596d=>this['_addKnownRoot'](_0x3b596d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xac9fff=>!_0xac9fff['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xac9fff))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5f1fcb),_0x2535d6=this['_handleExternalOperations'](_0x5f1fcb,_0x4af676['version'],_0x4af676['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2535d6?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1cd7c6,_0xd31acd,_0x581f60){try{const _0x4f06e0={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x34b545,operationsB:_0x145efb,originalOperations:_0x3330ac}=_0x498326(_0x1cd7c6,this['_bufferedOperations'],_0x4f06e0);K(_0x34b545,this['_document']['version']),K(_0x145efb,_0xd31acd);for(const _0x26df58 of _0x34b545){const _0x28361f=_0x3330ac['get'](_0x26df58);_0x26df58['_authorId']=_0x28361f?_0x28361f['_authorId']:null;}_0x581f60&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1cd7c6,_0x581f60),this['_lastSyncedOperationId']=_0x581f60),this['_bufferedOperations']=[..._0x145efb],this['_applyOperationsSet'](_0x34b545),this['_updateServerHistory'](_0x1cd7c6);}catch(_0x44558b){return console['error'](_0x44558b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x250d3f,_0x537680=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4bfbc5=>{for(const _0x30d84d of _0x250d3f)this['_knownOperations']['add'](_0x30d84d),this['_addKnownRoot'](_0x30d84d),_0x4bfbc5['batch']['addOperation'](_0x30d84d),this['editor']['model']['applyOperation'](_0x30d84d);});}['_addKnownRoot'](_0x496656){const _0x33547c=this['_getAffectedRoot'](_0x496656);_0x33547c&&this['_knownRootNames']['add'](_0x33547c);}['_getAffectedRoot'](_0x16bc00){let _0x4b2d50,_0x2d5a85;switch(_0x16bc00['type']){case'insert':_0x4b2d50=_0x16bc00['position']['root'];break;case'marker':if(_0x2d5a85=_0x16bc00['newRange'],!_0x2d5a85)return null;_0x4b2d50=_0x2d5a85['root'];break;case'addRootAttribute':_0x4b2d50=_0x16bc00['root'];break;case'addRoot':_0x4b2d50=_0x16bc00['affectedSelectable'];break;case'move':_0x4b2d50=_0x16bc00['targetPosition']['root'];break;default:return null;}return _0x4b2d50['rootName'];}['_updateServerHistory'](_0x2c43ed){_0x2c43ed['forEach'](_0x42ae4e=>{const _0x55cbf3=_0x42ae4e['clone']();_0x55cbf3['_authorId']=_0x42ae4e['_authorId'],_0x55cbf3['_isInit']=!!_0x42ae4e['_isInit'],_0x55cbf3['createdAt']=_0x42ae4e['createdAt'],_0x55cbf3['baseVersion']+=this['_offset'],_0x42ae4e['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x55cbf3),this['serverHistory']['addOperation'](_0x55cbf3);});}['_handleReconnectionError'](_0x158aff){const _0x2495d1=this['editor']['plugins']['get']('Notification'),_0x2ec934=this['editor']['locale'];_0x158aff||(_0x158aff=V(_0x2ec934,'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.')),_0x2495d1['showWarning'](_0x158aff,{'title':V(_0x2ec934,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x442e85)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442e85)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3a5d9a){const _0x873e2e=_0x3a5d9a['map'](_0x2a004c=>_0x2a004c['toJSON']());return this['_compressor']['compress'](_0x873e2e);}['_decompressOperations'](_0x3ca4f0,_0x59d16a){return this['_compressor']['decompress'](_0x3ca4f0)['map']((_0x4cfec7,_0x430f78)=>{const _0x4cea65='init'==_0x59d16a[_0x430f78]['type'];if('InsertOperation'==_0x4cfec7['__className']){const _0x3ce2f0=_0x4cfec7['position']['root'];!this['_document']['getRoot'](_0x3ce2f0)&&(this['_document']['createRoot']('$root',_0x3ce2f0)['_isAttached']=!0x1);}const _0x4f6c33=_0x406a32['fromJSON'](_0x4cfec7,this['_document']);return _0x4f6c33['wasUndone']=_0x4cfec7['wasUndone'],_0x4f6c33['_isInit']=_0x4cea65,_0x4f6c33['_authorId']=_0x4cea65?null:_0x59d16a[_0x430f78]['userId'],_0x4f6c33['_isDisconnection']='cs:removeUser'===_0x59d16a[_0x430f78]['type'],_0x4f6c33['createdAt']=_0x59d16a[_0x430f78]['createdAt'],_0x4f6c33;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x578ec3=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x578ec3&&_0x578ec3['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x29f4e4,_0x16478d){for(const _0x12bdd2 of _0x29f4e4)_0x12bdd2['baseVersion']=_0x16478d++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x27c256){this['_ignoredOperations']=_0x27c256,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x41f887){let _0x16cbb8=_0x41f887['length'];for(;_0x16cbb8--;){const _0x46ca6d=_0x41f887[_0x16cbb8];if(!this['_ignoredOperations']['has'](_0x46ca6d)){if(!this['_operationToId']['has'](_0x46ca6d)){const _0x362e01=_0x4bb96a()['slice'](0x1,0x12);this['_operationToId']['set'](_0x46ca6d,_0x362e01);}return this['_operationToId']['get'](_0x46ca6d);}}}['setIdForTheLastOperation'](_0x333c22,_0x49dd8e){if(!_0x49dd8e)return;let _0x1f9cb4=_0x333c22['length'];for(;_0x1f9cb4--;){const _0x3a4dd1=_0x333c22[_0x1f9cb4];this['_ignoredOperations']['has'](_0x3a4dd1)||this['_operationToId']['set'](_0x3a4dd1,_0x49dd8e);}}}class a extends _0x232b47{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1a80af{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x229c97)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1ff91e];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2a118f){super(_0x2a118f),this['_services']=new Map();}async['init'](){const _0x3ca20e=this['context'],_0x26cc98=_0x3ca20e['plugins']['get']('CommentsRepository');if(_0x3ca20e['plugins']['get'](n)['addToReconnectionStack'](this),_0x26cc98['adapter']={'addCommentThread':async({channelId:_0x25eea5,threadId:_0x55de0e,comments:_0x254728,resolvedAt:_0x512fda,resolvedBy:_0x39db07,context:_0x1fba5f,attributes:_0x3fc76d})=>{const _0x3440e3=await this['_getService'](_0x25eea5)['addCommentThread']({'commentThreadId':_0x55de0e,'comments':_0x254728['map'](_0x15203b=>function(_0x2114f3,_0x3594e1,_0x428fb0){return{'commentThreadId':_0x428fb0,'commentId':_0x2114f3['commentId'],'userId':_0x2114f3['authorId'],'content':_0x2114f3['content'],'documentId':_0x3594e1,'createdAt':_0x2114f3['createdAt'],'attributes':_0x2114f3['attributes']||{}};}(_0x15203b,_0x25eea5,_0x55de0e)),'resolvedAt':_0x512fda,'resolvedBy':_0x39db07,'context':_0x1fba5f,'attributes':_0x3fc76d})['catch'](dt);return{'threadId':_0x3440e3['commentThreadId'],'comments':_0x3440e3['comments']};},'getCommentThread':async({channelId:_0x54e456,threadId:_0x15fd51})=>{const _0x4c6841=await this['_getService'](_0x54e456)['getCommentThread'](_0x15fd51)['catch'](F)['catch'](dt);return _0x4c6841?_0x4c6841['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4c6841]),{'threadId':_0x4c6841['commentThreadId'],'comments':_0x4c6841['comments']['map'](S),'context':_0x4c6841['context'],'resolvedAt':_0x4c6841['resolvedAt'],'resolvedBy':_0x4c6841['resolvedBy'],'attributes':_0x4c6841['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x49aa79,threadId:_0xd6aa7c,context:_0x26d2e7,unlinkedAt:_0x1e2b81,attributes:_0x5b9199})=>this['_getService'](_0x49aa79)['updateCommentThread']({'commentThreadId':_0xd6aa7c,'context':_0x26d2e7,'attributes':_0x5b9199,'unlinkedAt':_0x1e2b81})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x5598aa,threadId:_0x37f401})=>{const _0x3f997b=await this['_getService'](_0x5598aa)['resolveCommentThread'](_0x37f401)['catch'](F)['catch'](dt);return{'threadId':_0x3f997b['commentThreadId'],'resolvedAt':_0x3f997b['resolvedAt'],'resolvedBy':_0x3f997b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4ef15d,threadId:_0x4f8de6})=>this['_getService'](_0x4ef15d)['reopenCommentThread'](_0x4f8de6)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x47f909,threadId:_0x3216e8})=>this['_getService'](_0x47f909)['removeCommentThread'](_0x3216e8)['catch'](F)['catch'](dt),'addComment':({channelId:_0x41eee6,threadId:_0x35cd76,commentId:_0x1c46dc,content:_0x197012,attributes:_0x2cf239})=>this['_getService'](_0x41eee6)['addComment'](_0x35cd76,_0x1c46dc,_0x197012,_0x2cf239)['catch'](dt),'updateComment':({channelId:_0x25dcbc,threadId:_0x1535ec,commentId:_0x1d0bb1,content:_0x5f5aab,attributes:_0x45f507})=>this['_getService'](_0x25dcbc)['updateComment'](_0x1535ec,_0x1d0bb1,_0x5f5aab,_0x45f507)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x2f44a3,threadId:_0x4dfb0c,commentId:_0x6ccc6b})=>this['_getService'](_0x2f44a3)['removeComment'](_0x4dfb0c,_0x6ccc6b)['catch'](F)['catch'](dt)},_0x3ca20e instanceof _0x385ab6){const _0x167629=_0x3ca20e['config']['get']('collaboration.channelId'),_0x35f38a=_0x3ca20e['plugins']['get'](i);await this['_setUpService'](_0x167629);const _0x43075c=await this['_services']['get'](_0x167629)['getConnectedSessions']();this['listenTo'](_0x35f38a,'sessionAdd:'+_0x167629,(_0x3f06d8,{session:_0x5cd357})=>{_0x5cd357['id']===_0x35f38a['mySessionId']&&(_0x3f06d8['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5cd357['permissions'],_0x167629));}),_0x35f38a['register'](_0x167629,_0x43075c);}}async['_setUpService'](_0x2ab0ea){if(this['_services']['has'](_0x2ab0ea))throw new _0x529824('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2ab0ea});const _0x366852=this['context']['plugins']['get']('CommentsRepository'),_0x5e72d2=new s['CommentsService'](_0x2ab0ea);this['_services']['set'](_0x2ab0ea,_0x5e72d2),this['listenTo'](_0x5e72d2,'commentThreadAdded',(_0x57eb9d,_0x509af9)=>{const {commentThreadId:_0x3720cf,documentId:_0x3dc5b7,context:_0x14c84a,attributes:_0xb6dc56,resolvedAt:_0x1460c1,resolvedBy:_0x43254d,comments:_0x1d96fc}=_0x509af9;_0x366852['getCommentThread'](_0x3720cf)||_0x366852['addCommentThread']({'threadId':_0x3720cf,'channelId':_0x3dc5b7,'comments':_0x1d96fc?_0x1d96fc['map'](S):[],'context':_0x14c84a,'attributes':_0xb6dc56,'resolvedAt':_0x1460c1,'resolvedBy':_0x43254d,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadUpdated',(_0x3586a2,{commentThreadId:_0x4340ba,documentId:_0x2a6fce,context:_0x33ca2e,unlinkedAt:_0x3fcdb7,attributes:_0x403bdf})=>{_0x366852['getCommentThread'](_0x4340ba)&&_0x366852['updateCommentThread']({'threadId':_0x4340ba,'channelId':_0x2a6fce,'context':_0x33ca2e,'unlinkedAt':_0x3fcdb7,'attributes':_0x403bdf,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadResolved',(_0x340027,{commentThreadId:_0x9c3c75,resolvedBy:_0x63d7a7,resolvedAt:_0x4b3b4e})=>{const _0x5d06fc=_0x366852['getCommentThread'](_0x9c3c75);_0x5d06fc&&_0x5d06fc['resolve']({'resolvedBy':_0x63d7a7,'resolvedAt':_0x4b3b4e,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadReopened',(_0xbbe17c,{commentThreadId:_0x4ddb27})=>{const _0x293cf7=_0x366852['getCommentThread'](_0x4ddb27);_0x293cf7&&_0x293cf7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadRemoved',(_0x1987c9,{commentThreadId:_0x54394b})=>{const _0x59b13f=_0x366852['getCommentThread'](_0x54394b);_0x59b13f&&_0x59b13f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentAdded',(_0x11bfe0,_0x513e46)=>{const _0x3b7f5b=_0x513e46['commentThreadId'],_0x5684c5=_0x366852['getCommentThread'](_0x3b7f5b);_0x5684c5&&_0x5684c5['addComment']({...S(_0x513e46),'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentUpdated',(_0x5c1d06,{commentThreadId:_0x59a598,commentId:_0x4a4e26,content:_0x49b4c2,attributes:_0x2d6609})=>{const _0x44c854=_0x366852['getCommentThread'](_0x59a598);if(_0x44c854){const _0x56b4bd=_0x44c854['getComment'](_0x4a4e26);_0x56b4bd&&_0x56b4bd['update']({'content':_0x49b4c2,'attributes':_0x2d6609,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5e72d2,'commentRemoved',(_0x290444,{commentThreadId:_0x5dd26f,commentId:_0x3540fe})=>{const _0x110a4a=_0x366852['getCommentThread'](_0x5dd26f);if(_0x110a4a){const _0xc42216=_0x110a4a['getComment'](_0x3540fe);_0xc42216&&_0xc42216['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2ab0ea);}['destroy'](){if(this['context']instanceof _0x385ab6){const _0x16b298=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x16b298);}}['_terminateService'](_0x2d3765){if(!this['_services']['has'](_0x2d3765))throw new _0x529824('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2d3765});this['_getService'](_0x2d3765)['disconnect'](),this['_services']['delete'](_0x2d3765);}async['reconnect'](){for(const _0x10105d of this['_services']['keys']())await this['_connectService'](_0x10105d);if(this['context']instanceof _0x385ab6){const _0x1f46e5=this['context']['config']['get']('collaboration.channelId'),_0x36e88b=this['context']['plugins']['get'](i);_0x36e88b['unregister'](_0x1f46e5);const _0x3a38e0=await this['_services']['get'](_0x1f46e5)['getConnectedSessions']();_0x36e88b['register'](_0x1f46e5,_0x3a38e0);}}async['_connectService'](_0x593266){const {connection:_0x2cb0be}=this['context']['plugins']['get'](n),_0x23d3cb=this['context']['plugins']['get']('CommentsRepository'),_0x59b8c9=this['_services']['get'](_0x593266),_0x1f445b=await _0x59b8c9['connect'](_0x2cb0be);await this['_fetchMissingUsersForThreads'](_0x1f445b);const _0x2fad8a=new Set(Array['from'](_0x23d3cb['getCommentThreads']({'channelId':_0x593266}),_0x7a77e3=>_0x7a77e3['id']));for(const _0x9ff5c2 of _0x1f445b)_0x9ff5c2['deletedAt']||_0x2fad8a['delete'](_0x9ff5c2['commentThreadId']);for(const _0x9752ac of _0x2fad8a)_0x23d3cb['getCommentThread'](_0x9752ac)['remove']({'isFromAdapter':!0x0});for(const _0x487115 of _0x1f445b){let _0x42f866=_0x23d3cb['getCommentThread'](_0x487115['commentThreadId']);const {commentThreadId:_0x22f998,context:_0x56ddc6,attributes:_0x28ca1a,resolvedBy:_0x1d8589,resolvedAt:_0x2531ea,unlinkedAt:_0x359379,deletedAt:_0x150974}=_0x487115;if(_0x150974)continue;_0x42f866||(_0x42f866=_0x23d3cb['addCommentThread']({'channelId':_0x593266,'threadId':_0x22f998,'context':_0x56ddc6,'attributes':_0x28ca1a||{},'resolvedBy':_0x1d8589,'resolvedAt':_0x2531ea,'unlinkedAt':_0x359379,'isFromAdapter':!0x0}));const _0x3e465f=new Set(Array['from'](_0x42f866['comments'],_0x5a866e=>_0x5a866e['id']));for(const _0xfb3265 of _0x487115['comments'])_0x3e465f['delete'](_0xfb3265['commentId']);for(const _0x1aaa75 of _0x3e465f)_0x42f866['getComment'](_0x1aaa75)['remove']({'isFromAdapter':!0x0});for(const _0x1460a3 of _0x487115['comments']){const _0x3108fc=_0x42f866['getComment'](_0x1460a3['commentId']);_0x3108fc?_0x3108fc['content']!==_0x1460a3['content']&&_0x3108fc['update']({'content':_0x1460a3['content'],'isFromAdapter':!0x0}):_0x42f866['addComment'](Object['assign'](S(_0x1460a3),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2f3fc6){if(!this['_services']['has'](_0x2f3fc6))throw new _0x529824('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2f3fc6});return this['_services']['get'](_0x2f3fc6);}async['_fetchMissingUsersForThreads'](_0x3d79b1){const _0x5eded6=this['context']['plugins']['get'](_0x1ff91e),{connection:_0x4a8382}=this['context']['plugins']['get'](n),_0x293238=new Set();for(const {resolvedBy:_0x590f31,comments:_0x5f2469}of _0x3d79b1){_0x590f31&&!_0x5eded6['getUser'](_0x590f31)&&_0x293238['add'](_0x590f31);for(const {userId:_0x4bd5c9}of _0x5f2469)_0x5eded6['getUser'](_0x4bd5c9)||_0x293238['add'](_0x4bd5c9);}if(0x0===_0x293238['size'])return;const _0x4581f5=await lt['getMany'](_0x4a8382,Array['from'](_0x293238));for(const _0x21be3f of _0x4581f5)_0x5eded6['getUser'](_0x21be3f['id'])||_0x5eded6['addUser'](_0x21be3f);}}async function F(_0x3bea14){if('404'!==_0x3bea14['code'])throw _0x3bea14;}function dt(_0x3fa3ca){if((_0x42c160=_0x3fa3ca)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x42c160['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x42c160['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x42c160;throw _0x3fa3ca;}function S(_0x41c4f8){return{'threadId':_0x41c4f8['commentThreadId'],'commentId':_0x41c4f8['commentId'],'content':_0x41c4f8['content'],'createdAt':_0x41c4f8['createdAt'],'authorId':_0x41c4f8['userId'],'attributes':_0x41c4f8['attributes']||{}};}class m extends _0x232b47{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x219091){super(_0x219091);const _0x13dc72=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x13dc72);}['init'](){const _0xdd3193=this['editor']['plugins']['get'](n),_0x2af7ed=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2af7ed['adapter']={'getSuggestion':async _0x5a00b2=>{await this['_waitForServiceReady']();const _0xb4f008=await this['_trackChangesService']['get'](_0x5a00b2)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0xb4f008]),_0xb4f008;},'addSuggestion':async({id:_0x289532,type:_0x39b37f,data:_0x408273,originalSuggestionId:_0x143a5c,attributes:_0x5d4f9f})=>{await this['_waitForServiceReady']();const _0x384496={'id':_0x289532,'type':_0x39b37f,'data':_0x408273,'originalSuggestionId':_0x143a5c,'attributes':_0x5d4f9f},_0x34cb48=await this['_trackChangesService']['add'](_0x289532,_0x39b37f,_0x408273,_0x143a5c,_0x5d4f9f)['catch'](_0x577e7e=>{if(ut(_0x577e7e))return new Promise(_0x2df156=>{this['_bufferedRequests']['set'](_0x289532,{'resolve':_0x2df156,'suggestionData':_0x384496});});throw _0x577e7e;});return this['_bufferedRequests']['delete'](_0x289532),_0x34cb48;},'updateSuggestion':async(_0x4cc0cd,_0x40765b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x40765b['state'])return this['_trackChangesService']['update'](_0x4cc0cd,_0x40765b)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3b320e,_0x26cb96)=>{_0x2af7ed['hasSuggestion'](_0x26cb96['id'])&&(_0x2af7ed['getSuggestion'](_0x26cb96['id'])['attributes']=_0x26cb96['attributes']);}),this['_trackChangesService']['connect'](_0xdd3193['connection'])['then'](_0x1e94e8=>(_0xdd3193['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1e94e8)['then'](()=>{for(const _0x5896c3 of _0x1e94e8){_0x2af7ed['addSuggestionData'](_0x5896c3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x583a2d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x210769}=this['editor']['plugins']['get'](n),_0x5ad899=await this['_trackChangesService']['connect'](_0x210769);await this['_fetchMissingUsersForThreads'](_0x5ad899);for(const {suggestionData:_0x7aefc6,resolve:_0x2994c7}of this['_bufferedRequests']['values']()){let _0x314987=_0x5ad899['find'](_0x858f79=>_0x858f79['id']===_0x7aefc6['id']);_0x314987||(_0x314987=await this['_trackChangesService']['add'](_0x7aefc6['id'],_0x7aefc6['type'],_0x7aefc6['data'],_0x7aefc6['originalSuggestionId'])),_0x2994c7(_0x314987);}for(const _0x396825 of _0x5ad899)_0x583a2d['hasSuggestion'](_0x396825['id'])||_0x583a2d['addSuggestionData'](_0x396825);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x323eaf=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1c1d11=>{_0x1c1d11['off'](),_0x323eaf();});});}async['_fetchMissingUsersForThreads'](_0x2a28f5){const _0x2fce76=this['editor']['plugins']['get'](_0x1ff91e),{connection:_0x489073}=this['editor']['plugins']['get'](n),_0x48148c=new Set();for(const {authorId:_0x544439}of _0x2a28f5)_0x2fce76['getUser'](_0x544439)||_0x48148c['add'](_0x544439);if(0x0===_0x48148c['size'])return;const _0x37fa2a=await lt['getMany'](_0x489073,Array['from'](_0x48148c));for(const _0xc5a64e of _0x37fa2a)_0x2fce76['getUser'](_0xc5a64e['id'])||_0x2fce76['addUser'](_0xc5a64e);}}function k(_0xc0a2fe){if(ut(_0xc0a2fe))return new Promise(()=>{});throw _0xc0a2fe;}function ut(_0x144bc5){return _0x144bc5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x144bc5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x232b47{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x454f30=this['editor']['plugins']['get'](n),_0x339d78=this['editor']['plugins']['get']('CommentsEditing'),_0x142b90=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x454f30,'change:state',(_0x2f29ec,_0x4a1056,_0x5f52ce)=>{_0x339d78['isThreadsLoadingPaused']='connected'!==_0x5f52ce;});}),this['listenTo'](_0x454f30,'change:state',(_0x1959af,_0x268ba7,_0x360d03)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x360d03);}),_0x142b90['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x232b47{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x232b47{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1ff91e];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x46026d){super(_0x46026d);const _0x5c7efa=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5c7efa);}async['init'](){const _0x4fc6d3=this['editor']['plugins']['get'](l),_0x59b769=_0x4fc6d3['serverHistory'],_0x3ba0ac=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x59b769,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4fc6d3['sessionId']});const _0x816755=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xb04808=await tt['isBundleUploaded'](_0x3ba0ac['connection'],_0x816755);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2f609f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2f609f)),'updateRevisions':async _0x27c872=>{await this['_waitForServiceReady']();const _0x182a9d=this['_revisionTracker']['currentRevision'];if(_0xb04808&&0x1===_0x27c872['length']&&_0x27c872[0x0]['id']===_0x182a9d['id'])return _0x27c872;for(const _0xf1852c of _0x27c872)_0xf1852c['id']===_0x182a9d['id']&&(_0xf1852c['isEmptyCurrent']=_0xf1852c['fromVersion']===_0xf1852c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x27c872,this['_lastRequestId'])['then'](_0x48d744=>(this['_lastRequestId']=_0x48d744,_0x27c872))['catch'](_0x10f970=>{if(st(_0x10f970)||'400'===_0x10f970['code']&&void 0x0!==_0x10f970['data']['wrongRequestId']){for(const _0x52e2c2 of _0x27c872){!this['_revisionTracker']['repository']['getRevision'](_0x52e2c2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x52e2c2['id'],_0x52e2c2,!0x1);}if(st(_0x10f970))throw _0x10f970;return _0x27c872;}throw _0x10f970;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5cff73,{revisionsData:_0x24d3da,requestId:_0x4151da})=>{Math['max'](..._0x24d3da['map'](_0x4d7333=>_0x4d7333['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x24d3da,_0x4151da);}):this['_handleRevisionsUpdate'](_0x24d3da,_0x4151da);});const {revisions:_0x5c6d35,requestId:_0x5290ff}=await this['_revisionHistoryService']['connect'](_0x3ba0ac['connection']);_0x3ba0ac['addToReconnectionStack'](this),this['_lastRequestId']=_0x5290ff,await this['_fetchMissingUsers'](_0x5c6d35);for(const _0xb8cae6 of _0x5c6d35)this['_revisionTracker']['addRevisionData'](_0xb8cae6);this['listenTo'](_0x4fc6d3,'change:_isConnected',(_0xc597b3,_0x38513e,_0x173d1c)=>{_0x173d1c&&(this['_oldOffset']=_0x4fc6d3['_offset'],_0xc597b3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3ba0ac,'state',_0x7843b8=>_0x7843b8===te['CONNECTED']);}async['reconnect'](){const _0x802541=this['editor']['plugins']['get'](n),_0x277fde=this['editor']['plugins']['get'](l),_0x30bf5c=async()=>{const _0x465aac=this['_revisionTracker']['currentRevision'],_0x4db0a0=_0x465aac['id'],_0x423930=_0x4db0a0!==_0x277fde['sessionId'];if(_0x423930){const _0x3b6a97=_0x277fde['_offset']-this['_oldOffset'],_0x49180b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x465aac['toVersion']+_0x3b6a97!==_0x49180b){const _0x4efc6b=_0x465aac['fromVersion']+_0x3b6a97,_0x52c78a=this['editor']['plugins']['get'](_0x1ff91e),_0x1d0026=this['_revisionTracker']['buildRevisionData']({'revision':_0x465aac,'from':_0x4efc6b,'to':_0x49180b});_0x1d0026['id']=_0x465aac['id'];const _0x5cf189=_0x1d0026['authorsIds']['map'](_0xf8cdbc=>_0x52c78a['getUser'](_0xf8cdbc));_0x465aac['_update']({..._0x1d0026,'authors':_0x5cf189},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x465aac['id'],_0x1d0026,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49180b,(_0x465aac['toVersion']===_0x465aac['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4db0a0)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4db0a0),this['_revisionTracker']['_createCurrentRevision'](_0x49180b));}const {revisions:_0x5d80a9,requestId:_0xddbdb9}=await this['_revisionHistoryService']['reconnect'](_0x802541['connection'],this['_lastRequestId']);_0x423930&&_0x5d80a9['length']>0x0?_0x277fde['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5d80a9),this['_handleRevisionsUpdate'](_0x5d80a9,_0xddbdb9),this['_revisionTracker']['sendBufferedUpdates']());};return _0x277fde['_isConnected']?_0x30bf5c():new Promise((_0x5d9840,_0x57ca63)=>{_0x277fde['once']('change:_isConnected',()=>{_0x30bf5c()['then'](_0x5d9840)['catch'](_0x57ca63);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2ea106=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2c0603=>{_0x2c0603['off'](),_0x2ea106();});});}['_getLatestVersionFromServerOperations'](){const _0x4d6532=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x885149 of _0x4d6532)if('marker'!==_0x885149['type']||_0x885149['affectsData'])return _0x885149['baseVersion']+0x1;}['_getLatestVersion'](){const _0x45584f=this['editor']['plugins']['get'](l);return new Promise(_0x619e1d=>{_0x45584f['_isPendingUpdate']?_0x45584f['once']('change:_isPendingUpdate',()=>{_0x619e1d(this['_getLatestVersionFromServerOperations']());}):_0x619e1d(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xa8e8d4,_0x5e1efd){const _0x148b4c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5e1efd;for(const _0x2194e6 of _0xa8e8d4){const _0x5553f8=_0x148b4c['getRevision'](_0x2194e6['id']);if(_0x5553f8){if((_0x2194e6['fromVersion']||_0x2194e6['toVersion'])&&(_0x2194e6['diffData']=null),_0x5553f8===this['_revisionTracker']['currentRevision']){const _0x23f039=Math['max'](_0x5553f8['toVersion'],_0x2194e6['toVersion']),_0xf561af=Math['max'](_0x5553f8['fromVersion'],_0x2194e6['fromVersion']);let _0x394c2a;_0x5553f8['toVersion']===_0x2194e6['toVersion']&&_0x5553f8['fromVersion']===_0x2194e6['fromVersion']?(_0x394c2a=!0x0,this['_preventResendingRevisionData'](_0x2194e6)):_0x2194e6['toVersion']===_0x23f039&&_0x2194e6['fromVersion']===_0xf561af?_0x394c2a=!0x1:(_0x5553f8['toVersion']===_0x23f039&&_0x5553f8['fromVersion']===_0xf561af||this['_fixRevision']({'revision':_0x5553f8,'from':_0xf561af,'to':_0x23f039}),_0x394c2a=!0x0),_0x394c2a&&(delete _0x2194e6['fromVersion'],delete _0x2194e6['toVersion'],delete _0x2194e6['diffData'],delete _0x2194e6['createdAt'],delete _0x2194e6['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2194e6),this['_preventResendingRevisionData'](_0x2194e6);}else this['_revisionTracker']['addRevisionData'](_0x2194e6);}const _0x23ba04=_0x148b4c['getRevisions']();_0x23ba04['reverse']();for(let _0x55265d=0x0;_0x55265d<_0x23ba04['length']-0x1;_0x55265d++){const _0x26a263=_0x23ba04[_0x55265d],_0x5b77fe=_0x23ba04[_0x55265d+0x1];if(_0x26a263['fromVersion']<_0x5b77fe['toVersion']){const _0x140c9a=_0x5b77fe['toVersion'],_0x1798a8=Math['max'](_0x140c9a,_0x26a263['toVersion']);this['_fixRevision']({'revision':_0x26a263,'from':_0x140c9a,'to':_0x1798a8});}}}['_fixRevision']({revision:_0x434cc9,from:_0x13d9dc,to:_0x9f438d}={}){const _0x1c5e96=this['editor']['plugins']['get'](_0x1ff91e),_0x456ce8=this['_revisionTracker']['buildRevisionData']({'revision':_0x434cc9,'from':_0x13d9dc,'to':_0x9f438d});_0x456ce8['authors']=_0x456ce8['authorsIds']['map'](_0x52dbf9=>_0x1c5e96['getUser'](_0x52dbf9)),_0x434cc9['_update'](_0x456ce8);}['_preventResendingRevisionData'](_0x222cdc){const _0x3a743d={};_0x3a743d['id']=_0x222cdc['id'];for(const _0x4ea964 of Object['keys'](_0x222cdc))'id'!==_0x4ea964&&(_0x3a743d[_0x4ea964]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3a743d['id'],_0x3a743d,!0x0);}async['_fetchMissingUsers'](_0x40de07){const _0x48674b=this['editor']['plugins']['get'](_0x1ff91e),{connection:_0x427b2d}=this['editor']['plugins']['get'](n),_0x467577=new Set();for(const _0x3414ed of _0x40de07){for(const _0x5ae7d7 of _0x3414ed['authorsIds'])_0x35da79(_0x5ae7d7);_0x3414ed['creatorId']&&_0x35da79(_0x3414ed['creatorId']);}if(0x0===_0x467577['size'])return;const _0x3cace2=await lt['getMany'](_0x427b2d,Array['from'](_0x467577));for(const _0x42ea46 of _0x3cace2)_0x48674b['getUser'](_0x42ea46['id'])||_0x48674b['addUser'](_0x42ea46);function _0x35da79(_0x32c3b6){_0x48674b['getUser'](_0x32c3b6)||_0x467577['add'](_0x32c3b6);}}}function st(_0x465d26){return _0x465d26['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x465d26['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x465d26['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x232b47{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x210562{['_collapseAt'];constructor(_0x21e95e,_0x53f5ee=0x6){super(_0x21e95e);const _0x1c9d26=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x53f5ee,this['bind']('isHidden')['to'](this,'usersCount',_0x2e6f9e=>_0x2e6f9e<_0x53f5ee),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1c9d26['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':_0x1c9d26['to']('usersCount',_0x87a4c=>'+'+(_0x87a4c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x210562{['items'];['keystrokes'];constructor(_0x2d41a0){super(_0x2d41a0);const _0x4d5d2a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2494c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4d5d2a['if']('hasPopup'),'aria-expanded':_0x4d5d2a['to']('isExpanded',_0xbc5ab3=>this['hasPopup']&&String(_0xbc5ab3)),'aria-label':_0x4d5d2a['to']('hasPopup',_0x5ba1ff=>V(_0x2d41a0,_0x5ba1ff?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4d5d2a['to']('hasPopup',_0x5a9d32=>!!_0x5a9d32&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4d5d2a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4d5d2a['to'](_0x25d83f=>{const _0x16a22d=_0x25d83f,_0x2988c6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5816de=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2988c6?.['contains'](_0x16a22d['relatedTarget'])||_0x5816de?.['contains'](_0x16a22d['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x17e795,_0x415b12,_0x192be1)=>{this['element']&&(_0x192be1?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x210562{['counterView'];['inlineListView'];constructor(_0x2d84df,_0x5e2f5f=0x6){super(_0x2d84df);const _0x24b509=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x5e2f5f),this['inlineListView']=new is(_0x2d84df),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2bf175 of this['inlineListView']['items'])_0x2bf175['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',_0x24b509['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x210562{['listWrapperView'];constructor(_0xc4da35,_0x29b771){super(_0xc4da35);const _0x3c9bb2=this['bindTemplate'];this['listWrapperView']=new pt(_0xc4da35,_0x29b771),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0xc4da35,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3c9bb2['to'](_0x56b5e9=>{const _0x223274=_0x56b5e9,_0x2be711=document['querySelector']('.ck-presence-list__list'),_0x4e48e6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2be711?.['contains'](_0x223274['relatedTarget'])||_0x4e48e6?.['contains'](_0x223274['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x4fbea9{constructor(_0x49e2f7,_0x4731e3){super(_0x49e2f7);const _0x4e95dd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4731e3?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4e95dd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4e95dd['to']('role'),'aria-label':_0x4e95dd['to']('ariaLabel'),'aria-labelledby':_0x4e95dd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x201d53['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x371fea=this['element'];_0x371fea&&(this['_isScrollable']=Math['max'](_0x371fea['scrollHeight'],_0x371fea['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x12f744,_0x2085d3,_0x247958){super(_0x12f744);const _0x8c81cb=this['bindTemplate'];this['userView']=new ct(_0x12f744,_0x2085d3);const _0xced699={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2085d3['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2085d3['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2085d3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x247958&&(_0xced699['tag']='button',_0xced699['on']={'click':_0x8c81cb['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xced699);}['focus'](){this['element']['focus']();}}class A extends _0x210562{['userView'];['markerView'];constructor(_0x16c825,_0x47d6d7,_0x142ba6){super(_0x16c825);const _0x136041=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x16c825,_0x47d6d7),this['markerView']=new at(_0x16c825,_0x47d6d7);const _0x1242ea=new ot(_0x16c825);_0x1242ea['template']['tag']='span',_0x1242ea['text']=_0x47d6d7['name'];const _0x31bdb6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x136041['to']('isFocusable',_0xb3c809=>!!_0xb3c809&&0x0),'aria-labelledby':_0x1242ea['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x136041['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x136041['to']('hasTooltip',_0x17a1e5=>!_0x17a1e5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1242ea]};_0x142ba6&&(_0x31bdb6['tag']='button',_0x31bdb6['on']={'click':_0x136041['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x31bdb6);}}class at extends _0x210562{constructor(_0x420711,_0x2cce7e){super(_0x420711),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2cce7e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1a80af{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ae922){super(_0x5ae922),this['context']['config']['define']('presenceList',x);const _0x4b80e8=_0x5ae922['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4b80e8)throw new _0x529824('presencelist-collapseat-invalid-format',this);if(_0x4b80e8<0x1)throw new _0x529824('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x462cb9(),this['balloonPanelView']=new _0x581a51(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xd9daa2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xd9daa2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x51880c,_0x2a7ca3)=>{this['_handleUserAdd'](_0x2a7ca3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x33bb42,_0x1c63f2)=>{this['_handleUserRemove'](_0x1c63f2);});}['_createView'](){const _0x2dcc44=this['context'],_0x567a94=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4a9311=this['balloonPanelView'];if(!_0x3d9807(_0x2dcc44['config']['get']('presenceList.container')))throw new _0x529824('presencelist-missing-container',this);return _0x567a94['counterView']['bind']('usersCount')['to'](this),_0x567a94['bind']('isCollapsed')['to'](this,'usersCount',_0x153e11=>{const {collapseAt:_0x1572f2}=_0x2dcc44['config']['get']('presenceList'),_0x598dd7=_0x153e11>=_0x1572f2;if(_0x598dd7&&!_0x567a94['inlineListView']['items']['find'](_0x55c68e=>_0x55c68e instanceof b)){const _0x2b3c48=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2b3c48&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x567a94['inlineListView']['items']['add'](_0x567a94['counterView']);}return _0x598dd7||this['hideDropdown'](),_0x598dd7;}),_0x567a94['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5afbd4=>{const _0x4dc6bf=_0x2dcc44['config']['get']('presenceList'),_0x243cb0=new A(_0x2dcc44['locale'],_0x5afbd4,!!_0x4dc6bf['onClick']);return _0x243cb0['bind']('hasTooltip')['to'](_0x567a94,'isCollapsed',_0x734cfe=>!_0x734cfe),_0x243cb0['bind']('isFocusable')['to'](_0x567a94,'isCollapsed',_0x32ff1c=>!_0x32ff1c),_0x4dc6bf['onClick']&&this['listenTo'](_0x243cb0,'execute',()=>{this['view']['isCollapsed']||_0x4dc6bf['onClick'](_0x5afbd4,_0x243cb0['element']);}),_0x243cb0;}),this['listenTo'](_0x567a94['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x567a94['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x567a94['inlineListView']['keystrokes']['set']('Enter',(_0x4b0f00,_0x1795c4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1795c4());}),_0x567a94['render'](),_0x4a9311['render'](),_0x4762a9({'emitter':_0x567a94,'activator':()=>_0x4a9311['isVisible'],'contextElements':[_0x4a9311['element'],_0x567a94['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x2dcc44['config']['get']('presenceList.container')['appendChild'](_0x567a94['element']),this['_bodyCollection']=new _0x2f368f(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x567a94;}['_handleUserAdd'](_0x3b5dbd){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3b5dbd['isMe'])return;const _0x2bee4f=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2bee4f-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xaa9804=_0x3b5dbd['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3b5dbd,_0xaa9804);}['_handleUserRemove'](_0x2da467){this['usersCount']--;const {collapseAt:_0x37b6a9}=this['context']['config']['get']('presenceList'),_0x4da0d4=this['usersCount']>=_0x37b6a9;if(this['currentDisplayedUsers']['get'](_0x2da467['id']))this['currentDisplayedUsers']['remove'](_0x2da467['id']);else{if(_0x4da0d4&&this['currentDisplayedUsers']['length']+0x1===_0x37b6a9-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4da0d4?0x1:0x0)<this['usersCount']){for(const _0x41c029 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x41c029['id'])&&(this['currentDisplayedUsers']['add'](_0x41c029,Math['min'](this['currentDisplayedUsers']['length']-(_0x4da0d4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4da0d4?0x1:0x0)===_0x37b6a9-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x187a4d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x187a4d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4493c7}=this['presenceDropdownView'];_0x4493c7['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3dc280=>{if(!_0x187a4d['displayMe']&&_0x3dc280['isMe'])return null;const _0xd18bc7=new j(this['context']['locale'],_0x3dc280,!!_0x187a4d['onClick']);return _0x187a4d['onClick']&&this['listenTo'](_0xd18bc7,'execute',()=>{_0x187a4d['onClick'](_0x3dc280,_0xd18bc7['element']);}),_0xd18bc7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4493c7['focus'](),_0x4493c7['checkIfScrollable']();const _0x524768=(_0x307300,_0x3f6b7d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3f6b7d();};_0x4493c7['keystrokes']['set']('Esc',_0x524768),_0x4493c7['keystrokes']['set']('Shift+Tab',_0x524768),_0x4493c7['keystrokes']['set']('Tab',(_0x25ea89,_0x3e1e1d)=>{!function(_0x24091c){const _0x28ce54=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2e9aa0=>_0x2e9aa0+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52a12b=[...document['body']['querySelectorAll'](_0x28ce54)]['filter'](_0x14a283=>_0x14a283===document['activeElement']||_0x14a283['offsetWidth']+_0x14a283['offsetHeight']>0x0)['sort']((_0x524b0d,_0x470bac)=>(_0x524b0d['tabIndex']||0x0)-(_0x470bac['tabIndex']||0x0)),_0x4db4f9=_0x52a12b['indexOf'](_0x24091c),_0x5eb0ff=_0x52a12b[(_0x4db4f9+0x1)%_0x52a12b['length']];_0x5eb0ff&&_0x5eb0ff['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3e1e1d();}),_0x4493c7['focusTracker']['add'](this['view']['element']),_0x4493c7['focusTracker']['on']('change:isFocused',(_0x180597,_0x3334f8,_0x15e707)=>{_0x15e707||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x1a80af{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};