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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _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 _0x3737b0,Plugin as _0x3ce7af,PendingActions as _0xc6dcaa,Context as _0x4fab2b}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x492275,CKEditorError as _0x3a7a10,Collection as _0x351db3,global as _0x2a7fa4,version as nt,uid as _0x4446c6,KeystrokeHandler as _0x14cf04}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3530df,View as _0x4cacb3,ListView as _0x3b8368,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x3edbc8,clickOutsideHandler as _0x156eb3,BodyCollection as _0x58a8af}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x342455,History as _0x2f2b95,NoOperation as _0x6d91e5,InsertOperation as _0x1e2352,MarkerOperation as _0xabac46,RootAttributeOperation as _0x12be79,transformOperationSets as _0x5289c3,OperationFactory as _0x4392da}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x10ba10,User as lt,CommentsService as _0x5b4a46,TrackChangesService as tt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x39336f,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1f5bae}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x28c1d}from'es-toolkit/compat';class n extends _0x3737b0{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3530df];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x31efde){super(_0x31efde),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x492275())();}['init'](){const _0x1a9c81=this['context'],_0x3f9220=_0x1a9c81['plugins']['get']('CloudServices'),_0x4708c2=_0x1a9c81['plugins']['get'](_0x3530df);if(!_0x3f9220['token'])throw new _0x3a7a10('websocketgateway-missing-token',this);if(!_0x3f9220['webSocketUrl'])throw new _0x3a7a10('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'](_0x3f9220['token'],_0x3f9220['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x277131=>{if(this['connection']=_0x277131,this['bind']('state')['to'](_0x277131,'state',this,'_isBrowserOffline',(_0x52fc09,_0x42db27)=>('connected'!==_0x52fc09&&(this['_shouldPluginsReconnect']=!0x0),_0x42db27||_0x52fc09!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x433b8b,_0x1b4f19)=>{if('limitExceeded'!==_0x1b4f19['code'])throw console['error'](_0x1b4f19),new _0x3a7a10('cloudservices-init',null,{'originalError':_0x1b4f19});_0x4708c2['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'});}),!_0x277131['me'])return new Promise(_0x2c87ba=>_0x277131['on']('change:me',_0x2c87ba));})['catch'](_0x2eb880=>{throw console['error'](_0x2eb880),new _0x3a7a10('cloudservices-init',null,{'originalError':_0x2eb880});});}['addToReconnectionStack'](_0x47bb4e){if('function'!=typeof _0x47bb4e['reconnect'])throw new _0x3a7a10('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x47bb4e))throw new _0x3a7a10('websocketgateway-plugin-already-registered',this,{'name':_0x47bb4e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x47bb4e);}['removeFromReconnectionStack'](_0x12889c){this['_reconnectionStack']['delete'](_0x12889c);}['isInReconnectionStack'](_0xe2c2c9){return this['_reconnectionStack']['has'](_0xe2c2c9);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1dd3a4=>_0x1dd3a4['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x1fda2e=>{throw console['error'](_0x1fda2e),new _0x3a7a10('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 _0x3737b0{['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,_0x39336f];}constructor(_0x3f85f7){super(_0x3f85f7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x351db3(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x39336f);}['init'](){const _0x261143=this['context']['plugins']['get'](n);this['listenTo'](_0x261143,'change:state',(_0x4bea15,_0x5f3818,_0x52b544)=>{if('connected'!==_0x52b544)this['channelSessions']['forEach'](_0x1c673a=>_0x1c673a['clear']()),this['channelConnectedUsers']['forEach'](_0x220c1c=>_0x220c1c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1d328c,_0x57c37d]of this['_registeredSessions'])for(const _0x3a81e5 of _0x57c37d)this['_handleSessionAdd'](_0x1d328c,_0x3a81e5);}}),this['_createUser'](_0x261143['connection']['me'],!0x0);}['register'](_0x51a37d,_0x3ec840){if(this['_registeredSessions']['has'](_0x51a37d))throw new _0x3a7a10('sessions-register-already-registered',null,{'channelId':_0x51a37d});this['_registeredSessions']['set'](_0x51a37d,_0x3ec840),this['channelSessions']['set'](_0x51a37d,new _0x351db3()),this['channelConnectedUsers']['set'](_0x51a37d,new _0x351db3()),this['listenTo'](_0x3ec840,'add',(_0x45c22d,_0x1a14d6)=>this['_handleSessionAdd'](_0x51a37d,_0x1a14d6)),this['listenTo'](_0x3ec840,'remove',(_0x1b9ebd,_0x32e68f)=>this['_handleSessionRemove'](_0x51a37d,_0x32e68f));for(const _0x42b8ef of _0x3ec840)this['_handleSessionAdd'](_0x51a37d,_0x42b8ef);}['unregister'](_0x5f43b2){if(!this['_registeredSessions']['has'](_0x5f43b2))throw new _0x3a7a10('sessions-unregister-not-exist',null,{'channelId':_0x5f43b2});const _0x1e4377=this['_registeredSessions']['get'](_0x5f43b2);this['stopListening'](_0x1e4377);for(const _0x2a330f of _0x1e4377)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5f43b2,_0x2a330f);this['_registeredSessions']['delete'](_0x5f43b2),this['channelSessions']['delete'](_0x5f43b2),this['channelConnectedUsers']['delete'](_0x5f43b2);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x591512){for(const _0x25b549 of this['channelSessions']['values']())for(const _0x35caa6 of _0x25b549)if(_0x35caa6['id']===_0x591512)return _0x35caa6['user'];}['getUserSessions'](_0x303dfa,_0x4023c8){const _0x14970f=_0x4023c8?[this['channelSessions']['get'](_0x4023c8)]:this['channelSessions']['values'](),_0x3ac368=new Set();for(const _0x3a9df8 of _0x14970f)for(const _0x16b98c of _0x3a9df8)_0x16b98c['user']['id']===_0x303dfa['id']&&_0x3ac368['add'](_0x16b98c['id']);return _0x3ac368;}['getUserRole'](_0x25ad1d){for(const _0x388759 of this['channelSessions']['values']())for(const _0x1d7d40 of _0x388759)if(_0x1d7d40['user']===_0x25ad1d)return _0x1d7d40['role'];}['_handleSessionAdd'](_0x1c6cfa,_0x33469c){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x54346d=_0x33469c['user'],_0x19c8e6=this['_users']['getUser'](_0x54346d['id'])||this['_createUser'](_0x54346d),_0x205db5=Object['assign']({},_0x33469c,{'user':_0x19c8e6});if(this['channelSessions']['get'](_0x1c6cfa)['add'](_0x205db5),!_0x54346d['hiddenInPresenceList']){const _0x11e988=this['channelConnectedUsers']['get'](_0x1c6cfa);_0x11e988['has'](_0x19c8e6['id'])||_0x11e988['add'](_0x19c8e6),this['allConnectedUsers']['has'](_0x19c8e6['id'])||_0x54346d['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x19c8e6,_0x19c8e6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1c6cfa,{'channelId':_0x1c6cfa,'session':_0x205db5});}['_handleSessionRemove'](_0x351580,_0x24e707){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x30e86f=this['channelConnectedUsers']['get'](_0x351580),_0x5e72df=_0x24e707['user'];_0x5e72df['id']&&(this['channelSessions']['get'](_0x351580)['remove'](_0x24e707['id']),_0x30e86f['has'](_0x5e72df['id'])&&!this['getUserSessions'](_0x5e72df,_0x351580)['size']&&_0x30e86f['remove'](_0x5e72df['id']),this['allConnectedUsers']['get'](_0x5e72df['id'])&&!this['getUserSessions'](_0x5e72df)['size']&&this['allConnectedUsers']['remove'](_0x5e72df['id']));}['_createUser'](_0x559711,_0x3eb2c2){const _0x72f74d=this['_users']['addUser'](_0x559711);return _0x3eb2c2&&this['_users']['defineMe'](_0x559711['id']),_0x72f74d['orderNumber']=this['_uniqueUsersCount']++,_0x72f74d;}}class V extends _0x3ce7af{['_domEmitter']=new(_0x492275())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x46920e=this['editor'],_0x55cd98=_0x46920e['plugins']['get'](i);_0x46920e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x545d8a,{writer:_0x4a002e})=>function(_0x2aa137,_0x3e41b9,_0x4aef4b,_0x25583d){const _0x5ab4f3=_0x2aa137['markerName']['split'](':')[0x2],_0x56117a=_0x4aef4b['getUserBySessionId'](_0x5ab4f3);if(!_0x56117a||_0x5ab4f3===_0x4aef4b['mySessionId'])return;if(!_0x25583d['model']['schema']['checkChild'](_0x2aa137['markerRange']['start'],'$text'))return;const _0x5c1a61={'class':'ck-user__marker\x20'+_0x56117a['color']['getMarkerClass'](),'data-name':_0x56117a['name'],'data-session-id':_0x5ab4f3},_0x5a68a0=_0x25583d['model']['markers']['get'](_0x2aa137['markerName']),_0x4e8d8e=_0x5a68a0['getStart'](),_0x51c815=_0x4e8d8e['nodeAfter'],_0x5188d1=_0x25583d['model']['schema'];if(_0x51c815&&_0x5188d1['isObject'](_0x51c815)&&_0x5188d1['isInline'](_0x51c815)&&!_0x25583d['model']['markers']['get']('user:range:'+_0x5ab4f3)['getRange']()['isCollapsed'])return;const _0x1d45c9=_0x4e8d8e['parent'];return _0x25583d['model']['schema']['isLimit'](_0x1d45c9)&&!_0x25583d['model']['hasContent'](_0x1d45c9)&&(_0x5c1a61['contenteditable']=!0x1),function(_0x40456d,_0x4d9355,_0x258460){const _0x46ce8e=_0x40456d['createUIElement']('span',_0x4d9355);return _0x40456d['setCustomProperty']('userPositionMarker',!0x0,_0x46ce8e),_0x46ce8e['render']=function(_0x3012fa){const _0x57ac8a=this['toDomElement'](_0x3012fa),_0x31c564=document['createElement']('span');return _0x31c564['classList']['add']('ck-user__marker-tooltip'),_0x31c564['setAttribute']('contenteditable','false'),_0x31c564['setAttribute']('spellcheck','false'),_0x31c564['textContent']=_0x258460['name'],_0x57ac8a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x31c564['outerHTML']+'⁠',_0x57ac8a['addEventListener']('mouseenter',()=>{_0x57ac8a['classList']['add']('ck-user__marker_hovered');}),_0x57ac8a['addEventListener']('mouseleave',()=>{_0x57ac8a['classList']['remove']('ck-user__marker_hovered');}),_0x57ac8a;},_0x46ce8e['isSimilar']=function(_0x278664){return!(!this['getCustomProperty']('userPositionMarker')||!_0x278664['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x278664['getAttribute']('data-session-id'));},_0x46ce8e;}(_0x3e41b9,_0x5c1a61,_0x56117a);}(_0x545d8a,_0x4a002e,_0x55cd98,_0x46920e)}),_0x46920e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2df5a6=>function(_0x58a458,_0x3323c2){const _0x5c24e2=_0x58a458['markerName']['split'](':')[0x2];if(_0x5c24e2===_0x3323c2['mySessionId'])return null;const _0x359887=_0x3323c2['getUserBySessionId'](_0x5c24e2);if(!_0x359887)return{'id':_0x5c24e2,'classes':[]};return{'id':_0x5c24e2,'classes':['ck-user__selection',_0x359887['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5c24e2},'priority':0x7d0+_0x359887['orderNumber']};}(_0x2df5a6,_0x55cd98)}),function(_0x4e5a64){const _0xb4fb97=_0x4e5a64['model'],_0x408bdc=new Map(),_0x199139=_0x4e5a64['plugins']['get'](i);_0xb4fb97['markers']['on']('update:user:range',(_0x1561f0,_0x9a3dfd,_0x448387,_0x8d74b6)=>{if(!_0x8d74b6&&_0x408bdc['get'](_0x9a3dfd['name']))return _0x408bdc['get'](_0x9a3dfd['name'])['detach'](),void _0x408bdc['delete'](_0x9a3dfd['name']);const _0x227fec=_0x9a3dfd['name']['split'](':')[0x2];if(_0x227fec===_0x199139['mySessionId'])return;const _0x30b8ca='user:position:'+_0x227fec;_0xb4fb97['markers']['has'](_0x30b8ca)&&_0x4e5a64['editing']['reconvertMarker'](_0x30b8ca),_0x9a3dfd['on']('change:range',(_0x4811cc,_0x4455f4,_0x560e6b)=>{if('$graveyard'!=_0x4455f4['root']['rootName']&&'$graveyard'==_0x9a3dfd['getRange']()['root']['rootName']&&!_0x408bdc['has'](_0x9a3dfd['name'])){const _0x545855=_0xb4fb97['schema']['getNearestSelectionRange'](_0x560e6b['deletionPosition']);if(_0x545855){const _0x45d337=_0x342455['fromRange'](_0x545855);_0x408bdc['set'](_0x9a3dfd['name'],_0x45d337),_0x45d337['on']('change:range',(_0x8b1688,_0x5b2245,_0xa44437)=>{if('$graveyard'==_0x45d337['root']['rootName']){const _0x4ab9f0=_0xb4fb97['schema']['getNearestSelectionRange'](_0xa44437['deletionPosition']);_0x4ab9f0?(_0x45d337['start']=_0x4ab9f0['start'],_0x45d337['end']=_0x4ab9f0['end']):(_0x408bdc['delete'](_0x9a3dfd['name']),_0x45d337['detach']());}});}}});}),_0xb4fb97['document']['on']('change',()=>{_0x408bdc['size']>0x0&&_0xb4fb97['enqueueChange']({'isUndoable':!0x1},_0x161800=>{for(const [_0x45f45f,_0x4c7173]of _0x408bdc)'$graveyard'==_0xb4fb97['markers']['get'](_0x45f45f)['getRange']()['root']['rootName']&&(Z(_0x45f45f['split'](':')[0x2],_0x4c7173['toRange'](),_0xb4fb97,_0x161800),_0x4c7173['detach']());_0x408bdc['clear']();});});}(_0x46920e),this['_domEmitter']['listenTo'](_0x2a7fa4['document'],'keydown',(_0x5cf9d0,{key:_0x3e4354})=>{'Escape'===_0x3e4354&&function(_0xb5bd8d){_0xb5bd8d['editing']['view']['change'](_0x25d04c=>{for(const _0x387515 of _0xb5bd8d['model']['markers']){if(!_0x387515['name']['startsWith']('user:position'))continue;const _0xcb29ff=_0xb5bd8d['editing']['mapper']['markerNameToElements'](_0x387515['name']);if(_0xcb29ff){for(const _0x1fb45d of _0xcb29ff)_0x25d04c['removeClass']('ck-user__marker_hovered',_0x1fb45d);}}});}(_0x46920e);},{'useCapture':!0x0});}['afterInit'](){const _0x272fcf=this['editor'],_0x14cbb=_0x272fcf['commands']['get']('undo');_0x14cbb&&_0x272fcf['model']['on']('applyOperation',(_0x2dd39b,_0x12a293)=>{const _0x5397e2=_0x12a293[0x0];if(!_0x5397e2['isDocumentOperation'])return;if('marker'!=_0x5397e2['type']||!_0x5397e2['name']['startsWith']('user:'))return;const _0x55b95f=_0x5397e2['batch'];_0x14cbb['_createdBatches']['has'](_0x55b95f)&&(_0x5397e2['newRange']=_0x5397e2['oldRange']?_0x272fcf['model']['createRange'](_0x5397e2['oldRange']['start'],_0x5397e2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x447a0b=this['editor'],_0x308162=_0x447a0b['model']['document'],_0x28571c=_0x447a0b['plugins']['get'](i);_0x447a0b['model']['enqueueChange']({'isUndoable':!0x1},_0x9297ee=>{const _0x138f93='user:range:'+_0x28571c['mySessionId'],_0x3eb391='user:position:'+_0x28571c['mySessionId'],_0x2d15bd=_0x447a0b['model']['markers']['has'](_0x138f93);_0x447a0b['editing']['view']['hasDomSelection']?Z(_0x28571c['mySessionId'],_0x308162['selection']['getFirstRange'](),_0x447a0b['model'],_0x9297ee):_0x2d15bd&&(_0x9297ee['removeMarker'](_0x138f93),_0x9297ee['removeMarker'](_0x3eb391));});}}function Z(_0x46669c,_0x5f62e6,_0x48427d,_0x49a002){const _0x2eddef='user:range:'+_0x46669c,_0x202de9='user:position:'+_0x46669c,_0x49690c=_0x5f62e6['getContainedElement']();let _0x21700c=_0x5f62e6['start'];if(_0x49690c&&_0x49690c['is']('element','tableCell')){const _0x54f0df=function(_0x37d0c3,_0x4d3c59){for(const _0x348201 of _0x37d0c3['getPositions']())if(_0x4d3c59['schema']['checkChild'](_0x348201,'$text'))return _0x348201;}(_0x5f62e6,_0x48427d);_0x54f0df&&(_0x21700c=_0x54f0df,_0x5f62e6=_0x49a002['createRange'](_0x21700c));}const _0x2e1eeb=_0x49a002['createRange'](_0x21700c);_0x48427d['markers']['has'](_0x2eddef)?(_0x49a002['updateMarker'](_0x2eddef,{'range':_0x5f62e6}),_0x49a002['updateMarker'](_0x202de9,{'range':_0x2e1eeb})):(_0x49a002['addMarker'](_0x2eddef,{'range':_0x5f62e6,'usingOperation':!0x0}),_0x49a002['addMarker'](_0x202de9,{'range':_0x2e1eeb,'usingOperation':!0x0}));}function W(_0x43791b,_0x6d6771,_0x1f8ddf){const _0x37df80=_0x43791b['t'],t=_0x43791b['t'];switch(_0x6d6771){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 _0x37df80({'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'},_0x1f8ddf);default:return'';}}let G=0x1;class l extends _0x3ce7af{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x10ba10)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0xc6dcaa,_0x39336f,_0x3530df];}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 _0x2e6269=this['serverHistory']['getOperations']();for(let _0x27623e=_0x2e6269['length']-0x1;_0x27623e>=0x0;_0x27623e--){const _0x319414=_0x2e6269[_0x27623e];if(!this['_disconnectionOperations']['has'](_0x319414))return _0x319414['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5479ea){if(super(_0x5479ea),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2f2b95(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3a7a10('collaboration-missing-channelid',this);const _0x5e804f=_0x5479ea['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x5e804f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1f5bae(),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 _0x1cee61=this['editor'],_0x5ece66=_0x1cee61['plugins']['get'](_0x39336f),_0x3ed21c=_0x1cee61['plugins']['get'](n);this['listenTo'](_0x5ece66,'getOperationAuthor',(_0x41c18d,_0x4a870f)=>{const _0xc61358=_0x4a870f[0x0];_0xc61358['_authorId']&&(_0x41c18d['return']=_0x5ece66['getUser'](_0xc61358['_authorId']),_0x41c18d['stop']()),null===_0xc61358['_authorId']&&(_0x41c18d['return']=null,_0x41c18d['stop']());},{'priority':'high'}),this['listenTo'](_0x1cee61['model']['document']['selection'],'change:range',(_0x1de55b,_0x38782f)=>{_0x38782f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1cee61['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1cee61['model']['on']('applyOperation',(_0x234b5e,_0x568564)=>{const _0x324f78=_0x568564[0x0];_0x324f78['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x324f78),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3ed21c,'state',this,'_hasSynchronizationProblem',(_0x1c7704,_0x34a8f7)=>'connected'===_0x1c7704&&!_0x34a8f7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1cee61['disableReadOnlyMode']('rtc-offline'):_0x1cee61['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1cee61['disableReadOnlyMode']('rtc-offline'):_0x1cee61['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2ae681=this['editor']['plugins']['get'](i),_0x28d59a=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2ae681['unregister'](this['_channelId']);const _0x48005e=await this['_service']['reconnect'](_0x28d59a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x48005e)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5dddc3=await this['_service']['getConnectedSessions']();_0x2ae681['register'](this['_channelId'],_0x5dddc3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3140ef){if(function(_0x1472e7){return'404'===_0x1472e7['code'];}(_0x3140ef)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x567b3d){return'409'===_0x567b3d['code'];}(_0x3140ef)){const _0x17c116=W(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x17c116);}else{if(!(_0x3140ef instanceof $))throw _0x3140ef;this['_handleReconnectionError']();}}}}['destroy'](){const _0x138370=this['editor']['plugins']['get'](n),_0x2ef310=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2ef310['channelSessions']['has'](this['_channelId'])&&_0x2ef310['unregister'](this['_channelId']),_0x138370['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2fdd00){if(this['sessionId']!==_0x2fdd00['sessionId']&&this['_lastSyncedOperationId']!==_0x2fdd00['lastOperationId'])throw new $();return this['sessionId']=_0x2fdd00['sessionId'],this['_handleServerResponse']([],{..._0x2fdd00,'wereChangesApplied':!0x1,'data':_0x2fdd00['data']},'reconnect');}async['_connectService'](_0x488093,_0xd2909e=!0x1){const {connection:_0x533fa6}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x533fa6,this['_channelId'])['then'](_0x51e5c2=>this['_initSessionsHandling'](_0x51e5c2))['catch'](_0xd686cd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xd686cd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x103ef5,_0x38b22e)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x38b22e);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xcc645a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x488093);this['_isPendingUpdate']=!0x0;const _0x1055ce=await this['_service']['connect'](_0x533fa6,this['_compressOperations'](_0x488093),_0xcc645a);if(this['sessionId']=_0x1055ce['sessionId'],_0xd2909e){if(!_0x1055ce['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1055ce['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x488093,_0x1055ce,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1055ce,_0x488093);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x534324=this['editor']['plugins']['get'](i),_0x51785c=this['editor']['plugins']['get'](V),_0x151c6f=_0x534324['channelSessions']['get'](this['_channelId']);_0x151c6f&&_0x151c6f['length']>0x1?_0x51785c['createUserMarkerOperations']():this['listenTo'](_0x534324,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x534324['channelSessions']['get'](this['_channelId'])['length']&&_0x51785c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x278f33,_0x214cd7,_0x1e907e,_0x56d060){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x214cd7){const _0x3fd5aa=this['_decompressOperations'](_0x1e907e,_0x56d060);await this['_fetchMissingUsers'](_0x3fd5aa),this['_handleExternalOperations'](_0x3fd5aa,_0x214cd7,_0x1e907e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x527d34}=this['editor'];let _0x5c88f2;try{_0x5c88f2=await this['_service']['getDocumentDetails']();}catch{const _0x449c49=W(_0x527d34,'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'](_0x449c49);}const _0x5abcac=_0x5c88f2['currentDocumentSession']||_0x5c88f2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5abcac['lastOperationId']){const _0x4d544d=W(_0x527d34,'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'](_0x4d544d);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3fa0bf){const _0x1d0f22=this['editor']['plugins']['get'](i);this['listenTo'](_0x1d0f22,'sessionAdd:'+this['_channelId'],(_0x607848,{session:_0xa138dc})=>{if(_0xa138dc['id']===_0x1d0f22['mySessionId']){_0x607848['off']();const _0x500373=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2391e3=_0xa138dc['permissions'];_0x500373&&_0x500373['isEnabled']&&(_0x2391e3=_0x2391e3['filter'](_0x3846ba=>'document:write'!==_0x3846ba)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2391e3,this['_channelId']);}}),_0x1d0f22['register'](this['_channelId'],_0x3fa0bf);}['_initThrowingOnDataSet'](){const _0x33a36c=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x526211)=>{if(!_0x526211[_0x526211['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3a7a10('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x33a36c['apply'](this['editor']['data'],_0x526211);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x32e7aa,[_0x503bc0])=>{if(this['_document']['version'])throw new _0x3a7a10('realtimecollaborationclient-init-document-already-initialized',this);_0x32e7aa['stop'](),this['_setPendingAction']();const _0x5a6c1f=this['editor']['config']['get']('rootsAttributes'),_0x4b64b3=this['_getOperationsFromInitData'](_0x503bc0,_0x5a6c1f);0x0==_0x4b64b3['length']&&_0x4b64b3['push'](new _0x6d91e5(0x0)),_0x32e7aa['return']=this['_connectService'](_0x4b64b3)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x101579=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x101579))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x15519d,[_0x5c7ee5,_0x3736a0])=>{_0x15519d['stop']();const _0x130110=this['editor']['model']['document']['getRoot'](_0x5c7ee5);if(!this['_knownRootNames']['has'](_0x5c7ee5)){const _0x1a41f3=_0x3736a0&&_0x3736a0['data']?_0x3736a0['data']:'',_0x884b29=_0x3736a0&&_0x3736a0['attributes']?_0x3736a0['attributes']:{};await this['_loadRoot'](_0x5c7ee5,_0x1a41f3,_0x884b29);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x130110['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x130110);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2b2184){const _0x328307=this['editor']['plugins']['get'](_0x39336f),{connection:_0x352971}=this['editor']['plugins']['get'](n),_0x1b5428=new Set();for(const _0x4ebb41 of _0x2b2184){const _0x1c98a4=_0x4ebb41['_authorId'];_0x1c98a4&&!_0x328307['getUser'](_0x1c98a4)&&_0x1b5428['add'](_0x1c98a4);}if(0x0===_0x1b5428['size'])return;const _0xcf6b4d=await lt['getMany'](_0x352971,Array['from'](_0x1b5428));for(const _0x33e041 of _0xcf6b4d)_0x328307['getUser'](_0x33e041['id'])||_0x328307['addUser'](_0x33e041);}['_getOperationsFromInitData'](_0x26814a,_0x55f6c2={}){const _0x422e01=this['editor']['model'],_0x1a4fa6=[];let _0xce1097=0x0;const _0x49fa97='string'==typeof _0x26814a?{'main':_0x26814a}:_0x26814a;for(const _0x5d7dc2 of Object['keys'](_0x49fa97)){if(!this['_document']['roots']['has'](_0x5d7dc2))throw new _0x3a7a10('realtimecollaborationclient-init-non-existent-root',this);const _0x208e09=this['editor']['data']['parse'](_0x49fa97[_0x5d7dc2]),_0x161b36=this['_document']['getRoot'](_0x5d7dc2),_0x1d5f4f=new _0x1e2352(_0x422e01['createPositionAt'](_0x161b36,0x0),_0x208e09,_0xce1097++);_0x1a4fa6['push'](_0x1d5f4f);for(const [_0x17938a,_0x4504e6]of _0x208e09['markers']){const _0x1828c2=_0x422e01['createRange'](_0x422e01['createPositionFromPath'](_0x161b36,_0x4504e6['start']['path']['slice']()),_0x422e01['createPositionFromPath'](_0x161b36,_0x4504e6['end']['path']['slice']())),_0x3c2203=new _0xabac46(_0x17938a,null,_0x1828c2,_0x422e01['markers'],!0x0,_0xce1097++);_0x1a4fa6['push'](_0x3c2203);}}if(_0x55f6c2)for(const [_0x5be9b0,_0x58a621]of Object['entries'](_0x55f6c2)){const _0x280e97=_0x422e01['document']['getRoot'](_0x5be9b0);if(!_0x280e97)throw new _0x3a7a10('multi-root-editor-root-attributes-no-root',null);for(const [_0x3a5c27,_0x5c522d]of Object['entries'](_0x58a621))if(null!==_0x5c522d){const _0x519f38=new _0x12be79(_0x280e97,_0x3a5c27,null,_0x5c522d,_0xce1097++);_0x1a4fa6['push'](_0x519f38);}}return _0x1a4fa6;}async['_loadRoot'](_0x3417f8,_0x3c29db,_0x5ea54a){this['_getOperationsFromInitData']({[_0x3417f8]:_0x3c29db},{[_0x3417f8]:_0x5ea54a})['forEach']((_0x576eb2,_0x267553)=>{_0x576eb2['baseVersion']=this['_document']['version']+_0x267553,_0x576eb2['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x576eb2);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x58d17e,_0x3ea7a8){let _0xcef237;this['_offset']=_0x58d17e['offset'];const _0x2d49c5=_0x58d17e['wereChangesApplied']&&!_0x58d17e['initData'],_0x136ca2=_0x2d49c5?0x0:_0x58d17e['data']['baseVersion'];if(_0x3ea7a8['forEach'](_0x41632d=>{_0x41632d['_isInit']=!0x0,_0x41632d['createdAt']=_0x58d17e['sessionCreatedAt'],_0x41632d['_authorId']=null;}),_0x2d49c5)_0xcef237=_0x3ea7a8,this['_applyOperationsSet'](_0xcef237,_0x2d49c5);else{if(_0x58d17e['initData']){const _0x5ee533=this['_getOperationsFromInitData'](_0x58d17e['initData']);this['_document']['history']['version']=-_0x5ee533['length'],_0x5ee533['forEach'](_0x550ffe=>{_0x550ffe['baseVersion']-=_0x5ee533['length'],_0x550ffe['createdAt']=_0x58d17e['sessionCreatedAt'],_0x550ffe['_isInit']=!0x0,_0x550ffe['_authorId']=null;}),this['_applyOperationsSet'](_0x5ee533,!0x0),this['serverHistory']['version']=-_0x5ee533['length']+this['_offset'],this['_updateServerHistory'](_0x5ee533);}this['_document']['history']['version']=_0x136ca2,_0xcef237=this['_decompressOperations'](_0x58d17e['data'],_0x58d17e['metadata']),await this['_fetchMissingUsers'](_0xcef237),this['_applyOperationsSet'](_0xcef237,_0x2d49c5);}_0x58d17e['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xcef237,_0x58d17e['lastOperationId']),this['_lastSyncedOperationId']=_0x58d17e['lastOperationId']),this['serverHistory']['version']=_0x136ca2+this['_offset'],this['_updateServerHistory'](_0xcef237),_0x3ea7a8['filter'](_0x79d47=>{const _0x744156=this['_getAffectedRoot'](_0x79d47);return _0x744156&&!this['_knownRootNames']['has'](_0x744156);})['forEach']((_0x738f3e,_0x2690ae)=>{_0x738f3e['baseVersion']=this['_document']['version']+_0x2690ae,this['_saveOperationInBuffer'](_0x738f3e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2842e3,_0x253701){const _0x53e9c2=_0x253701&&_0x253701['message'];if(_0x53e9c2&&_0x53e9c2['startsWith']('realtimecollaborationclient'))throw _0x253701;const _0x5aa736=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x5aa736['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3a7a10(_0x2842e3,this['editor'],_0x53e9c2?{'originalError':_0x53e9c2}:void 0x0);}['_saveOperationInBuffer'](_0x3068c7){this['_knownOperations']['has'](_0x3068c7)||(this['_knownOperations']['add'](_0x3068c7),this['_bufferedOperations']['push'](_0x3068c7),this['_pendingAction']||'marker'==_0x3068c7['type']&&!_0x3068c7['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4a9290=!0x1){!_0x4a9290&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3c47a8=>{_0x3c47a8&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x55df53=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4b0af6){return _0x4b0af6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4b0af6['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4b0af6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x55df53)||this['_crash'](_0x55df53['message'],_0x55df53);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x139832=>{this['on']('change:_isPendingUpdate',()=>{_0x139832();});});}async['_sendBufferedOperations'](){const _0x182b09=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x182b09['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x305251=[...this['_bufferedOperations']];for(const _0x2a4cd1 of _0x305251)_0x2a4cd1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2a4cd1);const _0x1a3628=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x305251),_0x45c676=G++,_0x47e595=this['_compressOperations'](_0x305251),_0x2f517a=await this['_service']['sendOperations'](_0x47e595,_0x47e595['baseVersion'],_0x1a3628);try{return await this['_handleServerResponse'](_0x305251,_0x2f517a,_0x45c676);}catch(_0xb9ab5){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xb9ab5);}}async['_handleServerResponse'](_0xb3748a,_0x549959,_0x5cf20e){if('error'in _0x549959)throw _0x549959['error'];let _0x445a25=!0x1;if(_0x549959['wereChangesApplied']){_0x549959['lastOperationId']&&(this['_lastSyncedOperationId']=_0x549959['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4dadd8=>!_0xb3748a['includes'](_0x4dadd8));for(const _0x112deb of _0xb3748a)_0x112deb['createdAt']='lastOperationAcceptedAt'in _0x549959&&_0x549959['lastOperationAcceptedAt']||void 0x0;K(_0xb3748a,_0x549959['version']-_0xb3748a['length']),this['_updateServerHistory'](_0xb3748a);const _0x138664=_0xb3748a['filter'](_0x2f3648=>{if(!_0x2f3648['_isInit'])return!0x1;const _0x509713=this['_getAffectedRoot'](_0x2f3648);return _0x509713&&!this['_knownRootNames']['has'](_0x509713);});K(_0x138664,this['_document']['version']),this['_applyOperationsSet'](_0x138664),_0x445a25=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x19b7f0=this['_decompressOperations'](_0x549959['data'],_0x549959['metadata'])['filter'](_0x379e5a=>_0x379e5a['baseVersion']>=this['_lastServerVersion']);_0x19b7f0['forEach'](_0x4e1b30=>this['_addKnownRoot'](_0x4e1b30)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x37109c=>!_0x37109c['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x37109c))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x19b7f0),_0x445a25=this['_handleExternalOperations'](_0x19b7f0,_0x549959['version'],_0x549959['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x445a25?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x507599,_0x35eefa,_0x1dc1b2){try{const _0x5bc634={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4df2e1,operationsB:_0x3951c8,originalOperations:_0x4b5a93}=_0x5289c3(_0x507599,this['_bufferedOperations'],_0x5bc634);K(_0x4df2e1,this['_document']['version']),K(_0x3951c8,_0x35eefa);for(const _0x1727ef of _0x4df2e1){const _0x56a251=_0x4b5a93['get'](_0x1727ef);_0x1727ef['_authorId']=_0x56a251?_0x56a251['_authorId']:null;}_0x1dc1b2&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x507599,_0x1dc1b2),this['_lastSyncedOperationId']=_0x1dc1b2),this['_bufferedOperations']=[..._0x3951c8],this['_applyOperationsSet'](_0x4df2e1),this['_updateServerHistory'](_0x507599);}catch(_0x1f65ea){return console['error'](_0x1f65ea),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3821fb,_0xe7e3bf=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5a222a=>{for(const _0x49f42a of _0x3821fb)this['_knownOperations']['add'](_0x49f42a),this['_addKnownRoot'](_0x49f42a),_0x5a222a['batch']['addOperation'](_0x49f42a),this['editor']['model']['applyOperation'](_0x49f42a);});}['_addKnownRoot'](_0x5feb37){const _0x2902f1=this['_getAffectedRoot'](_0x5feb37);_0x2902f1&&this['_knownRootNames']['add'](_0x2902f1);}['_getAffectedRoot'](_0x1bbfd5){let _0xde2cdc,_0x5ecb34;switch(_0x1bbfd5['type']){case'insert':_0xde2cdc=_0x1bbfd5['position']['root'];break;case'marker':if(_0x5ecb34=_0x1bbfd5['newRange'],!_0x5ecb34)return null;_0xde2cdc=_0x5ecb34['root'];break;case'addRootAttribute':_0xde2cdc=_0x1bbfd5['root'];break;case'addRoot':_0xde2cdc=_0x1bbfd5['affectedSelectable'];break;case'move':_0xde2cdc=_0x1bbfd5['targetPosition']['root'];break;default:return null;}return _0xde2cdc['rootName'];}['_updateServerHistory'](_0x14bbbb){_0x14bbbb['forEach'](_0x233423=>{const _0x1258e8=_0x233423['clone']();_0x1258e8['_authorId']=_0x233423['_authorId'],_0x1258e8['_isInit']=!!_0x233423['_isInit'],_0x1258e8['createdAt']=_0x233423['createdAt'],_0x1258e8['baseVersion']+=this['_offset'],_0x233423['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1258e8),this['serverHistory']['addOperation'](_0x1258e8);});}['_handleReconnectionError'](_0x5e6869){const _0x750d88=this['editor']['plugins']['get']('Notification'),_0x5f09b8=this['editor']['locale'];_0x5e6869||(_0x5e6869=W(_0x5f09b8,'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.')),_0x750d88['showWarning'](_0x5e6869,{'title':W(_0x5f09b8,'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'](_0xc6dcaa)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xc6dcaa)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2b4543){const _0x3a58fa=_0x2b4543['map'](_0x1d2197=>_0x1d2197['toJSON']());return this['_compressor']['compress'](_0x3a58fa);}['_decompressOperations'](_0x2587bb,_0x490877){return this['_compressor']['decompress'](_0x2587bb)['map']((_0x25c0a3,_0x2f67b7)=>{const _0x43d9e4='init'==_0x490877[_0x2f67b7]['type'];if('InsertOperation'==_0x25c0a3['__className']){const _0x168fa0=_0x25c0a3['position']['root'];!this['_document']['getRoot'](_0x168fa0)&&(this['_document']['createRoot']('$root',_0x168fa0)['_isAttached']=!0x1);}const _0x5c8717=_0x4392da['fromJSON'](_0x25c0a3,this['_document']);return _0x5c8717['wasUndone']=_0x25c0a3['wasUndone'],_0x5c8717['_isInit']=_0x43d9e4,_0x5c8717['_authorId']=_0x43d9e4?null:_0x490877[_0x2f67b7]['userId'],_0x5c8717['_isDisconnection']='cs:removeUser'===_0x490877[_0x2f67b7]['type'],_0x5c8717['createdAt']=_0x490877[_0x2f67b7]['createdAt'],_0x5c8717;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3011d8=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3011d8&&_0x3011d8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x329b42,_0x4cf068){for(const _0x3c5bf5 of _0x329b42)_0x3c5bf5['baseVersion']=_0x4cf068++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x1f6e2b){this['_ignoredOperations']=_0x1f6e2b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xc76b19){let _0x2e1587=_0xc76b19['length'];for(;_0x2e1587--;){const _0x1cafdd=_0xc76b19[_0x2e1587];if(!this['_ignoredOperations']['has'](_0x1cafdd)){if(!this['_operationToId']['has'](_0x1cafdd)){const _0x58e8a7=_0x4446c6()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1cafdd,_0x58e8a7);}return this['_operationToId']['get'](_0x1cafdd);}}}['setIdForTheLastOperation'](_0x3261e9,_0x1b3e34){if(!_0x1b3e34)return;let _0x5153d6=_0x3261e9['length'];for(;_0x5153d6--;){const _0x1ebeb7=_0x3261e9[_0x5153d6];this['_ignoredOperations']['has'](_0x1ebeb7)||this['_operationToId']['set'](_0x1ebeb7,_0x1b3e34);}}}class a extends _0x3ce7af{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3737b0{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5b4a46)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x39336f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x131128){super(_0x131128),this['_services']=new Map();}async['init'](){const _0x5a54cb=this['context'],_0x82ce8b=_0x5a54cb['plugins']['get']('CommentsRepository');if(_0x5a54cb['plugins']['get'](n)['addToReconnectionStack'](this),_0x82ce8b['adapter']={'addCommentThread':async({channelId:_0x4051c0,threadId:_0x15ea0d,comments:_0x398304,resolvedAt:_0x5d449a,resolvedBy:_0x2751bd,context:_0x55b899,attributes:_0x4d387c})=>{const _0xb13459=await this['_getService'](_0x4051c0)['addCommentThread']({'commentThreadId':_0x15ea0d,'comments':_0x398304['map'](_0x57dd78=>function(_0x593e45,_0x1203e3,_0x50a1bd){return{'commentThreadId':_0x50a1bd,'commentId':_0x593e45['commentId'],'userId':_0x593e45['authorId'],'content':_0x593e45['content'],'documentId':_0x1203e3,'createdAt':_0x593e45['createdAt'],'attributes':_0x593e45['attributes']||{}};}(_0x57dd78,_0x4051c0,_0x15ea0d)),'resolvedAt':_0x5d449a,'resolvedBy':_0x2751bd,'context':_0x55b899,'attributes':_0x4d387c})['catch'](dt);return{'threadId':_0xb13459['commentThreadId'],'comments':_0xb13459['comments']};},'getCommentThread':async({channelId:_0x52c041,threadId:_0x54ba58})=>{const _0x40c1ea=await this['_getService'](_0x52c041)['getCommentThread'](_0x54ba58)['catch'](f)['catch'](dt);return _0x40c1ea?_0x40c1ea['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x40c1ea]),{'threadId':_0x40c1ea['commentThreadId'],'comments':_0x40c1ea['comments']['map'](p),'context':_0x40c1ea['context'],'resolvedAt':_0x40c1ea['resolvedAt'],'resolvedBy':_0x40c1ea['resolvedBy'],'attributes':_0x40c1ea['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x35c858,threadId:_0x18c223,context:_0xf91444,unlinkedAt:_0x58d9f7,attributes:_0xb0048c})=>this['_getService'](_0x35c858)['updateCommentThread']({'commentThreadId':_0x18c223,'context':_0xf91444,'attributes':_0xb0048c,'unlinkedAt':_0x58d9f7})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x5760f8,threadId:_0x5293ba})=>{const _0x4c73d5=await this['_getService'](_0x5760f8)['resolveCommentThread'](_0x5293ba)['catch'](f)['catch'](dt);return{'threadId':_0x4c73d5['commentThreadId'],'resolvedAt':_0x4c73d5['resolvedAt'],'resolvedBy':_0x4c73d5['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2ac222,threadId:_0x4f0915})=>this['_getService'](_0x2ac222)['reopenCommentThread'](_0x4f0915)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0x2fa779,threadId:_0x2dfb2d})=>this['_getService'](_0x2fa779)['removeCommentThread'](_0x2dfb2d)['catch'](f)['catch'](dt),'addComment':({channelId:_0x503974,threadId:_0x354d20,commentId:_0x35cbc1,content:_0x203df8,attributes:_0x35cf58})=>this['_getService'](_0x503974)['addComment'](_0x354d20,_0x35cbc1,_0x203df8,_0x35cf58)['catch'](dt),'updateComment':({channelId:_0x446806,threadId:_0x25e842,commentId:_0x5f56f5,content:_0x25115d,attributes:_0x48830f})=>this['_getService'](_0x446806)['updateComment'](_0x25e842,_0x5f56f5,_0x25115d,_0x48830f)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x3b9a7f,threadId:_0x4eb14c,commentId:_0x299ae9})=>this['_getService'](_0x3b9a7f)['removeComment'](_0x4eb14c,_0x299ae9)['catch'](f)['catch'](dt)},_0x5a54cb instanceof _0x4fab2b){const _0x1a5409=_0x5a54cb['config']['get']('collaboration.channelId'),_0x161878=_0x5a54cb['plugins']['get'](i);await this['_setUpService'](_0x1a5409);const _0x30b0a4=await this['_services']['get'](_0x1a5409)['getConnectedSessions']();this['listenTo'](_0x161878,'sessionAdd:'+_0x1a5409,(_0x5a6dee,{session:_0x30cbff})=>{_0x30cbff['id']===_0x161878['mySessionId']&&(_0x5a6dee['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x30cbff['permissions'],_0x1a5409));}),_0x161878['register'](_0x1a5409,_0x30b0a4);}}async['_setUpService'](_0x18d733){if(this['_services']['has'](_0x18d733))throw new _0x3a7a10('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x18d733});const _0x442870=this['context']['plugins']['get']('CommentsRepository'),_0x1c632e=new s['CommentsService'](_0x18d733);this['_services']['set'](_0x18d733,_0x1c632e),this['listenTo'](_0x1c632e,'commentThreadAdded',(_0x11ddfe,_0x4c2d62)=>{const {commentThreadId:_0x2bce03,documentId:_0x4fac34,context:_0x2a13ec,attributes:_0x43fef7,resolvedAt:_0x1ce1e4,resolvedBy:_0x19d53d,comments:_0x5e7b62}=_0x4c2d62;_0x442870['getCommentThread'](_0x2bce03)||_0x442870['addCommentThread']({'threadId':_0x2bce03,'channelId':_0x4fac34,'comments':_0x5e7b62?_0x5e7b62['map'](p):[],'context':_0x2a13ec,'attributes':_0x43fef7,'resolvedAt':_0x1ce1e4,'resolvedBy':_0x19d53d,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadUpdated',(_0x2fb8f7,{commentThreadId:_0x7291af,documentId:_0x38c130,context:_0x1fd97d,unlinkedAt:_0x421ab2,attributes:_0x2dde8d})=>{_0x442870['getCommentThread'](_0x7291af)&&_0x442870['updateCommentThread']({'threadId':_0x7291af,'channelId':_0x38c130,'context':_0x1fd97d,'unlinkedAt':_0x421ab2,'attributes':_0x2dde8d,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadResolved',(_0x54d8ea,{commentThreadId:_0x29c0c9,resolvedBy:_0x50d189,resolvedAt:_0x1bd25c})=>{const _0x2d4b04=_0x442870['getCommentThread'](_0x29c0c9);_0x2d4b04&&_0x2d4b04['resolve']({'resolvedBy':_0x50d189,'resolvedAt':_0x1bd25c,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadReopened',(_0x3cb9e,{commentThreadId:_0x251665})=>{const _0x5f0fa0=_0x442870['getCommentThread'](_0x251665);_0x5f0fa0&&_0x5f0fa0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadRemoved',(_0x506e5f,{commentThreadId:_0x242f5e})=>{const _0x4e4d33=_0x442870['getCommentThread'](_0x242f5e);_0x4e4d33&&_0x4e4d33['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentAdded',(_0x416ac8,_0x133578)=>{const _0x155b7b=_0x133578['commentThreadId'],_0x1eba54=_0x442870['getCommentThread'](_0x155b7b);_0x1eba54&&_0x1eba54['addComment']({...p(_0x133578),'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentUpdated',(_0x18d632,{commentThreadId:_0x2a7bea,commentId:_0x4b2293,content:_0xe0bb08,attributes:_0x23e812})=>{const _0x3a82cd=_0x442870['getCommentThread'](_0x2a7bea);if(_0x3a82cd){const _0x1113af=_0x3a82cd['getComment'](_0x4b2293);_0x1113af&&_0x1113af['update']({'content':_0xe0bb08,'attributes':_0x23e812,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1c632e,'commentRemoved',(_0x6df650,{commentThreadId:_0x3c298c,commentId:_0x1a6275})=>{const _0x892016=_0x442870['getCommentThread'](_0x3c298c);if(_0x892016){const _0x42164f=_0x892016['getComment'](_0x1a6275);_0x42164f&&_0x42164f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x18d733);}['destroy'](){if(this['context']instanceof _0x4fab2b){const _0x3df9fa=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x3df9fa);}}['_terminateService'](_0x55f6ad){if(!this['_services']['has'](_0x55f6ad))throw new _0x3a7a10('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x55f6ad});this['_getService'](_0x55f6ad)['disconnect'](),this['_services']['delete'](_0x55f6ad);}async['reconnect'](){for(const _0x90c661 of this['_services']['keys']())await this['_connectService'](_0x90c661);if(this['context']instanceof _0x4fab2b){const _0xa1e91e=this['context']['config']['get']('collaboration.channelId'),_0x53065e=this['context']['plugins']['get'](i);_0x53065e['unregister'](_0xa1e91e);const _0xe52716=await this['_services']['get'](_0xa1e91e)['getConnectedSessions']();_0x53065e['register'](_0xa1e91e,_0xe52716);}}async['_connectService'](_0x542f03){const {connection:_0xac4d0b}=this['context']['plugins']['get'](n),_0x10d120=this['context']['plugins']['get']('CommentsRepository'),_0x352332=this['_services']['get'](_0x542f03),_0x177d69=await _0x352332['connect'](_0xac4d0b);await this['_fetchMissingUsersForThreads'](_0x177d69);const _0x22aefd=new Set(Array['from'](_0x10d120['getCommentThreads']({'channelId':_0x542f03}),_0x1189f0=>_0x1189f0['id']));for(const _0x2192db of _0x177d69)_0x2192db['deletedAt']||_0x22aefd['delete'](_0x2192db['commentThreadId']);for(const _0x4a100a of _0x22aefd)_0x10d120['getCommentThread'](_0x4a100a)['remove']({'isFromAdapter':!0x0});for(const _0x20b0d2 of _0x177d69){let _0x304cfe=_0x10d120['getCommentThread'](_0x20b0d2['commentThreadId']);const {commentThreadId:_0x4f970c,context:_0x52c051,attributes:_0x52adae,resolvedBy:_0x1d2a8b,resolvedAt:_0x102608,unlinkedAt:_0x3812d2,deletedAt:_0x2747e9}=_0x20b0d2;if(_0x2747e9)continue;_0x304cfe||(_0x304cfe=_0x10d120['addCommentThread']({'channelId':_0x542f03,'threadId':_0x4f970c,'context':_0x52c051,'attributes':_0x52adae||{},'resolvedBy':_0x1d2a8b,'resolvedAt':_0x102608,'unlinkedAt':_0x3812d2,'isFromAdapter':!0x0}));const _0x30784c=new Set(Array['from'](_0x304cfe['comments'],_0x5c1df7=>_0x5c1df7['id']));for(const _0x46092d of _0x20b0d2['comments'])_0x30784c['delete'](_0x46092d['commentId']);for(const _0x30cca3 of _0x30784c)_0x304cfe['getComment'](_0x30cca3)['remove']({'isFromAdapter':!0x0});for(const _0x4bdbe3 of _0x20b0d2['comments']){const _0x4143a1=_0x304cfe['getComment'](_0x4bdbe3['commentId']);_0x4143a1?_0x4143a1['content']!==_0x4bdbe3['content']&&_0x4143a1['update']({'content':_0x4bdbe3['content'],'isFromAdapter':!0x0}):_0x304cfe['addComment'](Object['assign'](p(_0x4bdbe3),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1ab112){if(!this['_services']['has'](_0x1ab112))throw new _0x3a7a10('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1ab112});return this['_services']['get'](_0x1ab112);}async['_fetchMissingUsersForThreads'](_0x40097b){const _0x3c3942=this['context']['plugins']['get'](_0x39336f),{connection:_0x4362ae}=this['context']['plugins']['get'](n),_0x5681a0=new Set();for(const {resolvedBy:_0x2ac1e7,comments:_0x381a2a}of _0x40097b){_0x2ac1e7&&!_0x3c3942['getUser'](_0x2ac1e7)&&_0x5681a0['add'](_0x2ac1e7);for(const {userId:_0x2eaba7}of _0x381a2a)_0x3c3942['getUser'](_0x2eaba7)||_0x5681a0['add'](_0x2eaba7);}if(0x0===_0x5681a0['size'])return;const _0x4361e3=await lt['getMany'](_0x4362ae,Array['from'](_0x5681a0));for(const _0x255e59 of _0x4361e3)_0x3c3942['getUser'](_0x255e59['id'])||_0x3c3942['addUser'](_0x255e59);}}async function f(_0x4e35a4){if('404'!==_0x4e35a4['code'])throw _0x4e35a4;}function dt(_0x3c6ce9){if((_0x4efaa4=_0x3c6ce9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4efaa4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4efaa4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4efaa4;throw _0x3c6ce9;}function p(_0xac21a3){return{'threadId':_0xac21a3['commentThreadId'],'commentId':_0xac21a3['commentId'],'content':_0xac21a3['content'],'createdAt':_0xac21a3['createdAt'],'authorId':_0xac21a3['userId'],'attributes':_0xac21a3['attributes']||{}};}class m extends _0x3ce7af{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(_0x18dfab){super(_0x18dfab);const _0x256215=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x256215);}['init'](){const _0x4972fa=this['editor']['plugins']['get'](n),_0x103d4c=this['editor']['plugins']['get']('TrackChangesEditing');return _0x103d4c['adapter']={'getSuggestion':async _0x3a05df=>{await this['_waitForServiceReady']();const _0x3e9efc=await this['_trackChangesService']['get'](_0x3a05df)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x3e9efc]),_0x3e9efc;},'addSuggestion':async({id:_0x53981f,type:_0x595f63,data:_0x24bfc8,originalSuggestionId:_0x359869,attributes:_0x353256})=>{await this['_waitForServiceReady']();const _0x172536={'id':_0x53981f,'type':_0x595f63,'data':_0x24bfc8,'originalSuggestionId':_0x359869,'attributes':_0x353256},_0x534741=await this['_trackChangesService']['add'](_0x53981f,_0x595f63,_0x24bfc8,_0x359869,_0x353256)['catch'](_0x32282b=>{if(ut(_0x32282b))return new Promise(_0x4ce014=>{this['_bufferedRequests']['set'](_0x53981f,{'resolve':_0x4ce014,'suggestionData':_0x172536});});throw _0x32282b;});return this['_bufferedRequests']['delete'](_0x53981f),_0x534741;},'updateSuggestion':async(_0x2641fa,_0x1e596c)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1e596c['state'])return this['_trackChangesService']['update'](_0x2641fa,_0x1e596c)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5884d9,_0x890795)=>{_0x103d4c['hasSuggestion'](_0x890795['id'])&&(_0x103d4c['getSuggestion'](_0x890795['id'])['attributes']=_0x890795['attributes']);}),this['_trackChangesService']['connect'](_0x4972fa['connection'])['then'](_0x52d1f2=>(_0x4972fa['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x52d1f2)['then'](()=>{for(const _0x382626 of _0x52d1f2){_0x103d4c['addSuggestionData'](_0x382626)['_saved']=!0x0;}})));}async['reconnect'](){const _0x411af1=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xe694a8}=this['editor']['plugins']['get'](n),_0x5318bb=await this['_trackChangesService']['connect'](_0xe694a8);await this['_fetchMissingUsersForThreads'](_0x5318bb);for(const {suggestionData:_0xf2f2a9,resolve:_0x1509df}of this['_bufferedRequests']['values']()){let _0x158973=_0x5318bb['find'](_0x1cfca6=>_0x1cfca6['id']===_0xf2f2a9['id']);_0x158973||(_0x158973=await this['_trackChangesService']['add'](_0xf2f2a9['id'],_0xf2f2a9['type'],_0xf2f2a9['data'],_0xf2f2a9['originalSuggestionId'])),_0x1509df(_0x158973);}for(const _0x556530 of _0x5318bb)_0x411af1['hasSuggestion'](_0x556530['id'])||_0x411af1['addSuggestionData'](_0x556530);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x571159=>{this['listenTo'](this['_trackChangesService'],'connected',_0x361951=>{_0x361951['off'](),_0x571159();});});}async['_fetchMissingUsersForThreads'](_0x5c4363){const _0x2649cb=this['editor']['plugins']['get'](_0x39336f),{connection:_0x3b151d}=this['editor']['plugins']['get'](n),_0x555b88=new Set();for(const {authorId:_0x36c1f8}of _0x5c4363)_0x2649cb['getUser'](_0x36c1f8)||_0x555b88['add'](_0x36c1f8);if(0x0===_0x555b88['size'])return;const _0x3a7fab=await lt['getMany'](_0x3b151d,Array['from'](_0x555b88));for(const _0x1abfa7 of _0x3a7fab)_0x2649cb['getUser'](_0x1abfa7['id'])||_0x2649cb['addUser'](_0x1abfa7);}}function A(_0x1601de){if(ut(_0x1601de))return new Promise(()=>{});throw _0x1601de;}function ut(_0x2b7158){return _0x2b7158['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b7158['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3ce7af{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 _0x364ae6=this['editor']['plugins']['get'](n),_0x3d2ccc=this['editor']['plugins']['get']('CommentsEditing'),_0x395cf6=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x364ae6,'change:state',(_0xa82128,_0x5b3d08,_0x97b3b7)=>{_0x3d2ccc['isThreadsLoadingPaused']='connected'!==_0x97b3b7;});}),this['listenTo'](_0x364ae6,'change:state',(_0x2bca04,_0x40c727,_0x17cf50)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x17cf50);}),_0x395cf6['_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 _0x3ce7af{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 _0x3ce7af{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x39336f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b9930){super(_0x2b9930);const _0x3973ff=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x3973ff);}async['init'](){const _0x19d2ea=this['editor']['plugins']['get'](l),_0x69e62f=_0x19d2ea['serverHistory'],_0x3f5f91=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x69e62f,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x19d2ea['sessionId']});const _0x18cfe9=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1356ec=await it['isBundleUploaded'](_0x3f5f91['connection'],_0x18cfe9);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xa096d4})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xa096d4)),'updateRevisions':async _0x313627=>{await this['_waitForServiceReady']();const _0x5873f5=this['_revisionTracker']['currentRevision'];if(_0x1356ec&&0x1===_0x313627['length']&&_0x313627[0x0]['id']===_0x5873f5['id'])return _0x313627;for(const _0x539e86 of _0x313627)_0x539e86['id']===_0x5873f5['id']&&(_0x539e86['isEmptyCurrent']=_0x539e86['fromVersion']===_0x539e86['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x313627,this['_lastRequestId'])['then'](_0x659f76=>(this['_lastRequestId']=_0x659f76,_0x313627))['catch'](_0xbf869a=>{if(et(_0xbf869a)||'400'===_0xbf869a['code']&&void 0x0!==_0xbf869a['data']['wrongRequestId']){for(const _0x2b6ef7 of _0x313627){!this['_revisionTracker']['repository']['getRevision'](_0x2b6ef7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2b6ef7['id'],_0x2b6ef7,!0x1);}if(et(_0xbf869a))throw _0xbf869a;return _0x313627;}throw _0xbf869a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2e677a,{revisionsData:_0x17cf84,requestId:_0x4b3beb})=>{Math['max'](..._0x17cf84['map'](_0x273c06=>_0x273c06['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x17cf84,_0x4b3beb);}):this['_handleRevisionsUpdate'](_0x17cf84,_0x4b3beb);});const {revisions:_0x12ae04,requestId:_0x35ef1d}=await this['_revisionHistoryService']['connect'](_0x3f5f91['connection']);_0x3f5f91['addToReconnectionStack'](this),this['_lastRequestId']=_0x35ef1d,await this['_fetchMissingUsers'](_0x12ae04);for(const _0x4e710a of _0x12ae04)this['_revisionTracker']['addRevisionData'](_0x4e710a);this['listenTo'](_0x19d2ea,'change:_isConnected',(_0x611df2,_0xc89345,_0x3dd9cc)=>{_0x3dd9cc&&(this['_oldOffset']=_0x19d2ea['_offset'],_0x611df2['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3f5f91,'state',_0x4c7e16=>_0x4c7e16===te['CONNECTED']);}async['reconnect'](){const _0x16826c=this['editor']['plugins']['get'](n),_0x4de728=this['editor']['plugins']['get'](l),_0x199dc1=async()=>{const _0x4b824e=this['_revisionTracker']['currentRevision'],_0x366b80=_0x4b824e['id'],_0x2a4f71=_0x366b80!==_0x4de728['sessionId'];if(_0x2a4f71){const _0x5dd54d=_0x4de728['_offset']-this['_oldOffset'],_0xd48cff=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4b824e['toVersion']+_0x5dd54d!==_0xd48cff){const _0x246a6b=_0x4b824e['fromVersion']+_0x5dd54d,_0x3618f3=this['editor']['plugins']['get'](_0x39336f),_0x593fe0=this['_revisionTracker']['buildRevisionData']({'revision':_0x4b824e,'from':_0x246a6b,'to':_0xd48cff});_0x593fe0['id']=_0x4b824e['id'];const _0x73515=_0x593fe0['authorsIds']['map'](_0x25887e=>_0x3618f3['getUser'](_0x25887e));_0x4b824e['_update']({..._0x593fe0,'authors':_0x73515},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4b824e['id'],_0x593fe0,!0x0);}this['_revisionTracker']['_startingVersion']=_0xd48cff,(_0x4b824e['toVersion']===_0x4b824e['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x366b80)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x366b80),this['_revisionTracker']['_createCurrentRevision'](_0xd48cff));}const {revisions:_0x4c8f64,requestId:_0x4573df}=await this['_revisionHistoryService']['reconnect'](_0x16826c['connection'],this['_lastRequestId']);_0x2a4f71&&_0x4c8f64['length']>0x0?_0x4de728['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4c8f64),this['_handleRevisionsUpdate'](_0x4c8f64,_0x4573df),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4de728['_isConnected']?_0x199dc1():new Promise((_0x462d20,_0x435f90)=>{_0x4de728['once']('change:_isConnected',()=>{_0x199dc1()['then'](_0x462d20)['catch'](_0x435f90);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x24f703=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4441f2=>{_0x4441f2['off'](),_0x24f703();});});}['_getLatestVersionFromServerOperations'](){const _0x158a73=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3ee34a of _0x158a73)if('marker'!==_0x3ee34a['type']||_0x3ee34a['affectsData'])return _0x3ee34a['baseVersion']+0x1;}['_getLatestVersion'](){const _0x38a0b1=this['editor']['plugins']['get'](l);return new Promise(_0x2a62ab=>{_0x38a0b1['_isPendingUpdate']?_0x38a0b1['once']('change:_isPendingUpdate',()=>{_0x2a62ab(this['_getLatestVersionFromServerOperations']());}):_0x2a62ab(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x53098b,_0x2e27ce){const _0x24c4b0=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2e27ce;for(const _0x1ffcc9 of _0x53098b){const _0x13e320=_0x24c4b0['getRevision'](_0x1ffcc9['id']);if(_0x13e320){if((_0x1ffcc9['fromVersion']||_0x1ffcc9['toVersion'])&&(_0x1ffcc9['diffData']=null),_0x13e320===this['_revisionTracker']['currentRevision']){const _0xf0b0d3=Math['max'](_0x13e320['toVersion'],_0x1ffcc9['toVersion']),_0x25c167=Math['max'](_0x13e320['fromVersion'],_0x1ffcc9['fromVersion']);let _0x4c3e4e;_0x13e320['toVersion']===_0x1ffcc9['toVersion']&&_0x13e320['fromVersion']===_0x1ffcc9['fromVersion']?(_0x4c3e4e=!0x0,this['_preventResendingRevisionData'](_0x1ffcc9)):_0x1ffcc9['toVersion']===_0xf0b0d3&&_0x1ffcc9['fromVersion']===_0x25c167?_0x4c3e4e=!0x1:(_0x13e320['toVersion']===_0xf0b0d3&&_0x13e320['fromVersion']===_0x25c167||this['_fixRevision']({'revision':_0x13e320,'from':_0x25c167,'to':_0xf0b0d3}),_0x4c3e4e=!0x0),_0x4c3e4e&&(delete _0x1ffcc9['fromVersion'],delete _0x1ffcc9['toVersion'],delete _0x1ffcc9['diffData'],delete _0x1ffcc9['createdAt'],delete _0x1ffcc9['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1ffcc9),this['_preventResendingRevisionData'](_0x1ffcc9);}else this['_revisionTracker']['addRevisionData'](_0x1ffcc9);}const _0x270dd5=_0x24c4b0['getRevisions']();_0x270dd5['reverse']();for(let _0x14f9cb=0x0;_0x14f9cb<_0x270dd5['length']-0x1;_0x14f9cb++){const _0x44b5e8=_0x270dd5[_0x14f9cb],_0x41d12a=_0x270dd5[_0x14f9cb+0x1];if(_0x44b5e8['fromVersion']<_0x41d12a['toVersion']){const _0xa45f19=_0x41d12a['toVersion'],_0x158f5f=Math['max'](_0xa45f19,_0x44b5e8['toVersion']);this['_fixRevision']({'revision':_0x44b5e8,'from':_0xa45f19,'to':_0x158f5f});}}}['_fixRevision']({revision:_0x1d0240,from:_0x572c18,to:_0x12a532}={}){const _0x182cdd=this['editor']['plugins']['get'](_0x39336f),_0x3000d4=this['_revisionTracker']['buildRevisionData']({'revision':_0x1d0240,'from':_0x572c18,'to':_0x12a532});_0x3000d4['authors']=_0x3000d4['authorsIds']['map'](_0x548fcd=>_0x182cdd['getUser'](_0x548fcd)),_0x1d0240['_update'](_0x3000d4);}['_preventResendingRevisionData'](_0x4d611c){const _0x57f9fc={};_0x57f9fc['id']=_0x4d611c['id'];for(const _0x18a59e of Object['keys'](_0x4d611c))'id'!==_0x18a59e&&(_0x57f9fc[_0x18a59e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x57f9fc['id'],_0x57f9fc,!0x0);}async['_fetchMissingUsers'](_0xbdff4f){const _0x5e0172=this['editor']['plugins']['get'](_0x39336f),{connection:_0x150ff2}=this['editor']['plugins']['get'](n),_0x223bc7=new Set();for(const _0x7b5669 of _0xbdff4f){for(const _0x504880 of _0x7b5669['authorsIds'])_0x33c6c9(_0x504880);_0x7b5669['creatorId']&&_0x33c6c9(_0x7b5669['creatorId']);}if(0x0===_0x223bc7['size'])return;const _0x40bf22=await lt['getMany'](_0x150ff2,Array['from'](_0x223bc7));for(const _0x5d4945 of _0x40bf22)_0x5e0172['getUser'](_0x5d4945['id'])||_0x5e0172['addUser'](_0x5d4945);function _0x33c6c9(_0x2a49e8){_0x5e0172['getUser'](_0x2a49e8)||_0x223bc7['add'](_0x2a49e8);}}}function et(_0x346f34){return _0x346f34['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x346f34['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x346f34['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x3ce7af{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x4cacb3{['_collapseAt'];constructor(_0x1c2386,_0x2136b6=0x6){super(_0x1c2386);const _0x4961a9=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2136b6,this['bind']('isHidden')['to'](this,'usersCount',_0x1145f5=>_0x1145f5<_0x2136b6),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4961a9['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':_0x4961a9['to']('usersCount',_0x16ed97=>'+'+(_0x16ed97-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4cacb3{['items'];['keystrokes'];constructor(_0xadba20){super(_0xadba20);const _0x2926e1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x14cf04(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2926e1['if']('hasPopup'),'aria-expanded':_0x2926e1['to']('isExpanded',_0x169188=>this['hasPopup']&&String(_0x169188)),'aria-label':_0x2926e1['to']('hasPopup',_0x4529bb=>W(_0xadba20,_0x4529bb?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2926e1['to']('hasPopup',_0xf4a265=>!!_0xf4a265&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2926e1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2926e1['to'](_0x2af6f6=>{const _0x5ecc43=_0x2af6f6,_0x637cae=document['querySelector']('.ck-presence-list__dropdown-list'),_0x28fc4a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x637cae?.['contains'](_0x5ecc43['relatedTarget'])||_0x28fc4a?.['contains'](_0x5ecc43['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x148936,_0x1e8cd0,_0x56b4ba)=>{this['element']&&(_0x56b4ba?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x4cacb3{['counterView'];['inlineListView'];constructor(_0x2a2fce,_0x344943=0x6){super(_0x2a2fce);const _0xc13e7e=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x344943),this['inlineListView']=new is(_0x2a2fce),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2733b7 of this['inlineListView']['items'])_0x2733b7['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',_0xc13e7e['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x4cacb3{['listWrapperView'];constructor(_0x64a4b7,_0x20a428){super(_0x64a4b7);const _0x3bc264=this['bindTemplate'];this['listWrapperView']=new pt(_0x64a4b7,_0x20a428),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x64a4b7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3bc264['to'](_0x4f5463=>{const _0xaf9ab7=_0x4f5463,_0x351366=document['querySelector']('.ck-presence-list__list'),_0x9ec4b9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x351366?.['contains'](_0xaf9ab7['relatedTarget'])||_0x9ec4b9?.['contains'](_0xaf9ab7['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x3b8368{constructor(_0x148fbb,_0x148ec5){super(_0x148fbb);const _0x5d6c30=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x148ec5?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5d6c30['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5d6c30['to']('role'),'aria-label':_0x5d6c30['to']('ariaLabel'),'aria-labelledby':_0x5d6c30['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2a7fa4['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4432e0=this['element'];_0x4432e0&&(this['_isScrollable']=Math['max'](_0x4432e0['scrollHeight'],_0x4432e0['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x5f4a7b,_0x6543a5,_0x402534){super(_0x5f4a7b);const _0x3ca7e5=this['bindTemplate'];this['userView']=new ct(_0x5f4a7b,_0x6543a5);const _0x220ca6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x6543a5['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x6543a5['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x6543a5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x402534&&(_0x220ca6['tag']='button',_0x220ca6['on']={'click':_0x3ca7e5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x220ca6);}['focus'](){this['element']['focus']();}}class _ extends _0x4cacb3{['userView'];['markerView'];constructor(_0x374db4,_0x493614,_0x8b2050){super(_0x374db4);const _0x98c51b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x374db4,_0x493614),this['markerView']=new at(_0x374db4,_0x493614);const _0x20e305=new ot(_0x374db4);_0x20e305['template']['tag']='span',_0x20e305['text']=_0x493614['name'];const _0x39e478={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x98c51b['to']('isFocusable',_0x18e0aa=>!!_0x18e0aa&&0x0),'aria-labelledby':_0x20e305['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x98c51b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x98c51b['to']('hasTooltip',_0x2d8a72=>!_0x2d8a72),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x20e305]};_0x8b2050&&(_0x39e478['tag']='button',_0x39e478['on']={'click':_0x98c51b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x39e478);}}class at extends _0x4cacb3{constructor(_0x5d1e87,_0x1c85d7){super(_0x5d1e87),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1c85d7['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3737b0{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e1316){super(_0x1e1316),this['context']['config']['define']('presenceList',U);const _0x10f771=_0x1e1316['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x10f771)throw new _0x3a7a10('presencelist-collapseat-invalid-format',this);if(_0x10f771<0x1)throw new _0x3a7a10('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x351db3(),this['balloonPanelView']=new _0x3edbc8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x355afd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x355afd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x58fbb8,_0x583306)=>{this['_handleUserAdd'](_0x583306);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x383abb,_0x33a5c1)=>{this['_handleUserRemove'](_0x33a5c1);});}['_createView'](){const _0x313d82=this['context'],_0x5cccc3=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xd59732=this['balloonPanelView'];if(!_0x28c1d(_0x313d82['config']['get']('presenceList.container')))throw new _0x3a7a10('presencelist-missing-container',this);return _0x5cccc3['counterView']['bind']('usersCount')['to'](this),_0x5cccc3['bind']('isCollapsed')['to'](this,'usersCount',_0x4fe7e6=>{const {collapseAt:_0x17682d}=_0x313d82['config']['get']('presenceList'),_0x1cb27d=_0x4fe7e6>=_0x17682d;if(_0x1cb27d&&!_0x5cccc3['inlineListView']['items']['find'](_0x432248=>_0x432248 instanceof y)){const _0x504c07=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x504c07&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5cccc3['inlineListView']['items']['add'](_0x5cccc3['counterView']);}return _0x1cb27d||this['hideDropdown'](),_0x1cb27d;}),_0x5cccc3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2a8c02=>{const _0x4b5ed5=_0x313d82['config']['get']('presenceList'),_0x23937d=new _(_0x313d82['locale'],_0x2a8c02,!!_0x4b5ed5['onClick']);return _0x23937d['bind']('hasTooltip')['to'](_0x5cccc3,'isCollapsed',_0x5aa923=>!_0x5aa923),_0x23937d['bind']('isFocusable')['to'](_0x5cccc3,'isCollapsed',_0x3bbd46=>!_0x3bbd46),_0x4b5ed5['onClick']&&this['listenTo'](_0x23937d,'execute',()=>{this['view']['isCollapsed']||_0x4b5ed5['onClick'](_0x2a8c02,_0x23937d['element']);}),_0x23937d;}),this['listenTo'](_0x5cccc3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5cccc3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5cccc3['inlineListView']['keystrokes']['set']('Enter',(_0x33e04e,_0x29d29b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x29d29b());}),_0x5cccc3['render'](),_0xd59732['render'](),_0x156eb3({'emitter':_0x5cccc3,'activator':()=>_0xd59732['isVisible'],'contextElements':[_0xd59732['element'],_0x5cccc3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x313d82['config']['get']('presenceList.container')['appendChild'](_0x5cccc3['element']),this['_bodyCollection']=new _0x58a8af(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5cccc3;}['_handleUserAdd'](_0x40d1b2){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x40d1b2['isMe'])return;const _0x3d896b=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3d896b-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4a4559=_0x40d1b2['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x40d1b2,_0x4a4559);}['_handleUserRemove'](_0x32b3b1){this['usersCount']--;const {collapseAt:_0x1fbd00}=this['context']['config']['get']('presenceList'),_0x2808e2=this['usersCount']>=_0x1fbd00;if(this['currentDisplayedUsers']['get'](_0x32b3b1['id']))this['currentDisplayedUsers']['remove'](_0x32b3b1['id']);else{if(_0x2808e2&&this['currentDisplayedUsers']['length']+0x1===_0x1fbd00-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x2808e2?0x1:0x0)<this['usersCount']){for(const _0x2ef999 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2ef999['id'])&&(this['currentDisplayedUsers']['add'](_0x2ef999,Math['min'](this['currentDisplayedUsers']['length']-(_0x2808e2?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x2808e2?0x1:0x0)===_0x1fbd00-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xf8327e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0xf8327e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1ae2b9}=this['presenceDropdownView'];_0x1ae2b9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x189755=>{if(!_0xf8327e['displayMe']&&_0x189755['isMe'])return null;const _0x3c3907=new P(this['context']['locale'],_0x189755,!!_0xf8327e['onClick']);return _0xf8327e['onClick']&&this['listenTo'](_0x3c3907,'execute',()=>{_0xf8327e['onClick'](_0x189755,_0x3c3907['element']);}),_0x3c3907;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1ae2b9['focus'](),_0x1ae2b9['checkIfScrollable']();const _0x5aa38e=(_0x2b41c0,_0x109d75)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x109d75();};_0x1ae2b9['keystrokes']['set']('Esc',_0x5aa38e),_0x1ae2b9['keystrokes']['set']('Shift+Tab',_0x5aa38e),_0x1ae2b9['keystrokes']['set']('Tab',(_0x28635b,_0x5bf703)=>{!function(_0x1decca){const _0x48b992=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x40f795=>_0x40f795+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1a35b4=[...document['body']['querySelectorAll'](_0x48b992)]['filter'](_0x318e40=>_0x318e40===document['activeElement']||_0x318e40['offsetWidth']+_0x318e40['offsetHeight']>0x0)['sort']((_0x2c4332,_0x456974)=>(_0x2c4332['tabIndex']||0x0)-(_0x456974['tabIndex']||0x0)),_0x3864f8=_0x1a35b4['indexOf'](_0x1decca),_0x577cbf=_0x1a35b4[(_0x3864f8+0x1)%_0x1a35b4['length']];_0x577cbf&&_0x577cbf['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5bf703();}),_0x1ae2b9['focusTracker']['add'](this['view']['element']),_0x1ae2b9['focusTracker']['on']('change:isFocused',(_0x58c18c,_0x4280ee,_0x330e9e)=>{_0x330e9e||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 _0x3737b0{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};