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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x13341e,Plugin as _0x5646ee,PendingActions as _0x3ad957,Context as _0x113706}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x13df65,CKEditorError as _0x2c9c89,Collection as _0x5a7f2a,global as _0x24b4b2,version as nt,uid as _0x3f1013,KeystrokeHandler as _0x2a54a2}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x398e75,View as _0xcfa12d,ListView as _0x42b975,ListItemView as et,LabelView as it,BalloonPanelView as _0x142816,clickOutsideHandler as _0x33d711,BodyCollection as _0x39c268}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x44b6f7,History as _0x272180,NoOperation as _0x73bafe,InsertOperation as _0x38092f,MarkerOperation as _0x46ffd6,RootAttributeOperation as _0x5c8512,transformOperationSets as _0x3dce07,OperationFactory as _0xf26799}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x43ade7,CollaborativeEditingService as _0xe6012e,User as ct,CommentsService as _0x144d71,TrackChangesService as _0x3ad8a1,RevisionHistoryService as _0x4b290b,EditorService as _0x58ca67}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x492d3c,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1faead}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x555b4d}from'es-toolkit/compat';class n extends _0x13341e{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x398e75];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3cc12f){super(_0x3cc12f),this['set']('state',_0x43ade7['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x13df65())();}['init'](){const _0x4f846f=this['context'],_0x1e1b2b=_0x4f846f['plugins']['get']('CloudServices'),_0x23f4fa=_0x4f846f['plugins']['get'](_0x398e75);if(!_0x1e1b2b['token'])throw new _0x2c9c89('websocketgateway-missing-token',this);if(!_0x1e1b2b['webSocketUrl'])throw new _0x2c9c89('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'](_0x1e1b2b['token'],_0x1e1b2b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4f9b47=>{if(this['connection']=_0x4f9b47,this['bind']('state')['to'](_0x4f9b47,'state',this,'_isBrowserOffline',(_0x526713,_0x293b6d)=>('connected'!==_0x526713&&(this['_shouldPluginsReconnect']=!0x0),_0x293b6d||_0x526713!==_0x43ade7['CONNECTED']?_0x43ade7['DISCONNECTED']:this['state']==_0x43ade7['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x43ade7['CONNECTING']):_0x43ade7['CONNECTED'])),this['connection']['on']('error',(_0x3071f7,_0x4d62b0)=>{if('limitExceeded'!==_0x4d62b0['code'])throw console['error'](_0x4d62b0),new _0x2c9c89('cloudservices-init',null,{'originalError':_0x4d62b0});_0x23f4fa['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'});}),!_0x4f9b47['me'])return new Promise(_0x537e76=>_0x4f9b47['on']('change:me',_0x537e76));})['catch'](_0x5b4a4f=>{throw console['error'](_0x5b4a4f),new _0x2c9c89('cloudservices-init',null,{'originalError':_0x5b4a4f});});}['addToReconnectionStack'](_0x5c2c3c){if('function'!=typeof _0x5c2c3c['reconnect'])throw new _0x2c9c89('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5c2c3c))throw new _0x2c9c89('websocketgateway-plugin-already-registered',this,{'name':_0x5c2c3c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5c2c3c);}['removeFromReconnectionStack'](_0x2a519d){this['_reconnectionStack']['delete'](_0x2a519d);}['isInReconnectionStack'](_0x282a4e){return this['_reconnectionStack']['has'](_0x282a4e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x33d892=>_0x33d892['reconnect']())))['then'](()=>this['state']=_0x43ade7['CONNECTED'])['catch'](_0x101652=>{throw console['error'](_0x101652),new _0x2c9c89('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x43ade7['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x13341e{['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,_0x492d3c];}constructor(_0x192c10){super(_0x192c10),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5a7f2a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x492d3c);}['init'](){const _0x5844a3=this['context']['plugins']['get'](n);this['listenTo'](_0x5844a3,'change:state',(_0x2d8d4d,_0xc40cc0,_0x3f5f0f)=>{if('connected'!==_0x3f5f0f)this['channelSessions']['forEach'](_0xe2faa8=>_0xe2faa8['clear']()),this['channelConnectedUsers']['forEach'](_0x1fd40f=>_0x1fd40f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x267055,_0x35702c]of this['_registeredSessions'])for(const _0x388ed3 of _0x35702c)this['_handleSessionAdd'](_0x267055,_0x388ed3);}}),this['_createUser'](_0x5844a3['connection']['me'],!0x0);}['register'](_0x575f15,_0x2ca38f){if(this['_registeredSessions']['has'](_0x575f15))throw new _0x2c9c89('sessions-register-already-registered',null,{'channelId':_0x575f15});this['_registeredSessions']['set'](_0x575f15,_0x2ca38f),this['channelSessions']['set'](_0x575f15,new _0x5a7f2a()),this['channelConnectedUsers']['set'](_0x575f15,new _0x5a7f2a()),this['listenTo'](_0x2ca38f,'add',(_0x44ed5a,_0x503a3a)=>this['_handleSessionAdd'](_0x575f15,_0x503a3a)),this['listenTo'](_0x2ca38f,'remove',(_0x48ad1a,_0x1fdef4)=>this['_handleSessionRemove'](_0x575f15,_0x1fdef4));for(const _0x541d51 of _0x2ca38f)this['_handleSessionAdd'](_0x575f15,_0x541d51);}['unregister'](_0x451b5c){if(!this['_registeredSessions']['has'](_0x451b5c))throw new _0x2c9c89('sessions-unregister-not-exist',null,{'channelId':_0x451b5c});const _0x1cf26e=this['_registeredSessions']['get'](_0x451b5c);this['stopListening'](_0x1cf26e);for(const _0x99fcb8 of _0x1cf26e)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x451b5c,_0x99fcb8);this['_registeredSessions']['delete'](_0x451b5c),this['channelSessions']['delete'](_0x451b5c),this['channelConnectedUsers']['delete'](_0x451b5c);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x27b50f){for(const _0x5ed33d of this['channelSessions']['values']())for(const _0xc19751 of _0x5ed33d)if(_0xc19751['id']===_0x27b50f)return _0xc19751['user'];}['getUserSessions'](_0x214ee9,_0x2d7460){const _0x53cfd9=_0x2d7460?[this['channelSessions']['get'](_0x2d7460)]:this['channelSessions']['values'](),_0x3808ee=new Set();for(const _0x26c94f of _0x53cfd9)for(const _0x305b6d of _0x26c94f)_0x305b6d['user']['id']===_0x214ee9['id']&&_0x3808ee['add'](_0x305b6d['id']);return _0x3808ee;}['getUserRole'](_0x5e2890){for(const _0x559b74 of this['channelSessions']['values']())for(const _0x12ccc6 of _0x559b74)if(_0x12ccc6['user']===_0x5e2890)return _0x12ccc6['role'];}['_handleSessionAdd'](_0x407d4e,_0x237433){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5f16a=_0x237433['user'],_0x4c29f0=this['_users']['getUser'](_0x5f16a['id'])||this['_createUser'](_0x5f16a),_0x1978a0=Object['assign']({},_0x237433,{'user':_0x4c29f0});this['channelSessions']['get'](_0x407d4e)['add'](_0x1978a0);const _0xb669f7=this['channelConnectedUsers']['get'](_0x407d4e);_0xb669f7['has'](_0x4c29f0['id'])||_0xb669f7['add'](_0x4c29f0),this['allConnectedUsers']['has'](_0x4c29f0['id'])||this['allConnectedUsers']['add'](_0x4c29f0,_0x4c29f0['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x407d4e,{'channelId':_0x407d4e,'session':_0x1978a0});}['_handleSessionRemove'](_0x148aba,_0xe56583){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5dd307=this['channelConnectedUsers']['get'](_0x148aba),_0x40bf11=_0xe56583['user'];_0x40bf11['id']&&(this['channelSessions']['get'](_0x148aba)['remove'](_0xe56583['id']),_0x5dd307['has'](_0x40bf11['id'])&&!this['getUserSessions'](_0x40bf11,_0x148aba)['size']&&_0x5dd307['remove'](_0x40bf11['id']),this['allConnectedUsers']['get'](_0x40bf11['id'])&&!this['getUserSessions'](_0x40bf11)['size']&&this['allConnectedUsers']['remove'](_0x40bf11['id']));}['_createUser'](_0x253e1a,_0x5e46c3){const _0x341332=this['_users']['addUser'](_0x253e1a);return _0x5e46c3&&this['_users']['defineMe'](_0x253e1a['id']),_0x341332['orderNumber']=this['_uniqueUsersCount']++,_0x341332;}}class $ extends _0x5646ee{['_domEmitter']=new(_0x13df65())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4b3d32=this['editor'],_0x47d06e=_0x4b3d32['plugins']['get'](i);_0x4b3d32['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xb7fc,{writer:_0x11cb3e})=>function(_0x143773,_0x491400,_0x5867bc,_0x3fc8c6){const _0x586da4=_0x143773['markerName']['split'](':')[0x2],_0x3f06b3=_0x5867bc['getUserBySessionId'](_0x586da4);if(!_0x3f06b3||_0x586da4===_0x5867bc['mySessionId'])return;if(!_0x3fc8c6['model']['schema']['checkChild'](_0x143773['markerRange']['start'],'$text'))return;const _0xa98c5f={'class':'ck-user__marker\x20'+_0x3f06b3['color']['getMarkerClass'](),'data-name':_0x3f06b3['name'],'data-session-id':_0x586da4},_0x39c1de=_0x3fc8c6['model']['markers']['get'](_0x143773['markerName']),_0x31cca4=_0x39c1de['getStart'](),_0x37d275=_0x31cca4['nodeAfter'],_0x150f05=_0x3fc8c6['model']['schema'];if(_0x37d275&&_0x150f05['isObject'](_0x37d275)&&_0x150f05['isInline'](_0x37d275)&&!_0x3fc8c6['model']['markers']['get']('user:range:'+_0x586da4)['getRange']()['isCollapsed'])return;const _0x21c5ae=_0x31cca4['parent'];return _0x3fc8c6['model']['schema']['isLimit'](_0x21c5ae)&&!_0x3fc8c6['model']['hasContent'](_0x21c5ae)&&(_0xa98c5f['contenteditable']=!0x1),function(_0x2d3c40,_0x591dfe,_0x47b649){const _0x29391c=_0x2d3c40['createUIElement']('span',_0x591dfe);return _0x2d3c40['setCustomProperty']('userPositionMarker',!0x0,_0x29391c),_0x29391c['render']=function(_0x30e5e6){const _0x47f966=this['toDomElement'](_0x30e5e6),_0x433e23=document['createElement']('span');return _0x433e23['classList']['add']('ck-user__marker-tooltip'),_0x433e23['setAttribute']('contenteditable','false'),_0x433e23['setAttribute']('spellcheck','false'),_0x433e23['textContent']=_0x47b649['name'],_0x47f966['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x433e23['outerHTML']+'⁠',_0x47f966['addEventListener']('mouseenter',()=>{_0x47f966['classList']['add']('ck-user__marker_hovered');}),_0x47f966['addEventListener']('mouseleave',()=>{_0x47f966['classList']['remove']('ck-user__marker_hovered');}),_0x47f966;},_0x29391c['isSimilar']=function(_0x3a16d3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3a16d3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3a16d3['getAttribute']('data-session-id'));},_0x29391c;}(_0x491400,_0xa98c5f,_0x3f06b3);}(_0xb7fc,_0x11cb3e,_0x47d06e,_0x4b3d32)}),_0x4b3d32['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x27b4e2=>function(_0x5359c2,_0x1c089d){const _0x4e71aa=_0x5359c2['markerName']['split'](':')[0x2];if(_0x4e71aa===_0x1c089d['mySessionId'])return null;const _0x2f11cd=_0x1c089d['getUserBySessionId'](_0x4e71aa);if(!_0x2f11cd)return{'id':_0x4e71aa,'classes':[]};return{'id':_0x4e71aa,'classes':['ck-user__selection',_0x2f11cd['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x4e71aa},'priority':0x7d0+_0x2f11cd['orderNumber']};}(_0x27b4e2,_0x47d06e)}),function(_0x29a1b4){const _0x1514b5=_0x29a1b4['model'],_0x133955=new Map(),_0xfa0a7f=_0x29a1b4['plugins']['get'](i);_0x1514b5['markers']['on']('update:user:range',(_0x39307c,_0x161156,_0x3fcfee,_0x1c5d07)=>{if(!_0x1c5d07&&_0x133955['get'](_0x161156['name']))return _0x133955['get'](_0x161156['name'])['detach'](),void _0x133955['delete'](_0x161156['name']);const _0x4603af=_0x161156['name']['split'](':')[0x2];if(_0x4603af===_0xfa0a7f['mySessionId'])return;const _0x432cfd='user:position:'+_0x4603af;_0x1514b5['markers']['has'](_0x432cfd)&&_0x29a1b4['editing']['reconvertMarker'](_0x432cfd),_0x161156['on']('change:range',(_0x5f5356,_0x567016,_0x412d48)=>{if('$graveyard'!=_0x567016['root']['rootName']&&'$graveyard'==_0x161156['getRange']()['root']['rootName']&&!_0x133955['has'](_0x161156['name'])){const _0x2974c9=_0x1514b5['schema']['getNearestSelectionRange'](_0x412d48['deletionPosition']);if(_0x2974c9){const _0x58e178=_0x44b6f7['fromRange'](_0x2974c9);_0x133955['set'](_0x161156['name'],_0x58e178),_0x58e178['on']('change:range',(_0x3cfe1b,_0x399527,_0x2c1438)=>{if('$graveyard'==_0x58e178['root']['rootName']){const _0x1e4dcb=_0x1514b5['schema']['getNearestSelectionRange'](_0x2c1438['deletionPosition']);_0x1e4dcb?(_0x58e178['start']=_0x1e4dcb['start'],_0x58e178['end']=_0x1e4dcb['end']):(_0x133955['delete'](_0x161156['name']),_0x58e178['detach']());}});}}});}),_0x1514b5['document']['on']('change',()=>{_0x133955['size']>0x0&&_0x1514b5['enqueueChange']({'isUndoable':!0x1},_0x18a3c4=>{for(const [_0x2fc445,_0x1baf90]of _0x133955)'$graveyard'==_0x1514b5['markers']['get'](_0x2fc445)['getRange']()['root']['rootName']&&(te(_0x2fc445['split'](':')[0x2],_0x1baf90['toRange'](),_0x1514b5,_0x18a3c4),_0x1baf90['detach']());_0x133955['clear']();});});}(_0x4b3d32),this['_domEmitter']['listenTo'](_0x24b4b2['document'],'keydown',(_0x19710f,{key:_0x19aa81})=>{'Escape'===_0x19aa81&&function(_0x34775b){_0x34775b['editing']['view']['change'](_0x484352=>{for(const _0x3a25e1 of _0x34775b['model']['markers']){if(!_0x3a25e1['name']['startsWith']('user:position'))continue;const _0x31479c=_0x34775b['editing']['mapper']['markerNameToElements'](_0x3a25e1['name']);if(_0x31479c){for(const _0x4daac0 of _0x31479c)_0x484352['removeClass']('ck-user__marker_hovered',_0x4daac0);}}});}(_0x4b3d32);},{'useCapture':!0x0});}['afterInit'](){const _0x283c38=this['editor'],_0x230848=_0x283c38['commands']['get']('undo');_0x230848&&_0x283c38['model']['on']('applyOperation',(_0x3ab2d9,_0x48a8ca)=>{const _0x3bcef2=_0x48a8ca[0x0];if(!_0x3bcef2['isDocumentOperation'])return;if('marker'!=_0x3bcef2['type']||!_0x3bcef2['name']['startsWith']('user:'))return;const _0xc6a8b4=_0x3bcef2['batch'];_0x230848['_createdBatches']['has'](_0xc6a8b4)&&(_0x3bcef2['newRange']=_0x3bcef2['oldRange']?_0x283c38['model']['createRange'](_0x3bcef2['oldRange']['start'],_0x3bcef2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x47ad27=this['editor'],_0x3b8db9=_0x47ad27['model']['document'],_0x16556b=_0x47ad27['plugins']['get'](i);_0x47ad27['model']['enqueueChange']({'isUndoable':!0x1},_0x51dd02=>{const _0x158b64='user:range:'+_0x16556b['mySessionId'],_0x1edafd='user:position:'+_0x16556b['mySessionId'],_0x36ab83=_0x47ad27['model']['markers']['has'](_0x158b64);_0x47ad27['editing']['view']['hasDomSelection']?te(_0x16556b['mySessionId'],_0x3b8db9['selection']['getFirstRange'](),_0x47ad27['model'],_0x51dd02):_0x36ab83&&(_0x51dd02['removeMarker'](_0x158b64),_0x51dd02['removeMarker'](_0x1edafd));});}}function te(_0x45571e,_0x386ad5,_0x3fbf3f,_0x331e75){const _0x2d231b='user:range:'+_0x45571e,_0x578142='user:position:'+_0x45571e,_0x3c01e2=_0x386ad5['getContainedElement']();let _0x2b2fc8=_0x386ad5['start'];if(_0x3c01e2&&_0x3c01e2['is']('element','tableCell')){const _0x1fcd07=function(_0x58866e,_0x1bc0fe){for(const _0x2c465a of _0x58866e['getPositions']())if(_0x1bc0fe['schema']['checkChild'](_0x2c465a,'$text'))return _0x2c465a;}(_0x386ad5,_0x3fbf3f);_0x1fcd07&&(_0x2b2fc8=_0x1fcd07,_0x386ad5=_0x331e75['createRange'](_0x2b2fc8));}const _0x5e944d=_0x331e75['createRange'](_0x2b2fc8);_0x3fbf3f['markers']['has'](_0x2d231b)?(_0x331e75['updateMarker'](_0x2d231b,{'range':_0x386ad5}),_0x331e75['updateMarker'](_0x578142,{'range':_0x5e944d})):(_0x331e75['addMarker'](_0x2d231b,{'range':_0x386ad5,'usingOperation':!0x0}),_0x331e75['addMarker'](_0x578142,{'range':_0x5e944d,'usingOperation':!0x0}));}function K(_0xbdce80,_0x569f10,_0x42fde3){const _0x3b2c86=_0xbdce80['t'],t=_0xbdce80['t'];switch(_0x569f10){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 _0x3b2c86({'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'},_0x42fde3);default:return'';}}let X=0x1;class l extends _0x5646ee{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0xe6012e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,$,_0x3ad957,_0x492d3c,_0x398e75];}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 _0x7c22e5=this['serverHistory']['getOperations']();for(let _0x1af50e=_0x7c22e5['length']-0x1;_0x1af50e>=0x0;_0x1af50e--){const _0x1ce06f=_0x7c22e5[_0x1af50e];if(!this['_disconnectionOperations']['has'](_0x1ce06f))return _0x1ce06f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x23f30f){if(super(_0x23f30f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x272180(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2c9c89('collaboration-missing-channelid',this);const _0x22ea69=_0x23f30f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x22ea69,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1faead(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new tt(this['_disconnectionOperations']);}['init'](){const _0x5cb831=this['editor'],_0x579b4c=_0x5cb831['plugins']['get'](_0x492d3c),_0x531c7c=_0x5cb831['plugins']['get'](n);this['listenTo'](_0x579b4c,'getOperationAuthor',(_0x25ca11,_0x239a40)=>{const _0x53ef2c=_0x239a40[0x0];_0x53ef2c['_authorId']&&(_0x25ca11['return']=_0x579b4c['getUser'](_0x53ef2c['_authorId']),_0x25ca11['stop']()),null===_0x53ef2c['_authorId']&&(_0x25ca11['return']=null,_0x25ca11['stop']());},{'priority':'high'}),this['listenTo'](_0x5cb831['model']['document']['selection'],'change:range',(_0x53cbd4,_0x5d5da0)=>{_0x5d5da0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5cb831['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5cb831['model']['on']('applyOperation',(_0x14573e,_0x36ef36)=>{const _0x234d23=_0x36ef36[0x0];_0x234d23['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x234d23),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x531c7c,'state',this,'_hasSynchronizationProblem',(_0x2e2eca,_0x338530)=>'connected'===_0x2e2eca&&!_0x338530),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5cb831['disableReadOnlyMode']('rtc-offline'):_0x5cb831['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5cb831['disableReadOnlyMode']('rtc-offline'):_0x5cb831['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1848b0=this['editor']['plugins']['get'](i),_0x4e3f5f=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x1848b0['unregister'](this['_channelId']);const _0x396269=await this['_service']['reconnect'](_0x4e3f5f['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x396269)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3dd5b7=await this['_service']['getConnectedSessions']();_0x1848b0['register'](this['_channelId'],_0x3dd5b7),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x228773){if(function(_0x1fb2b9){return'404'===_0x1fb2b9['code'];}(_0x228773)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3fa00b){return'409'===_0x3fa00b['code'];}(_0x228773)){const _0x55b97a=K(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x55b97a);}else{if(!(_0x228773 instanceof Y))throw _0x228773;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1bfe56=this['editor']['plugins']['get'](n),_0x449568=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x449568['channelSessions']['has'](this['_channelId'])&&_0x449568['unregister'](this['_channelId']),_0x1bfe56['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x422c77){if(this['sessionId']!==_0x422c77['sessionId']&&this['_lastSyncedOperationId']!==_0x422c77['lastOperationId'])throw new Y();return this['sessionId']=_0x422c77['sessionId'],this['_handleServerResponse']([],{..._0x422c77,'wereChangesApplied':!0x1,'data':_0x422c77['data']},'reconnect');}async['_connectService'](_0x8ec66,_0xe528c1=!0x1){const {connection:_0x438cfd}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x438cfd,this['_channelId'])['then'](_0x46cbe4=>this['_initSessionsHandling'](_0x46cbe4))['catch'](_0x1a8c50=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1a8c50);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1e07c9,_0x19528a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x19528a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x48f283=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x8ec66);this['_isPendingUpdate']=!0x0;const _0x28be6d=await this['_service']['connect'](_0x438cfd,this['_compressOperations'](_0x8ec66),_0x48f283);if(this['sessionId']=_0x28be6d['sessionId'],_0xe528c1){if(!_0x28be6d['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x28be6d['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x8ec66,_0x28be6d,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x28be6d,_0x8ec66);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3add6e=this['editor']['plugins']['get'](i),_0x7c1bd=this['editor']['plugins']['get']($),_0x23ab7e=_0x3add6e['channelSessions']['get'](this['_channelId']);_0x23ab7e&&_0x23ab7e['length']>0x1?_0x7c1bd['createUserMarkerOperations']():this['listenTo'](_0x3add6e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3add6e['channelSessions']['get'](this['_channelId'])['length']&&_0x7c1bd['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ed299,_0x7b5df0,_0x23634a,_0x5b51c9){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x7b5df0){const _0x4b93d0=this['_decompressOperations'](_0x23634a,_0x5b51c9);await this['_fetchMissingUsers'](_0x4b93d0),this['_handleExternalOperations'](_0x4b93d0,_0x7b5df0,_0x23634a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x5ada75}=this['editor'];let _0x17c809;try{_0x17c809=await this['_service']['getDocumentDetails']();}catch{const _0x54c5b4=K(_0x5ada75,'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'](_0x54c5b4);}const _0x398314=_0x17c809['currentDocumentSession']||_0x17c809['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x398314['lastOperationId']){const _0x3390bc=K(_0x5ada75,'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'](_0x3390bc);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x27826d){const _0x10ee5f=this['editor']['plugins']['get'](i);this['listenTo'](_0x10ee5f,'sessionAdd:'+this['_channelId'],(_0x39a3c9,{session:_0x56ff45})=>{if(_0x56ff45['id']===_0x10ee5f['mySessionId']){_0x39a3c9['off']();const _0x4c83d4=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x12b361=_0x56ff45['permissions'];_0x4c83d4&&_0x4c83d4['isEnabled']&&(_0x12b361=_0x12b361['filter'](_0xa7ef19=>'document:write'!==_0xa7ef19)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x12b361,this['_channelId']);}}),_0x10ee5f['register'](this['_channelId'],_0x27826d);}['_initThrowingOnDataSet'](){const _0x145d66=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a9055)=>{if(!_0x5a9055[_0x5a9055['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2c9c89('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x145d66['apply'](this['editor']['data'],_0x5a9055);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x20367a,[_0x3ba8e1])=>{if(this['_document']['version'])throw new _0x2c9c89('realtimecollaborationclient-init-document-already-initialized',this);_0x20367a['stop'](),this['_setPendingAction']();const _0x1516a5=this['editor']['config']['get']('rootsAttributes'),_0x133a98=this['_getOperationsFromInitData'](_0x3ba8e1,_0x1516a5);0x0==_0x133a98['length']&&_0x133a98['push'](new _0x73bafe(0x0)),_0x20367a['return']=this['_connectService'](_0x133a98)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2f83e4=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2f83e4))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4e8955,[_0x8b908,_0x556762])=>{_0x4e8955['stop']();const _0x424151=this['editor']['model']['document']['getRoot'](_0x8b908);if(!this['_knownRootNames']['has'](_0x8b908)){const _0x5e4fad=_0x556762&&_0x556762['data']?_0x556762['data']:'',_0x51bcbe=_0x556762&&_0x556762['attributes']?_0x556762['attributes']:{};await this['_loadRoot'](_0x8b908,_0x5e4fad,_0x51bcbe);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x424151['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x424151);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x88fc6a){const _0x303481=this['editor']['plugins']['get'](_0x492d3c),{connection:_0x17e713}=this['editor']['plugins']['get'](n),_0x531849=new Set();for(const _0x3cb4f5 of _0x88fc6a){const _0x42a6ba=_0x3cb4f5['_authorId'];_0x42a6ba&&!_0x303481['getUser'](_0x42a6ba)&&_0x531849['add'](_0x42a6ba);}if(0x0===_0x531849['size'])return;const _0x54d100=await ct['getMany'](_0x17e713,Array['from'](_0x531849));for(const _0x34f9ba of _0x54d100)_0x303481['getUser'](_0x34f9ba['id'])||_0x303481['addUser'](_0x34f9ba);}['_getOperationsFromInitData'](_0x1985aa,_0x39838e={}){const _0x4ffa7c=this['editor']['model'],_0x1445b6=[];let _0x263c05=0x0;const _0x12a243='string'==typeof _0x1985aa?{'main':_0x1985aa}:_0x1985aa;for(const _0x343604 of Object['keys'](_0x12a243)){if(!this['_document']['roots']['has'](_0x343604))throw new _0x2c9c89('realtimecollaborationclient-init-non-existent-root',this);const _0x2d9afd=this['editor']['data']['parse'](_0x12a243[_0x343604]),_0x4c4058=this['_document']['getRoot'](_0x343604),_0x5b7f53=new _0x38092f(_0x4ffa7c['createPositionAt'](_0x4c4058,0x0),_0x2d9afd,_0x263c05++);_0x1445b6['push'](_0x5b7f53);for(const [_0x4a6ea2,_0x1c3caa]of _0x2d9afd['markers']){const _0x5a42fc=_0x4ffa7c['createRange'](_0x4ffa7c['createPositionFromPath'](_0x4c4058,_0x1c3caa['start']['path']['slice']()),_0x4ffa7c['createPositionFromPath'](_0x4c4058,_0x1c3caa['end']['path']['slice']())),_0x442249=new _0x46ffd6(_0x4a6ea2,null,_0x5a42fc,_0x4ffa7c['markers'],!0x0,_0x263c05++);_0x1445b6['push'](_0x442249);}}if(_0x39838e)for(const [_0x12cd3d,_0x1dbac3]of Object['entries'](_0x39838e)){const _0x44e1c1=_0x4ffa7c['document']['getRoot'](_0x12cd3d);if(!_0x44e1c1)throw new _0x2c9c89('multi-root-editor-root-attributes-no-root',null);for(const [_0x21215c,_0x6c00ed]of Object['entries'](_0x1dbac3))if(null!==_0x6c00ed){const _0x61a0b8=new _0x5c8512(_0x44e1c1,_0x21215c,null,_0x6c00ed,_0x263c05++);_0x1445b6['push'](_0x61a0b8);}}return _0x1445b6;}async['_loadRoot'](_0x2bb7b0,_0x253c8b,_0x5f2538){this['_getOperationsFromInitData']({[_0x2bb7b0]:_0x253c8b},{[_0x2bb7b0]:_0x5f2538})['forEach']((_0x587ced,_0x5120b6)=>{_0x587ced['baseVersion']=this['_document']['version']+_0x5120b6,_0x587ced['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x587ced);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1e6571,_0x7d4a88){let _0x247006;this['_offset']=_0x1e6571['offset'];const _0x185468=_0x1e6571['wereChangesApplied']&&!_0x1e6571['initData'],_0x130a8e=_0x185468?0x0:_0x1e6571['data']['baseVersion'];if(_0x7d4a88['forEach'](_0x55019f=>{_0x55019f['_isInit']=!0x0,_0x55019f['createdAt']=_0x1e6571['sessionCreatedAt'],_0x55019f['_authorId']=null;}),_0x185468)_0x247006=_0x7d4a88,this['_applyOperationsSet'](_0x247006,_0x185468);else{if(_0x1e6571['initData']){const _0x406dd3=this['_getOperationsFromInitData'](_0x1e6571['initData']);this['_document']['history']['version']=-_0x406dd3['length'],_0x406dd3['forEach'](_0x1ca636=>{_0x1ca636['baseVersion']-=_0x406dd3['length'],_0x1ca636['createdAt']=_0x1e6571['sessionCreatedAt'],_0x1ca636['_isInit']=!0x0,_0x1ca636['_authorId']=null;}),this['_applyOperationsSet'](_0x406dd3,!0x0),this['serverHistory']['version']=-_0x406dd3['length']+this['_offset'],this['_updateServerHistory'](_0x406dd3);}this['_document']['history']['version']=_0x130a8e,_0x247006=this['_decompressOperations'](_0x1e6571['data'],_0x1e6571['metadata']),await this['_fetchMissingUsers'](_0x247006),this['_applyOperationsSet'](_0x247006,_0x185468);}_0x1e6571['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x247006,_0x1e6571['lastOperationId']),this['_lastSyncedOperationId']=_0x1e6571['lastOperationId']),this['serverHistory']['version']=_0x130a8e+this['_offset'],this['_updateServerHistory'](_0x247006),_0x7d4a88['filter'](_0x47faab=>{const _0x4b1e1d=this['_getAffectedRoot'](_0x47faab);return _0x4b1e1d&&!this['_knownRootNames']['has'](_0x4b1e1d);})['forEach']((_0x2bdf77,_0x4c2b9d)=>{_0x2bdf77['baseVersion']=this['_document']['version']+_0x4c2b9d,this['_saveOperationInBuffer'](_0x2bdf77);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4cfc19,_0x431a80){const _0x1fe686=_0x431a80&&_0x431a80['message'];if(_0x1fe686&&_0x1fe686['startsWith']('realtimecollaborationclient'))throw _0x431a80;const _0x51ab57=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x51ab57['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2c9c89(_0x4cfc19,this['editor'],_0x1fe686?{'originalError':_0x1fe686}:void 0x0);}['_saveOperationInBuffer'](_0x527b2f){this['_knownOperations']['has'](_0x527b2f)||(this['_knownOperations']['add'](_0x527b2f),this['_bufferedOperations']['push'](_0x527b2f),this['_pendingAction']||'marker'==_0x527b2f['type']&&!_0x527b2f['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x47fa49=!0x1){!_0x47fa49&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2508f7=>{_0x2508f7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4c5858=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2bfbf8){return _0x2bfbf8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2bfbf8['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2bfbf8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4c5858)||this['_crash'](_0x4c5858['message'],_0x4c5858);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x52361b=>{this['on']('change:_isPendingUpdate',()=>{_0x52361b();});});}async['_sendBufferedOperations'](){const _0x2a2197=this['editor']['plugins']['get']($);if(this['_shouldSendSelectionUpdate']()&&(_0x2a2197['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1725d6=[...this['_bufferedOperations']];for(const _0x2502de of _0x1725d6)_0x2502de['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2502de);const _0x2a5346=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1725d6),_0x3d9355=X++,_0x2846e4=this['_compressOperations'](_0x1725d6),_0x934bd7=await this['_service']['sendOperations'](_0x2846e4,_0x2846e4['baseVersion'],_0x2a5346);try{return await this['_handleServerResponse'](_0x1725d6,_0x934bd7,_0x3d9355);}catch(_0x298132){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x298132);}}async['_handleServerResponse'](_0x550661,_0x438eb9,_0x2f4e98){if('error'in _0x438eb9)throw _0x438eb9['error'];let _0x40bc4c=!0x1;if(_0x438eb9['wereChangesApplied']){_0x438eb9['lastOperationId']&&(this['_lastSyncedOperationId']=_0x438eb9['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x18895f=>!_0x550661['includes'](_0x18895f));for(const _0x4383f8 of _0x550661)_0x4383f8['createdAt']='lastOperationAcceptedAt'in _0x438eb9&&_0x438eb9['lastOperationAcceptedAt']||void 0x0;Z(_0x550661,_0x438eb9['version']-_0x550661['length']),this['_updateServerHistory'](_0x550661);const _0x7b145d=_0x550661['filter'](_0x1fbe3f=>{if(!_0x1fbe3f['_isInit'])return!0x1;const _0x1157d4=this['_getAffectedRoot'](_0x1fbe3f);return _0x1157d4&&!this['_knownRootNames']['has'](_0x1157d4);});Z(_0x7b145d,this['_document']['version']),this['_applyOperationsSet'](_0x7b145d),_0x40bc4c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x447787=this['_decompressOperations'](_0x438eb9['data'],_0x438eb9['metadata'])['filter'](_0x527c0c=>_0x527c0c['baseVersion']>=this['_lastServerVersion']);_0x447787['forEach'](_0xc56b11=>this['_addKnownRoot'](_0xc56b11)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5a9068=>!_0x5a9068['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5a9068))),this['_bufferedOperations']['length']&&Z(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x447787),_0x40bc4c=this['_handleExternalOperations'](_0x447787,_0x438eb9['version'],_0x438eb9['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x40bc4c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x25542f,_0x41b69c,_0x1fb8c7){try{const _0x5c8409={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x480194,operationsB:_0xefe9d7,originalOperations:_0x931c06}=_0x3dce07(_0x25542f,this['_bufferedOperations'],_0x5c8409);Z(_0x480194,this['_document']['version']),Z(_0xefe9d7,_0x41b69c);for(const _0x5e7cf5 of _0x480194){const _0x451416=_0x931c06['get'](_0x5e7cf5);_0x5e7cf5['_authorId']=_0x451416?_0x451416['_authorId']:null;}_0x1fb8c7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x25542f,_0x1fb8c7),this['_lastSyncedOperationId']=_0x1fb8c7),this['_bufferedOperations']=[..._0xefe9d7],this['_applyOperationsSet'](_0x480194),this['_updateServerHistory'](_0x25542f);}catch(_0x7abf){return console['error'](_0x7abf),!0x1;}return!0x0;}['_applyOperationsSet'](_0x4ba3ac,_0x297f82=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x179ca0=>{for(const _0x40a192 of _0x4ba3ac)this['_knownOperations']['add'](_0x40a192),this['_addKnownRoot'](_0x40a192),_0x179ca0['batch']['addOperation'](_0x40a192),this['editor']['model']['applyOperation'](_0x40a192);});}['_addKnownRoot'](_0x39ddad){const _0x4c8057=this['_getAffectedRoot'](_0x39ddad);_0x4c8057&&this['_knownRootNames']['add'](_0x4c8057);}['_getAffectedRoot'](_0x194cd1){let _0x9a8a0,_0x3cc47a;switch(_0x194cd1['type']){case'insert':_0x9a8a0=_0x194cd1['position']['root'];break;case'marker':if(_0x3cc47a=_0x194cd1['newRange'],!_0x3cc47a)return null;_0x9a8a0=_0x3cc47a['root'];break;case'addRootAttribute':_0x9a8a0=_0x194cd1['root'];break;case'addRoot':_0x9a8a0=_0x194cd1['affectedSelectable'];break;case'move':_0x9a8a0=_0x194cd1['targetPosition']['root'];break;default:return null;}return _0x9a8a0['rootName'];}['_updateServerHistory'](_0x1abffc){_0x1abffc['forEach'](_0x2ac8c5=>{const _0x3a4a63=_0x2ac8c5['clone']();_0x3a4a63['_authorId']=_0x2ac8c5['_authorId'],_0x3a4a63['_isInit']=!!_0x2ac8c5['_isInit'],_0x3a4a63['createdAt']=_0x2ac8c5['createdAt'],_0x3a4a63['baseVersion']+=this['_offset'],_0x2ac8c5['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3a4a63),this['serverHistory']['addOperation'](_0x3a4a63);});}['_handleReconnectionError'](_0x603683){const _0x517024=this['editor']['plugins']['get']('Notification'),_0x9ccd2a=this['editor']['locale'];_0x603683||(_0x603683=K(_0x9ccd2a,'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.')),_0x517024['showWarning'](_0x603683,{'title':K(_0x9ccd2a,'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'](_0x3ad957)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3ad957)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0xd4ed44){const _0x5994b1=_0xd4ed44['map'](_0x5c88a3=>_0x5c88a3['toJSON']());return this['_compressor']['compress'](_0x5994b1);}['_decompressOperations'](_0x24a0fe,_0x3a354c){return this['_compressor']['decompress'](_0x24a0fe)['map']((_0x433b7e,_0x59cb83)=>{const _0x3fab99='init'==_0x3a354c[_0x59cb83]['type'];if('InsertOperation'==_0x433b7e['__className']){const _0x32a463=_0x433b7e['position']['root'];!this['_document']['getRoot'](_0x32a463)&&(this['_document']['createRoot']('$root',_0x32a463)['_isAttached']=!0x1);}const _0x53a2ea=_0xf26799['fromJSON'](_0x433b7e,this['_document']);return _0x53a2ea['wasUndone']=_0x433b7e['wasUndone'],_0x53a2ea['_isInit']=_0x3fab99,_0x53a2ea['_authorId']=_0x3fab99?null:_0x3a354c[_0x59cb83]['userId'],_0x53a2ea['_isDisconnection']='cs:removeUser'===_0x3a354c[_0x59cb83]['type'],_0x53a2ea['createdAt']=_0x3a354c[_0x59cb83]['createdAt'],_0x53a2ea;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x212a92=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x212a92&&_0x212a92['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Y extends Error{}function Z(_0x271e83,_0x276c85){for(const _0x98c5af of _0x271e83)_0x98c5af['baseVersion']=_0x276c85++;}class tt{['_ignoredOperations'];['_operationToId'];constructor(_0x3b5ca1){this['_ignoredOperations']=_0x3b5ca1,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x288944){let _0xd1a490=_0x288944['length'];for(;_0xd1a490--;){const _0x1ede0d=_0x288944[_0xd1a490];if(!this['_ignoredOperations']['has'](_0x1ede0d)){if(!this['_operationToId']['has'](_0x1ede0d)){const _0x50ca93=_0x3f1013()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1ede0d,_0x50ca93);}return this['_operationToId']['get'](_0x1ede0d);}}}['setIdForTheLastOperation'](_0x5981a7,_0x29174d){if(!_0x29174d)return;let _0x126ac5=_0x5981a7['length'];for(;_0x126ac5--;){const _0x4c3820=_0x5981a7[_0x126ac5];this['_ignoredOperations']['has'](_0x4c3820)||this['_operationToId']['set'](_0x4c3820,_0x29174d);}}}class a extends _0x5646ee{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x13341e{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x144d71)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x492d3c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50b2e9){super(_0x50b2e9),this['_services']=new Map();}async['init'](){const _0x3615bc=this['context'],_0x55e221=_0x3615bc['plugins']['get']('CommentsRepository');if(_0x3615bc['plugins']['get'](n)['addToReconnectionStack'](this),_0x55e221['adapter']={'addCommentThread':async({channelId:_0x484156,threadId:_0x2f6027,comments:_0x2a440f,resolvedAt:_0x208467,resolvedBy:_0x58b736,context:_0x43cd82,attributes:_0x25d76b})=>{const _0x22e759=await this['_getService'](_0x484156)['addCommentThread']({'commentThreadId':_0x2f6027,'comments':_0x2a440f['map'](_0x20e893=>function(_0x158a32,_0xab7abb,_0x224f2b){return{'commentThreadId':_0x224f2b,'commentId':_0x158a32['commentId'],'userId':_0x158a32['authorId'],'content':_0x158a32['content'],'documentId':_0xab7abb,'createdAt':_0x158a32['createdAt'],'attributes':_0x158a32['attributes']||{}};}(_0x20e893,_0x484156,_0x2f6027)),'resolvedAt':_0x208467,'resolvedBy':_0x58b736,'context':_0x43cd82,'attributes':_0x25d76b})['catch'](at);return{'threadId':_0x22e759['commentThreadId'],'comments':_0x22e759['comments']};},'getCommentThread':async({channelId:_0x2a30bd,threadId:_0x200fdc})=>{const _0x53d9e9=await this['_getService'](_0x2a30bd)['getCommentThread'](_0x200fdc)['catch'](at);return _0x53d9e9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x53d9e9]),{'threadId':_0x53d9e9['commentThreadId'],'comments':_0x53d9e9['comments']['map'](U),'context':_0x53d9e9['context'],'resolvedAt':_0x53d9e9['resolvedAt'],'resolvedBy':_0x53d9e9['resolvedBy'],'attributes':_0x53d9e9['attributes']||{}});},'updateCommentThread':async({channelId:_0x5d6f69,threadId:_0x28354c,context:_0x4095eb,unlinkedAt:_0xe0df87,attributes:_0x5ec33e})=>this['_getService'](_0x5d6f69)['updateCommentThread']({'commentThreadId':_0x28354c,'context':_0x4095eb,'attributes':_0x5ec33e,'unlinkedAt':_0xe0df87})['catch'](B)['catch'](at),'resolveCommentThread':async({channelId:_0x2f77e2,threadId:_0x5b4b41})=>{const _0x2512ba=await this['_getService'](_0x2f77e2)['resolveCommentThread'](_0x5b4b41)['catch'](B)['catch'](at);return{'threadId':_0x2512ba['commentThreadId'],'resolvedAt':_0x2512ba['resolvedAt'],'resolvedBy':_0x2512ba['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3de176,threadId:_0x6603a7})=>this['_getService'](_0x3de176)['reopenCommentThread'](_0x6603a7)['catch'](B)['catch'](at),'removeCommentThread':({channelId:_0x4447a7,threadId:_0x3a618d})=>this['_getService'](_0x4447a7)['removeCommentThread'](_0x3a618d)['catch'](B)['catch'](at),'addComment':({channelId:_0x2fdb3c,threadId:_0xa283f8,commentId:_0x45939c,content:_0x764ae6,attributes:_0x2efbf8})=>this['_getService'](_0x2fdb3c)['addComment'](_0xa283f8,_0x45939c,_0x764ae6,_0x2efbf8)['catch'](at),'updateComment':({channelId:_0x598e12,threadId:_0x3d05fc,commentId:_0x4fd2c2,content:_0x1c8adf,attributes:_0x54b6c0})=>this['_getService'](_0x598e12)['updateComment'](_0x3d05fc,_0x4fd2c2,_0x1c8adf,_0x54b6c0)['catch'](B)['catch'](at),'removeComment':({channelId:_0x584f93,threadId:_0x5f4409,commentId:_0x49f6db})=>this['_getService'](_0x584f93)['removeComment'](_0x5f4409,_0x49f6db)['catch'](B)['catch'](at)},_0x3615bc instanceof _0x113706){const _0x18b1af=_0x3615bc['config']['get']('collaboration.channelId'),_0x5ea6dd=_0x3615bc['plugins']['get'](i);await this['_setUpService'](_0x18b1af);const _0x3eedc3=await this['_services']['get'](_0x18b1af)['getConnectedSessions']();this['listenTo'](_0x5ea6dd,'sessionAdd:'+_0x18b1af,(_0x3d76ed,{session:_0x407612})=>{_0x407612['id']===_0x5ea6dd['mySessionId']&&(_0x3d76ed['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x407612['permissions'],_0x18b1af));}),_0x5ea6dd['register'](_0x18b1af,_0x3eedc3);}}async['_setUpService'](_0x4fb4de){if(this['_services']['has'](_0x4fb4de))throw new _0x2c9c89('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4fb4de});const _0x26e204=this['context']['plugins']['get']('CommentsRepository'),_0x55d300=new s['CommentsService'](_0x4fb4de);this['_services']['set'](_0x4fb4de,_0x55d300),this['listenTo'](_0x55d300,'commentThreadAdded',(_0x9b377e,_0x2cc57a)=>{const {commentThreadId:_0x42854b,documentId:_0xced600,context:_0x8d5251,attributes:_0x65d8ca,resolvedAt:_0x324f26,resolvedBy:_0x2a9d2b,comments:_0x2575b1}=_0x2cc57a;_0x26e204['getCommentThread'](_0x42854b)||_0x26e204['addCommentThread']({'threadId':_0x42854b,'channelId':_0xced600,'comments':_0x2575b1?_0x2575b1['map'](U):[],'context':_0x8d5251,'attributes':_0x65d8ca,'resolvedAt':_0x324f26,'resolvedBy':_0x2a9d2b,'isFromAdapter':!0x0});}),this['listenTo'](_0x55d300,'commentThreadUpdated',(_0xfb21f3,{commentThreadId:_0x5d2732,documentId:_0x5e4b41,context:_0x348b09,unlinkedAt:_0xd9d05d,attributes:_0x189d73})=>{_0x26e204['getCommentThread'](_0x5d2732)&&_0x26e204['updateCommentThread']({'threadId':_0x5d2732,'channelId':_0x5e4b41,'context':_0x348b09,'unlinkedAt':_0xd9d05d,'attributes':_0x189d73,'isFromAdapter':!0x0});}),this['listenTo'](_0x55d300,'commentThreadResolved',(_0x4ef3ed,{commentThreadId:_0x2712d2,resolvedBy:_0x4a7c7a,resolvedAt:_0x36807a})=>{const _0x31b805=_0x26e204['getCommentThread'](_0x2712d2);_0x31b805&&_0x31b805['resolve']({'resolvedBy':_0x4a7c7a,'resolvedAt':_0x36807a,'isFromAdapter':!0x0});}),this['listenTo'](_0x55d300,'commentThreadReopened',(_0x264e78,{commentThreadId:_0x5e0ad4})=>{const _0x5257ee=_0x26e204['getCommentThread'](_0x5e0ad4);_0x5257ee&&_0x5257ee['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x55d300,'commentThreadRemoved',(_0x2bb879,{commentThreadId:_0x5eebfc})=>{const _0x408370=_0x26e204['getCommentThread'](_0x5eebfc);_0x408370&&_0x408370['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x55d300,'commentAdded',(_0x20ca92,_0x30d046)=>{const _0x53b0b6=_0x30d046['commentThreadId'],_0x1410ff=_0x26e204['getCommentThread'](_0x53b0b6);_0x1410ff&&_0x1410ff['addComment']({...U(_0x30d046),'isFromAdapter':!0x0});}),this['listenTo'](_0x55d300,'commentUpdated',(_0x44a34e,{commentThreadId:_0x13bc9c,commentId:_0xe3f66e,content:_0x1396f8,attributes:_0x3e127b})=>{const _0x215acd=_0x26e204['getCommentThread'](_0x13bc9c);if(_0x215acd){const _0x2b520b=_0x215acd['getComment'](_0xe3f66e);_0x2b520b&&_0x2b520b['update']({'content':_0x1396f8,'attributes':_0x3e127b,'isFromAdapter':!0x0});}}),this['listenTo'](_0x55d300,'commentRemoved',(_0x1bd4b8,{commentThreadId:_0x13cce2,commentId:_0x5ab353})=>{const _0x360e90=_0x26e204['getCommentThread'](_0x13cce2);if(_0x360e90){const _0xf86a68=_0x360e90['getComment'](_0x5ab353);_0xf86a68&&_0xf86a68['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4fb4de);}['destroy'](){if(this['context']instanceof _0x113706){const _0x58175e=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x58175e);}}['_terminateService'](_0x10b95a){if(!this['_services']['has'](_0x10b95a))throw new _0x2c9c89('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x10b95a});this['_getService'](_0x10b95a)['disconnect'](),this['_services']['delete'](_0x10b95a);}async['reconnect'](){for(const _0x2fdb7f of this['_services']['keys']())await this['_connectService'](_0x2fdb7f);if(this['context']instanceof _0x113706){const _0xc6b90=this['context']['config']['get']('collaboration.channelId'),_0x1aea23=this['context']['plugins']['get'](i);_0x1aea23['unregister'](_0xc6b90);const _0x551afd=await this['_services']['get'](_0xc6b90)['getConnectedSessions']();_0x1aea23['register'](_0xc6b90,_0x551afd);}}async['_connectService'](_0x1e5f8c){const {connection:_0x440832}=this['context']['plugins']['get'](n),_0x12465f=this['context']['plugins']['get']('CommentsRepository'),_0x2a6155=this['_services']['get'](_0x1e5f8c),_0x30274e=await _0x2a6155['connect'](_0x440832);await this['_fetchMissingUsersForThreads'](_0x30274e);const _0x5de678=new Set(Array['from'](_0x12465f['getCommentThreads']({'channelId':_0x1e5f8c}),_0x111b59=>_0x111b59['id']));for(const _0x1051ed of _0x30274e)_0x1051ed['deletedAt']||_0x5de678['delete'](_0x1051ed['commentThreadId']);for(const _0x40eb73 of _0x5de678)_0x12465f['getCommentThread'](_0x40eb73)['remove']({'isFromAdapter':!0x0});for(const _0x55abb4 of _0x30274e){let _0x39aa26=_0x12465f['getCommentThread'](_0x55abb4['commentThreadId']);const {commentThreadId:_0x204c8e,context:_0x529858,attributes:_0x56ae61,resolvedBy:_0x50c477,resolvedAt:_0x4dcd5a,unlinkedAt:_0x2a0aa9,deletedAt:_0x2f6dd8}=_0x55abb4;if(_0x2f6dd8)continue;_0x39aa26||(_0x39aa26=_0x12465f['addCommentThread']({'channelId':_0x1e5f8c,'threadId':_0x204c8e,'context':_0x529858,'attributes':_0x56ae61||{},'resolvedBy':_0x50c477,'resolvedAt':_0x4dcd5a,'unlinkedAt':_0x2a0aa9,'isFromAdapter':!0x0}));const _0x2c3893=new Set(Array['from'](_0x39aa26['comments'],_0x599b07=>_0x599b07['id']));for(const _0x379f6c of _0x55abb4['comments'])_0x2c3893['delete'](_0x379f6c['commentId']);for(const _0x50b946 of _0x2c3893)_0x39aa26['getComment'](_0x50b946)['remove']({'isFromAdapter':!0x0});for(const _0x894b10 of _0x55abb4['comments']){const _0x3776ed=_0x39aa26['getComment'](_0x894b10['commentId']);_0x3776ed?_0x3776ed['content']!==_0x894b10['content']&&_0x3776ed['update']({'content':_0x894b10['content'],'isFromAdapter':!0x0}):_0x39aa26['addComment'](Object['assign'](U(_0x894b10),{'isFromAdapter':!0x0}));}}}['_getService'](_0x11ca35){if(!this['_services']['has'](_0x11ca35))throw new _0x2c9c89('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x11ca35});return this['_services']['get'](_0x11ca35);}async['_fetchMissingUsersForThreads'](_0x573499){const _0x40017e=this['context']['plugins']['get'](_0x492d3c),{connection:_0x21e648}=this['context']['plugins']['get'](n),_0x54b251=new Set();for(const {resolvedBy:_0x5079ad,comments:_0x22b5ab}of _0x573499){_0x5079ad&&!_0x40017e['getUser'](_0x5079ad)&&_0x54b251['add'](_0x5079ad);for(const {userId:_0x3746e0}of _0x22b5ab)_0x40017e['getUser'](_0x3746e0)||_0x54b251['add'](_0x3746e0);}if(0x0===_0x54b251['size'])return;const _0x456969=await ct['getMany'](_0x21e648,Array['from'](_0x54b251));for(const _0x544179 of _0x456969)_0x40017e['getUser'](_0x544179['id'])||_0x40017e['addUser'](_0x544179);}}async function B(_0x254c63){if('404'!==_0x254c63['code'])throw _0x254c63;}function at(_0x4c73ad){if((_0x2f2aaf=_0x4c73ad)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2f2aaf['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f2aaf['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2f2aaf;throw _0x4c73ad;}function U(_0x4df9f9){return{'threadId':_0x4df9f9['commentThreadId'],'commentId':_0x4df9f9['commentId'],'content':_0x4df9f9['content'],'createdAt':_0x4df9f9['createdAt'],'authorId':_0x4df9f9['userId'],'attributes':_0x4df9f9['attributes']||{}};}class m extends _0x5646ee{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x3ad8a1)());['_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(_0x2b627a){super(_0x2b627a);const _0x54cec7=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x54cec7);}['init'](){const _0x5c8803=this['editor']['plugins']['get'](n),_0xa6d820=this['editor']['plugins']['get']('TrackChangesEditing');return _0xa6d820['adapter']={'getSuggestion':async _0x36e22f=>{await this['_waitForServiceReady']();const _0x564a09=await this['_trackChangesService']['get'](_0x36e22f)['catch'](C);return await this['_fetchMissingUsersForThreads']([_0x564a09]),_0x564a09;},'addSuggestion':async({id:_0x1b44ab,type:_0x4ecaeb,data:_0x49354c,originalSuggestionId:_0x329240,attributes:_0x42cf85})=>{await this['_waitForServiceReady']();const _0x1b274f={'id':_0x1b44ab,'type':_0x4ecaeb,'data':_0x49354c,'originalSuggestionId':_0x329240,'attributes':_0x42cf85},_0x51fd27=await this['_trackChangesService']['add'](_0x1b44ab,_0x4ecaeb,_0x49354c,_0x329240,_0x42cf85)['catch'](_0xb5bb5a=>{if(ht(_0xb5bb5a))return new Promise(_0x4fcba5=>{this['_bufferedRequests']['set'](_0x1b44ab,{'resolve':_0x4fcba5,'suggestionData':_0x1b274f});});throw _0xb5bb5a;});return this['_bufferedRequests']['delete'](_0x1b44ab),_0x51fd27;},'updateSuggestion':async(_0x686b6b,_0x31f95f)=>{if(await this['_waitForServiceReady'](),'open'!==_0x31f95f['state'])return this['_trackChangesService']['update'](_0x686b6b,_0x31f95f)['catch'](C);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x58c217,_0x12e438)=>{_0xa6d820['hasSuggestion'](_0x12e438['id'])&&(_0xa6d820['getSuggestion'](_0x12e438['id'])['attributes']=_0x12e438['attributes']);}),this['_trackChangesService']['connect'](_0x5c8803['connection'])['then'](_0x438dba=>(_0x5c8803['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x438dba)['then'](()=>{for(const _0x252b55 of _0x438dba){_0xa6d820['addSuggestionData'](_0x252b55)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4c2fa1=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x53a349}=this['editor']['plugins']['get'](n),_0x49dde6=await this['_trackChangesService']['connect'](_0x53a349);await this['_fetchMissingUsersForThreads'](_0x49dde6);for(const {suggestionData:_0x40cc64,resolve:_0x4df959}of this['_bufferedRequests']['values']()){let _0x2a1b34=_0x49dde6['find'](_0x42e95f=>_0x42e95f['id']===_0x40cc64['id']);_0x2a1b34||(_0x2a1b34=await this['_trackChangesService']['add'](_0x40cc64['id'],_0x40cc64['type'],_0x40cc64['data'],_0x40cc64['originalSuggestionId'])),_0x4df959(_0x2a1b34);}for(const _0x589f4f of _0x49dde6)_0x4c2fa1['hasSuggestion'](_0x589f4f['id'])||_0x4c2fa1['addSuggestionData'](_0x589f4f);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x526fe8=>{this['listenTo'](this['_trackChangesService'],'connected',_0xc82373=>{_0xc82373['off'](),_0x526fe8();});});}async['_fetchMissingUsersForThreads'](_0x3f73d9){const _0x4965b3=this['editor']['plugins']['get'](_0x492d3c),{connection:_0x49f6fd}=this['editor']['plugins']['get'](n),_0x4ccd1b=new Set();for(const {authorId:_0x41c60e}of _0x3f73d9)_0x4965b3['getUser'](_0x41c60e)||_0x4ccd1b['add'](_0x41c60e);if(0x0===_0x4ccd1b['size'])return;const _0x2a2c93=await ct['getMany'](_0x49f6fd,Array['from'](_0x4ccd1b));for(const _0x3b3ddf of _0x2a2c93)_0x4965b3['getUser'](_0x3b3ddf['id'])||_0x4965b3['addUser'](_0x3b3ddf);}}function C(_0x6a029){if(ht(_0x6a029))return new Promise(()=>{});throw _0x6a029;}function ht(_0x924d15){return _0x924d15['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x924d15['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5646ee{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 _0x382d82=this['editor']['plugins']['get'](n),_0x5b8fc7=this['editor']['plugins']['get']('CommentsEditing'),_0x36ec9b=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x382d82,'change:state',(_0x4ce3e2,_0x17afc1,_0x48bc8e)=>{_0x5b8fc7['isThreadsLoadingPaused']='connected'!==_0x48bc8e;});}),this['listenTo'](_0x382d82,'change:state',(_0xd6fe71,_0x3ad133,_0x4e717d)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4e717d);}),_0x36ec9b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x5646ee{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 _0x5646ee{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x4b290b)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x492d3c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4d4725){super(_0x4d4725);const _0x26638a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x26638a);}async['init'](){const _0x185e1d=this['editor']['plugins']['get'](l),_0x2810f0=_0x185e1d['serverHistory'],_0x56d5a7=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x2810f0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x185e1d['sessionId']});const _0x21bf68=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x59422b=await _0x58ca67['isBundleUploaded'](_0x56d5a7['connection'],_0x21bf68);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x277dd2})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x277dd2)),'updateRevisions':async _0x3721a1=>{await this['_waitForServiceReady']();const _0x26047c=this['_revisionTracker']['currentRevision'];if(_0x59422b&&0x1===_0x3721a1['length']&&_0x3721a1[0x0]['id']===_0x26047c['id'])return _0x3721a1;for(const _0x335f14 of _0x3721a1)_0x335f14['id']===_0x26047c['id']&&(_0x335f14['isEmptyCurrent']=_0x335f14['fromVersion']===_0x335f14['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3721a1,this['_lastRequestId'])['then'](_0x1ea9d5=>(this['_lastRequestId']=_0x1ea9d5,_0x3721a1))['catch'](_0x56e6b6=>{if(P(_0x56e6b6)||'400'===_0x56e6b6['code']&&void 0x0!==_0x56e6b6['data']['wrongRequestId']){for(const _0x453250 of _0x3721a1){!this['_revisionTracker']['repository']['getRevision'](_0x453250['id'])||this['_revisionTracker']['_bufferUpdate'](_0x453250['id'],_0x453250,!0x1);}if(P(_0x56e6b6))throw _0x56e6b6;return _0x3721a1;}throw _0x56e6b6;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x35f93d,{revisionsData:_0x5a7dc6,requestId:_0x35b8ef})=>{Math['max'](..._0x5a7dc6['map'](_0x54275b=>_0x54275b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5a7dc6,_0x35b8ef);}):this['_handleRevisionsUpdate'](_0x5a7dc6,_0x35b8ef);});const {revisions:_0x341e3d,requestId:_0x1bcb4d}=await this['_revisionHistoryService']['connect'](_0x56d5a7['connection']);_0x56d5a7['addToReconnectionStack'](this),this['_lastRequestId']=_0x1bcb4d,await this['_fetchMissingUsers'](_0x341e3d);for(const _0x5c9920 of _0x341e3d)this['_revisionTracker']['addRevisionData'](_0x5c9920);this['listenTo'](_0x185e1d,'change:_isConnected',(_0xa5af02,_0x3b15cd,_0x485d6e)=>{_0x485d6e&&(this['_oldOffset']=_0x185e1d['_offset'],_0xa5af02['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x56d5a7,'state',_0x180a0a=>_0x180a0a===_0x43ade7['CONNECTED']);}async['reconnect'](){const _0x43b945=this['editor']['plugins']['get'](n),_0x5163cd=this['editor']['plugins']['get'](l),_0x454b21=async()=>{const _0x44f9d4=this['_revisionTracker']['currentRevision'],_0x343eb5=_0x44f9d4['id'],_0x12b363=_0x343eb5!==_0x5163cd['sessionId'];if(_0x12b363){const _0x279778=_0x5163cd['_offset']-this['_oldOffset'],_0xbe7fda=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x44f9d4['toVersion']+_0x279778!==_0xbe7fda){const _0x1d03cc=_0x44f9d4['fromVersion']+_0x279778,_0x45e401=this['editor']['plugins']['get'](_0x492d3c),_0x9cbada=this['_revisionTracker']['buildRevisionData']({'revision':_0x44f9d4,'from':_0x1d03cc,'to':_0xbe7fda});_0x9cbada['id']=_0x44f9d4['id'];const _0x4e8449=_0x9cbada['authorsIds']['map'](_0x2fdef2=>_0x45e401['getUser'](_0x2fdef2));_0x44f9d4['_update']({..._0x9cbada,'authors':_0x4e8449},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x44f9d4['id'],_0x9cbada,!0x0);}this['_revisionTracker']['_startingVersion']=_0xbe7fda,(_0x44f9d4['toVersion']===_0x44f9d4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x343eb5)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x343eb5),this['_revisionTracker']['_createCurrentRevision'](_0xbe7fda));}const {revisions:_0x38e827,requestId:_0x4e418b}=await this['_revisionHistoryService']['reconnect'](_0x43b945['connection'],this['_lastRequestId']);_0x12b363&&_0x38e827['length']>0x0?_0x5163cd['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x38e827),this['_handleRevisionsUpdate'](_0x38e827,_0x4e418b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5163cd['_isConnected']?_0x454b21():new Promise((_0x54285f,_0x3c5fef)=>{_0x5163cd['once']('change:_isConnected',()=>{_0x454b21()['then'](_0x54285f)['catch'](_0x3c5fef);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3fd5e4=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3ad5bd=>{_0x3ad5bd['off'](),_0x3fd5e4();});});}['_getLatestVersionFromServerOperations'](){const _0x5c016a=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3c774d of _0x5c016a)if('marker'!==_0x3c774d['type']||_0x3c774d['affectsData'])return _0x3c774d['baseVersion']+0x1;}['_getLatestVersion'](){const _0x57bcb2=this['editor']['plugins']['get'](l);return new Promise(_0x42c40c=>{_0x57bcb2['_isPendingUpdate']?_0x57bcb2['once']('change:_isPendingUpdate',()=>{_0x42c40c(this['_getLatestVersionFromServerOperations']());}):_0x42c40c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x48001d,_0x2fb64a){const _0xd2f568=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2fb64a;for(const _0x518208 of _0x48001d){const _0x2d0c58=_0xd2f568['getRevision'](_0x518208['id']);if(_0x2d0c58){if((_0x518208['fromVersion']||_0x518208['toVersion'])&&(_0x518208['diffData']=null),_0x2d0c58===this['_revisionTracker']['currentRevision']){const _0x34d10d=Math['max'](_0x2d0c58['toVersion'],_0x518208['toVersion']),_0xc90b5d=Math['max'](_0x2d0c58['fromVersion'],_0x518208['fromVersion']);let _0x39c401;_0x2d0c58['toVersion']===_0x518208['toVersion']&&_0x2d0c58['fromVersion']===_0x518208['fromVersion']?(_0x39c401=!0x0,this['_preventResendingRevisionData'](_0x518208)):_0x518208['toVersion']===_0x34d10d&&_0x518208['fromVersion']===_0xc90b5d?_0x39c401=!0x1:(_0x2d0c58['toVersion']===_0x34d10d&&_0x2d0c58['fromVersion']===_0xc90b5d||this['_fixRevision']({'revision':_0x2d0c58,'from':_0xc90b5d,'to':_0x34d10d}),_0x39c401=!0x0),_0x39c401&&(delete _0x518208['fromVersion'],delete _0x518208['toVersion'],delete _0x518208['diffData'],delete _0x518208['createdAt'],delete _0x518208['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x518208),this['_preventResendingRevisionData'](_0x518208);}else this['_revisionTracker']['addRevisionData'](_0x518208);}const _0x36d379=_0xd2f568['getRevisions']();_0x36d379['reverse']();for(let _0x5cd2cc=0x0;_0x5cd2cc<_0x36d379['length']-0x1;_0x5cd2cc++){const _0x16630d=_0x36d379[_0x5cd2cc],_0x568470=_0x36d379[_0x5cd2cc+0x1];if(_0x16630d['fromVersion']<_0x568470['toVersion']){const _0x10ac7b=_0x568470['toVersion'],_0xf8112a=Math['max'](_0x10ac7b,_0x16630d['toVersion']);this['_fixRevision']({'revision':_0x16630d,'from':_0x10ac7b,'to':_0xf8112a});}}}['_fixRevision']({revision:_0x401263,from:_0x19d23f,to:_0x593351}={}){const _0x23b1bc=this['editor']['plugins']['get'](_0x492d3c),_0x52b41b=this['_revisionTracker']['buildRevisionData']({'revision':_0x401263,'from':_0x19d23f,'to':_0x593351});_0x52b41b['authors']=_0x52b41b['authorsIds']['map'](_0x499e37=>_0x23b1bc['getUser'](_0x499e37)),_0x401263['_update'](_0x52b41b);}['_preventResendingRevisionData'](_0x33d4e2){const _0xbc0336={};_0xbc0336['id']=_0x33d4e2['id'];for(const _0x1d269d of Object['keys'](_0x33d4e2))'id'!==_0x1d269d&&(_0xbc0336[_0x1d269d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xbc0336['id'],_0xbc0336,!0x0);}async['_fetchMissingUsers'](_0x4bac73){const _0x4eb5b1=this['editor']['plugins']['get'](_0x492d3c),{connection:_0xf7976b}=this['editor']['plugins']['get'](n),_0x1167df=new Set();for(const _0x129c45 of _0x4bac73){for(const _0x4c85db of _0x129c45['authorsIds'])_0x123b8c(_0x4c85db);_0x129c45['creatorId']&&_0x123b8c(_0x129c45['creatorId']);}if(0x0===_0x1167df['size'])return;const _0x4f52e2=await ct['getMany'](_0xf7976b,Array['from'](_0x1167df));for(const _0x571eab of _0x4f52e2)_0x4eb5b1['getUser'](_0x571eab['id'])||_0x4eb5b1['addUser'](_0x571eab);function _0x123b8c(_0x8b6c2a){_0x4eb5b1['getUser'](_0x8b6c2a)||_0x1167df['add'](_0x8b6c2a);}}}function P(_0x5e50bb){return _0x5e50bb['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5e50bb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e50bb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x5646ee{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 _0xcfa12d{['_collapseAt'];constructor(_0x554815,_0x5078fb=0x6){super(_0x554815);const _0x1c8bcf=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5078fb,this['bind']('isHidden')['to'](this,'usersCount',_0x2b899b=>_0x2b899b<_0x5078fb),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1c8bcf['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':_0x1c8bcf['to']('usersCount',_0x10eba4=>'+'+(_0x10eba4-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0xcfa12d{['items'];['keystrokes'];constructor(_0x4d1a93){super(_0x4d1a93);const _0x267a32=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2a54a2(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x267a32['if']('hasPopup'),'aria-expanded':_0x267a32['to']('isExpanded',_0x2fd2f3=>this['hasPopup']&&String(_0x2fd2f3)),'aria-label':_0x267a32['to']('hasPopup',_0x4965a3=>K(_0x4d1a93,_0x4965a3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x267a32['to']('hasPopup',_0x21fd14=>!!_0x21fd14&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x267a32['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x267a32['to'](_0x5509e8=>{const _0x41aee6=_0x5509e8,_0x61d2e8=document['querySelector']('.ck-presence-list__dropdown-list'),_0x202b5f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x61d2e8?.['contains'](_0x41aee6['relatedTarget'])||_0x202b5f?.['contains'](_0x41aee6['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x8dadf3,_0x2e1fe9,_0xa985d)=>{this['element']&&(_0xa985d?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 _0xcfa12d{['counterView'];['inlineListView'];constructor(_0x54fea6,_0x246290=0x6){super(_0x54fea6);const _0x3ef419=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x246290),this['inlineListView']=new is(_0x54fea6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x549f9d of this['inlineListView']['items'])_0x549f9d['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',_0x3ef419['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0xcfa12d{['listWrapperView'];constructor(_0x17e673,_0x3ebfe7){super(_0x17e673);const _0x9c3817=this['bindTemplate'];this['listWrapperView']=new ut(_0x17e673,_0x3ebfe7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x17e673,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x9c3817['to'](_0x228935=>{const _0x1a0628=_0x228935,_0x40d903=document['querySelector']('.ck-presence-list__list'),_0x48a951=document['querySelector']('.ck-balloon-panel_with-arrow');_0x40d903?.['contains'](_0x1a0628['relatedTarget'])||_0x48a951?.['contains'](_0x1a0628['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x42b975{constructor(_0x401630,_0x289890){super(_0x401630);const _0x217abe=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x289890?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x217abe['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x217abe['to']('role'),'aria-label':_0x217abe['to']('ariaLabel'),'aria-labelledby':_0x217abe['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x24b4b2['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x7acca2=this['element'];_0x7acca2&&(this['_isScrollable']=Math['max'](_0x7acca2['scrollHeight'],_0x7acca2['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x5c057d,_0x1fcf3d,_0x1346a7){super(_0x5c057d);const _0x40b6e2=this['bindTemplate'];this['userView']=new st(_0x5c057d,_0x1fcf3d);const _0x2b105d={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1fcf3d['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1fcf3d['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1fcf3d['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x1346a7&&(_0x2b105d['tag']='button',_0x2b105d['on']={'click':_0x40b6e2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b105d);}['focus'](){this['element']['focus']();}}class A extends _0xcfa12d{['userView'];['markerView'];constructor(_0x4b3e07,_0xbb4582,_0x202698){super(_0x4b3e07);const _0x2bca23=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x4b3e07,_0xbb4582),this['markerView']=new ot(_0x4b3e07,_0xbb4582);const _0x4bc224=new it(_0x4b3e07);_0x4bc224['template']['tag']='span',_0x4bc224['text']=_0xbb4582['name'];const _0x3d953b={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2bca23['to']('isFocusable',_0x42c580=>!!_0x42c580&&0x0),'aria-labelledby':_0x4bc224['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2bca23['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2bca23['to']('hasTooltip',_0x3a754e=>!_0x3a754e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4bc224]};_0x202698&&(_0x3d953b['tag']='button',_0x3d953b['on']={'click':_0x2bca23['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d953b);}}class ot extends _0xcfa12d{constructor(_0x365c49,_0x182b53){super(_0x365c49),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x182b53['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x13341e{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x7fbe73){super(_0x7fbe73),this['context']['config']['define']('presenceList',x);const _0x585ab7=_0x7fbe73['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x585ab7)throw new _0x2c9c89('presencelist-collapseat-invalid-format',this);if(_0x585ab7<0x1)throw new _0x2c9c89('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5a7f2a(),this['balloonPanelView']=new _0x142816(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x3260de of this['_allConnectedUsers'])this['_handleUserAdd'](_0x3260de);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5bdd57,_0x58ae3e)=>{this['_handleUserAdd'](_0x58ae3e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x331354,_0x527226)=>{this['_handleUserRemove'](_0x527226);});}['_createView'](){const _0x1079b7=this['context'],_0x8eb0f0=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3b85fe=this['balloonPanelView'];if(!_0x555b4d(_0x1079b7['config']['get']('presenceList.container')))throw new _0x2c9c89('presencelist-missing-container',this);return _0x8eb0f0['counterView']['bind']('usersCount')['to'](this),_0x8eb0f0['bind']('isCollapsed')['to'](this,'usersCount',_0x9a7c8c=>{const {collapseAt:_0x5a84b4}=_0x1079b7['config']['get']('presenceList'),_0x7a8025=_0x9a7c8c>=_0x5a84b4;if(_0x7a8025&&!_0x8eb0f0['inlineListView']['items']['find'](_0xf299c4=>_0xf299c4 instanceof b)){const _0x2a05a0=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2a05a0&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x8eb0f0['inlineListView']['items']['add'](_0x8eb0f0['counterView']);}return _0x7a8025||this['hideDropdown'](),_0x7a8025;}),_0x8eb0f0['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x406c1c=>{const _0x1671ed=_0x1079b7['config']['get']('presenceList'),_0x390fc2=new A(_0x1079b7['locale'],_0x406c1c,!!_0x1671ed['onClick']);return _0x390fc2['bind']('hasTooltip')['to'](_0x8eb0f0,'isCollapsed',_0x44dba3=>!_0x44dba3),_0x390fc2['bind']('isFocusable')['to'](_0x8eb0f0,'isCollapsed',_0x3c10b1=>!_0x3c10b1),_0x1671ed['onClick']&&this['listenTo'](_0x390fc2,'execute',()=>{this['view']['isCollapsed']||_0x1671ed['onClick'](_0x406c1c,_0x390fc2['element']);}),_0x390fc2;}),this['listenTo'](_0x8eb0f0['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x8eb0f0['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x8eb0f0['inlineListView']['keystrokes']['set']('Enter',(_0x59dcd0,_0x320eca)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x320eca());}),_0x8eb0f0['render'](),_0x3b85fe['render'](),_0x33d711({'emitter':_0x8eb0f0,'activator':()=>_0x3b85fe['isVisible'],'contextElements':[_0x3b85fe['element'],_0x8eb0f0['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1079b7['config']['get']('presenceList.container')['appendChild'](_0x8eb0f0['element']),this['_bodyCollection']=new _0x39c268(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x8eb0f0;}['_handleUserAdd'](_0x529a8a){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x529a8a['isMe'])return;const _0x48687c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x48687c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xd6c14f=_0x529a8a['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x529a8a,_0xd6c14f);}['_handleUserRemove'](_0x122039){this['usersCount']--;const {collapseAt:_0x57d45d}=this['context']['config']['get']('presenceList'),_0x30bbde=this['usersCount']>=_0x57d45d;if(this['currentDisplayedUsers']['get'](_0x122039['id']))this['currentDisplayedUsers']['remove'](_0x122039['id']);else{if(_0x30bbde&&this['currentDisplayedUsers']['length']+0x1===_0x57d45d-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30bbde?0x1:0x0)<this['usersCount']){for(const _0x48f442 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x48f442['id'])&&(this['currentDisplayedUsers']['add'](_0x48f442,Math['min'](this['currentDisplayedUsers']['length']-(_0x30bbde?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30bbde?0x1:0x0)===_0x57d45d-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1b3b81=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x1b3b81['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x44e312}=this['presenceDropdownView'];_0x44e312['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5844eb=>{if(!_0x1b3b81['displayMe']&&_0x5844eb['isMe'])return null;const _0x52dad7=new j(this['context']['locale'],_0x5844eb,!!_0x1b3b81['onClick']);return _0x1b3b81['onClick']&&this['listenTo'](_0x52dad7,'execute',()=>{_0x1b3b81['onClick'](_0x5844eb,_0x52dad7['element']);}),_0x52dad7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x44e312['focus'](),_0x44e312['checkIfScrollable']();const _0x55cdcd=(_0x5ed85e,_0xc653d8)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc653d8();};_0x44e312['keystrokes']['set']('Esc',_0x55cdcd),_0x44e312['keystrokes']['set']('Shift+Tab',_0x55cdcd),_0x44e312['keystrokes']['set']('Tab',(_0x3be272,_0x3b6f8e)=>{!function(_0x12cc5a){const _0x96f543=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x155e8b=>_0x155e8b+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x42d85f=[...document['body']['querySelectorAll'](_0x96f543)]['filter'](_0xf7b836=>_0xf7b836===document['activeElement']||_0xf7b836['offsetWidth']+_0xf7b836['offsetHeight']>0x0)['sort']((_0x3b3db3,_0x1b707a)=>(_0x3b3db3['tabIndex']||0x0)-(_0x1b707a['tabIndex']||0x0)),_0x374c23=_0x42d85f['indexOf'](_0x12cc5a),_0x577cc6=_0x42d85f[(_0x374c23+0x1)%_0x42d85f['length']];_0x577cc6&&_0x577cc6['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3b6f8e();}),_0x44e312['focusTracker']['add'](this['view']['element']),_0x44e312['focusTracker']['on']('change:isFocused',(_0x4c9ca3,_0x45e6b5,_0x153b60)=>{_0x153b60||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class ft extends _0x13341e{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x4cc43f,Plugin as _0x396694,PendingActions as _0x2fa5ad,Context as _0x11b344}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x49f975,CKEditorError as _0x1ba148,Collection as _0x21c59b,global as _0x966207,version as nt,uid as _0x5edfd1,KeystrokeHandler as _0x31aa0d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x37e298,View as _0x110669,ListView as _0x43d313,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x311fc6,clickOutsideHandler as _0x8b85ba,BodyCollection as _0x5d87f6}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2685d7,History as _0x539356,NoOperation as _0xf2fe98,InsertOperation as _0xed6d9d,MarkerOperation as _0x1b4092,RootAttributeOperation as _0x11272c,transformOperationSets as _0x110201,OperationFactory as _0x36f745}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x56898a,User as lt,CommentsService as _0x1796b9,TrackChangesService as tt,RevisionHistoryService as et,EditorService as st}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5ae648,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3ed529}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x349429}from'es-toolkit/compat';class n extends _0x4cc43f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x37e298];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x40fee5){super(_0x40fee5),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x49f975())();}['init'](){const _0x16b94d=this['context'],_0x37494d=_0x16b94d['plugins']['get']('CloudServices'),_0x1d573b=_0x16b94d['plugins']['get'](_0x37e298);if(!_0x37494d['token'])throw new _0x1ba148('websocketgateway-missing-token',this);if(!_0x37494d['webSocketUrl'])throw new _0x1ba148('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'](_0x37494d['token'],_0x37494d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3c65c2=>{if(this['connection']=_0x3c65c2,this['bind']('state')['to'](_0x3c65c2,'state',this,'_isBrowserOffline',(_0x4db997,_0x4f60f9)=>('connected'!==_0x4db997&&(this['_shouldPluginsReconnect']=!0x0),_0x4f60f9||_0x4db997!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0xc8f6de,_0x3cc846)=>{if('limitExceeded'!==_0x3cc846['code'])throw console['error'](_0x3cc846),new _0x1ba148('cloudservices-init',null,{'originalError':_0x3cc846});_0x1d573b['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'});}),!_0x3c65c2['me'])return new Promise(_0x5f2848=>_0x3c65c2['on']('change:me',_0x5f2848));})['catch'](_0x196f40=>{throw console['error'](_0x196f40),new _0x1ba148('cloudservices-init',null,{'originalError':_0x196f40});});}['addToReconnectionStack'](_0x917d61){if('function'!=typeof _0x917d61['reconnect'])throw new _0x1ba148('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x917d61))throw new _0x1ba148('websocketgateway-plugin-already-registered',this,{'name':_0x917d61['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x917d61);}['removeFromReconnectionStack'](_0x24ff8c){this['_reconnectionStack']['delete'](_0x24ff8c);}['isInReconnectionStack'](_0x1f787c){return this['_reconnectionStack']['has'](_0x1f787c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b20eb=>_0x1b20eb['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x36eaf4=>{throw console['error'](_0x36eaf4),new _0x1ba148('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 _0x4cc43f{['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,_0x5ae648];}constructor(_0x5acee7){super(_0x5acee7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x21c59b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5ae648);}['init'](){const _0x56c25e=this['context']['plugins']['get'](n);this['listenTo'](_0x56c25e,'change:state',(_0x52eb4d,_0x3fe87a,_0x30defe)=>{if('connected'!==_0x30defe)this['channelSessions']['forEach'](_0x12e92d=>_0x12e92d['clear']()),this['channelConnectedUsers']['forEach'](_0x40baf6=>_0x40baf6['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4a99bf,_0x43ffb4]of this['_registeredSessions'])for(const _0x245a7c of _0x43ffb4)this['_handleSessionAdd'](_0x4a99bf,_0x245a7c);}}),this['_createUser'](_0x56c25e['connection']['me'],!0x0);}['register'](_0x2eb19f,_0x2f3f4a){if(this['_registeredSessions']['has'](_0x2eb19f))throw new _0x1ba148('sessions-register-already-registered',null,{'channelId':_0x2eb19f});this['_registeredSessions']['set'](_0x2eb19f,_0x2f3f4a),this['channelSessions']['set'](_0x2eb19f,new _0x21c59b()),this['channelConnectedUsers']['set'](_0x2eb19f,new _0x21c59b()),this['listenTo'](_0x2f3f4a,'add',(_0x5302b8,_0x7da4be)=>this['_handleSessionAdd'](_0x2eb19f,_0x7da4be)),this['listenTo'](_0x2f3f4a,'remove',(_0x38c0d6,_0x55f8fe)=>this['_handleSessionRemove'](_0x2eb19f,_0x55f8fe));for(const _0x564464 of _0x2f3f4a)this['_handleSessionAdd'](_0x2eb19f,_0x564464);}['unregister'](_0x16c5b6){if(!this['_registeredSessions']['has'](_0x16c5b6))throw new _0x1ba148('sessions-unregister-not-exist',null,{'channelId':_0x16c5b6});const _0x410892=this['_registeredSessions']['get'](_0x16c5b6);this['stopListening'](_0x410892);for(const _0x5209f3 of _0x410892)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x16c5b6,_0x5209f3);this['_registeredSessions']['delete'](_0x16c5b6),this['channelSessions']['delete'](_0x16c5b6),this['channelConnectedUsers']['delete'](_0x16c5b6);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x36798c){for(const _0x350787 of this['channelSessions']['values']())for(const _0x1b63b2 of _0x350787)if(_0x1b63b2['id']===_0x36798c)return _0x1b63b2['user'];}['getUserSessions'](_0x14bbbb,_0x9edf42){const _0x49234e=_0x9edf42?[this['channelSessions']['get'](_0x9edf42)]:this['channelSessions']['values'](),_0xcb1887=new Set();for(const _0x1e8593 of _0x49234e)for(const _0x418680 of _0x1e8593)_0x418680['user']['id']===_0x14bbbb['id']&&_0xcb1887['add'](_0x418680['id']);return _0xcb1887;}['getUserRole'](_0x213475){for(const _0x313ae2 of this['channelSessions']['values']())for(const _0x110378 of _0x313ae2)if(_0x110378['user']===_0x213475)return _0x110378['role'];}['_handleSessionAdd'](_0x582501,_0x1a0658){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x46851c=_0x1a0658['user'],_0x5ab4a5=this['_users']['getUser'](_0x46851c['id'])||this['_createUser'](_0x46851c),_0x1e8091=Object['assign']({},_0x1a0658,{'user':_0x5ab4a5});this['channelSessions']['get'](_0x582501)['add'](_0x1e8091);const _0x5345bd=this['channelConnectedUsers']['get'](_0x582501);_0x5345bd['has'](_0x5ab4a5['id'])||_0x5345bd['add'](_0x5ab4a5),this['allConnectedUsers']['has'](_0x5ab4a5['id'])||this['allConnectedUsers']['add'](_0x5ab4a5,_0x5ab4a5['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x582501,{'channelId':_0x582501,'session':_0x1e8091});}['_handleSessionRemove'](_0x526300,_0x2e115b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x57b65e=this['channelConnectedUsers']['get'](_0x526300),_0x4c7609=_0x2e115b['user'];_0x4c7609['id']&&(this['channelSessions']['get'](_0x526300)['remove'](_0x2e115b['id']),_0x57b65e['has'](_0x4c7609['id'])&&!this['getUserSessions'](_0x4c7609,_0x526300)['size']&&_0x57b65e['remove'](_0x4c7609['id']),this['allConnectedUsers']['get'](_0x4c7609['id'])&&!this['getUserSessions'](_0x4c7609)['size']&&this['allConnectedUsers']['remove'](_0x4c7609['id']));}['_createUser'](_0x1813e1,_0x47b707){const _0x4c9685=this['_users']['addUser'](_0x1813e1);return _0x47b707&&this['_users']['defineMe'](_0x1813e1['id']),_0x4c9685['orderNumber']=this['_uniqueUsersCount']++,_0x4c9685;}}class V extends _0x396694{['_domEmitter']=new(_0x49f975())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x301c58=this['editor'],_0x1cdc90=_0x301c58['plugins']['get'](i);_0x301c58['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x25a74d,{writer:_0x3f4e5c})=>function(_0x336136,_0x557414,_0x20be79,_0x2c92d){const _0x1ec594=_0x336136['markerName']['split'](':')[0x2],_0x3cf75b=_0x20be79['getUserBySessionId'](_0x1ec594);if(!_0x3cf75b||_0x1ec594===_0x20be79['mySessionId'])return;if(!_0x2c92d['model']['schema']['checkChild'](_0x336136['markerRange']['start'],'$text'))return;const _0x5e4849={'class':'ck-user__marker\x20'+_0x3cf75b['color']['getMarkerClass'](),'data-name':_0x3cf75b['name'],'data-session-id':_0x1ec594},_0x517e14=_0x2c92d['model']['markers']['get'](_0x336136['markerName']),_0x99b003=_0x517e14['getStart'](),_0x5f3ee8=_0x99b003['nodeAfter'],_0x48c77e=_0x2c92d['model']['schema'];if(_0x5f3ee8&&_0x48c77e['isObject'](_0x5f3ee8)&&_0x48c77e['isInline'](_0x5f3ee8)&&!_0x2c92d['model']['markers']['get']('user:range:'+_0x1ec594)['getRange']()['isCollapsed'])return;const _0x21c731=_0x99b003['parent'];return _0x2c92d['model']['schema']['isLimit'](_0x21c731)&&!_0x2c92d['model']['hasContent'](_0x21c731)&&(_0x5e4849['contenteditable']=!0x1),function(_0x4373fe,_0x5dbecf,_0x3efc1c){const _0x49e7e9=_0x4373fe['createUIElement']('span',_0x5dbecf);return _0x4373fe['setCustomProperty']('userPositionMarker',!0x0,_0x49e7e9),_0x49e7e9['render']=function(_0x1ea10e){const _0x5cd5a1=this['toDomElement'](_0x1ea10e),_0x10ead1=document['createElement']('span');return _0x10ead1['classList']['add']('ck-user__marker-tooltip'),_0x10ead1['setAttribute']('contenteditable','false'),_0x10ead1['setAttribute']('spellcheck','false'),_0x10ead1['textContent']=_0x3efc1c['name'],_0x5cd5a1['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x10ead1['outerHTML']+'⁠',_0x5cd5a1['addEventListener']('mouseenter',()=>{_0x5cd5a1['classList']['add']('ck-user__marker_hovered');}),_0x5cd5a1['addEventListener']('mouseleave',()=>{_0x5cd5a1['classList']['remove']('ck-user__marker_hovered');}),_0x5cd5a1;},_0x49e7e9['isSimilar']=function(_0x1f8f5b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1f8f5b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1f8f5b['getAttribute']('data-session-id'));},_0x49e7e9;}(_0x557414,_0x5e4849,_0x3cf75b);}(_0x25a74d,_0x3f4e5c,_0x1cdc90,_0x301c58)}),_0x301c58['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4d6b18=>function(_0x549784,_0x266225){const _0x58e49f=_0x549784['markerName']['split'](':')[0x2];if(_0x58e49f===_0x266225['mySessionId'])return null;const _0x12cf19=_0x266225['getUserBySessionId'](_0x58e49f);if(!_0x12cf19)return{'id':_0x58e49f,'classes':[]};return{'id':_0x58e49f,'classes':['ck-user__selection',_0x12cf19['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x58e49f},'priority':0x7d0+_0x12cf19['orderNumber']};}(_0x4d6b18,_0x1cdc90)}),function(_0x5af9b2){const _0x49a304=_0x5af9b2['model'],_0x2071a4=new Map(),_0x281fd8=_0x5af9b2['plugins']['get'](i);_0x49a304['markers']['on']('update:user:range',(_0x2299e0,_0x406689,_0x219e7c,_0x529be1)=>{if(!_0x529be1&&_0x2071a4['get'](_0x406689['name']))return _0x2071a4['get'](_0x406689['name'])['detach'](),void _0x2071a4['delete'](_0x406689['name']);const _0x211897=_0x406689['name']['split'](':')[0x2];if(_0x211897===_0x281fd8['mySessionId'])return;const _0x3614c3='user:position:'+_0x211897;_0x49a304['markers']['has'](_0x3614c3)&&_0x5af9b2['editing']['reconvertMarker'](_0x3614c3),_0x406689['on']('change:range',(_0x16a2f7,_0x188e15,_0x47bade)=>{if('$graveyard'!=_0x188e15['root']['rootName']&&'$graveyard'==_0x406689['getRange']()['root']['rootName']&&!_0x2071a4['has'](_0x406689['name'])){const _0x341d70=_0x49a304['schema']['getNearestSelectionRange'](_0x47bade['deletionPosition']);if(_0x341d70){const _0x4d3ac3=_0x2685d7['fromRange'](_0x341d70);_0x2071a4['set'](_0x406689['name'],_0x4d3ac3),_0x4d3ac3['on']('change:range',(_0x24b9a2,_0x5d8b75,_0x34c42e)=>{if('$graveyard'==_0x4d3ac3['root']['rootName']){const _0x3e19a0=_0x49a304['schema']['getNearestSelectionRange'](_0x34c42e['deletionPosition']);_0x3e19a0?(_0x4d3ac3['start']=_0x3e19a0['start'],_0x4d3ac3['end']=_0x3e19a0['end']):(_0x2071a4['delete'](_0x406689['name']),_0x4d3ac3['detach']());}});}}});}),_0x49a304['document']['on']('change',()=>{_0x2071a4['size']>0x0&&_0x49a304['enqueueChange']({'isUndoable':!0x1},_0x1d303f=>{for(const [_0x925271,_0x56f046]of _0x2071a4)'$graveyard'==_0x49a304['markers']['get'](_0x925271)['getRange']()['root']['rootName']&&(Z(_0x925271['split'](':')[0x2],_0x56f046['toRange'](),_0x49a304,_0x1d303f),_0x56f046['detach']());_0x2071a4['clear']();});});}(_0x301c58),this['_domEmitter']['listenTo'](_0x966207['document'],'keydown',(_0x49cead,{key:_0x5aaab0})=>{'Escape'===_0x5aaab0&&function(_0x4e80b9){_0x4e80b9['editing']['view']['change'](_0x35fed8=>{for(const _0x121686 of _0x4e80b9['model']['markers']){if(!_0x121686['name']['startsWith']('user:position'))continue;const _0x1abe5d=_0x4e80b9['editing']['mapper']['markerNameToElements'](_0x121686['name']);if(_0x1abe5d){for(const _0x1582c4 of _0x1abe5d)_0x35fed8['removeClass']('ck-user__marker_hovered',_0x1582c4);}}});}(_0x301c58);},{'useCapture':!0x0});}['afterInit'](){const _0x3313dc=this['editor'],_0x9f6672=_0x3313dc['commands']['get']('undo');_0x9f6672&&_0x3313dc['model']['on']('applyOperation',(_0x5d8eff,_0x123fe4)=>{const _0x17dae2=_0x123fe4[0x0];if(!_0x17dae2['isDocumentOperation'])return;if('marker'!=_0x17dae2['type']||!_0x17dae2['name']['startsWith']('user:'))return;const _0x2a44ea=_0x17dae2['batch'];_0x9f6672['_createdBatches']['has'](_0x2a44ea)&&(_0x17dae2['newRange']=_0x17dae2['oldRange']?_0x3313dc['model']['createRange'](_0x17dae2['oldRange']['start'],_0x17dae2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4c5a55=this['editor'],_0x342303=_0x4c5a55['model']['document'],_0x4d2384=_0x4c5a55['plugins']['get'](i);_0x4c5a55['model']['enqueueChange']({'isUndoable':!0x1},_0x358aba=>{const _0x32d65e='user:range:'+_0x4d2384['mySessionId'],_0x40bf94='user:position:'+_0x4d2384['mySessionId'],_0x51a09f=_0x4c5a55['model']['markers']['has'](_0x32d65e);_0x4c5a55['editing']['view']['hasDomSelection']?Z(_0x4d2384['mySessionId'],_0x342303['selection']['getFirstRange'](),_0x4c5a55['model'],_0x358aba):_0x51a09f&&(_0x358aba['removeMarker'](_0x32d65e),_0x358aba['removeMarker'](_0x40bf94));});}}function Z(_0x27e686,_0x1bfd46,_0x44c475,_0x3da357){const _0x4b51d5='user:range:'+_0x27e686,_0x42b56e='user:position:'+_0x27e686,_0x4b60cc=_0x1bfd46['getContainedElement']();let _0x4e2eca=_0x1bfd46['start'];if(_0x4b60cc&&_0x4b60cc['is']('element','tableCell')){const _0x139011=function(_0x80dce9,_0x477281){for(const _0x1a63de of _0x80dce9['getPositions']())if(_0x477281['schema']['checkChild'](_0x1a63de,'$text'))return _0x1a63de;}(_0x1bfd46,_0x44c475);_0x139011&&(_0x4e2eca=_0x139011,_0x1bfd46=_0x3da357['createRange'](_0x4e2eca));}const _0x3c2f78=_0x3da357['createRange'](_0x4e2eca);_0x44c475['markers']['has'](_0x4b51d5)?(_0x3da357['updateMarker'](_0x4b51d5,{'range':_0x1bfd46}),_0x3da357['updateMarker'](_0x42b56e,{'range':_0x3c2f78})):(_0x3da357['addMarker'](_0x4b51d5,{'range':_0x1bfd46,'usingOperation':!0x0}),_0x3da357['addMarker'](_0x42b56e,{'range':_0x3c2f78,'usingOperation':!0x0}));}function W(_0x4750e2,_0x4188e6,_0x63341){const _0x4d75af=_0x4750e2['t'],t=_0x4750e2['t'];switch(_0x4188e6){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 _0x4d75af({'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'},_0x63341);default:return'';}}let G=0x1;class l extends _0x396694{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x56898a)());['_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,_0x2fa5ad,_0x5ae648,_0x37e298];}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 _0x238208=this['serverHistory']['getOperations']();for(let _0x4ea206=_0x238208['length']-0x1;_0x4ea206>=0x0;_0x4ea206--){const _0x1be738=_0x238208[_0x4ea206];if(!this['_disconnectionOperations']['has'](_0x1be738))return _0x1be738['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4de3d0){if(super(_0x4de3d0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x539356(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ba148('collaboration-missing-channelid',this);const _0x3b50d4=_0x4de3d0['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3b50d4,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3ed529(),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 _0x4ae51f=this['editor'],_0x2c07e7=_0x4ae51f['plugins']['get'](_0x5ae648),_0x5432a4=_0x4ae51f['plugins']['get'](n);this['listenTo'](_0x2c07e7,'getOperationAuthor',(_0x7b724a,_0x49d7c7)=>{const _0x44b0ff=_0x49d7c7[0x0];_0x44b0ff['_authorId']&&(_0x7b724a['return']=_0x2c07e7['getUser'](_0x44b0ff['_authorId']),_0x7b724a['stop']()),null===_0x44b0ff['_authorId']&&(_0x7b724a['return']=null,_0x7b724a['stop']());},{'priority':'high'}),this['listenTo'](_0x4ae51f['model']['document']['selection'],'change:range',(_0x5bc5db,_0xe095d0)=>{_0xe095d0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4ae51f['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4ae51f['model']['on']('applyOperation',(_0x16dbe6,_0x1f8d6e)=>{const _0x33ac27=_0x1f8d6e[0x0];_0x33ac27['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x33ac27),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5432a4,'state',this,'_hasSynchronizationProblem',(_0x2c3277,_0x5e5ad8)=>'connected'===_0x2c3277&&!_0x5e5ad8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4ae51f['disableReadOnlyMode']('rtc-offline'):_0x4ae51f['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4ae51f['disableReadOnlyMode']('rtc-offline'):_0x4ae51f['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2f2f3f=this['editor']['plugins']['get'](i),_0x37bbe1=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2f2f3f['unregister'](this['_channelId']);const _0x967196=await this['_service']['reconnect'](_0x37bbe1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x967196)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5ed608=await this['_service']['getConnectedSessions']();_0x2f2f3f['register'](this['_channelId'],_0x5ed608),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4cb6d6){if(function(_0x6c4409){return'404'===_0x6c4409['code'];}(_0x4cb6d6)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x178109){return'409'===_0x178109['code'];}(_0x4cb6d6)){const _0x54709f=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'](_0x54709f);}else{if(!(_0x4cb6d6 instanceof $))throw _0x4cb6d6;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4ec185=this['editor']['plugins']['get'](n),_0x54bcd4=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x54bcd4['channelSessions']['has'](this['_channelId'])&&_0x54bcd4['unregister'](this['_channelId']),_0x4ec185['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3af4b0){if(this['sessionId']!==_0x3af4b0['sessionId']&&this['_lastSyncedOperationId']!==_0x3af4b0['lastOperationId'])throw new $();return this['sessionId']=_0x3af4b0['sessionId'],this['_handleServerResponse']([],{..._0x3af4b0,'wereChangesApplied':!0x1,'data':_0x3af4b0['data']},'reconnect');}async['_connectService'](_0x5e85d8,_0x156b28=!0x1){const {connection:_0x59f3a3}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x59f3a3,this['_channelId'])['then'](_0x125fe5=>this['_initSessionsHandling'](_0x125fe5))['catch'](_0x31774c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x31774c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x55be4f,_0x3c4b24)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3c4b24);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4764a9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5e85d8);this['_isPendingUpdate']=!0x0;const _0x2f2503=await this['_service']['connect'](_0x59f3a3,this['_compressOperations'](_0x5e85d8),_0x4764a9);if(this['sessionId']=_0x2f2503['sessionId'],_0x156b28){if(!_0x2f2503['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2f2503['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5e85d8,_0x2f2503,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2f2503,_0x5e85d8);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x231df0=this['editor']['plugins']['get'](i),_0x353a41=this['editor']['plugins']['get'](V),_0x519591=_0x231df0['channelSessions']['get'](this['_channelId']);_0x519591&&_0x519591['length']>0x1?_0x353a41['createUserMarkerOperations']():this['listenTo'](_0x231df0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x231df0['channelSessions']['get'](this['_channelId'])['length']&&_0x353a41['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3c1eb7,_0x1c46ae,_0xa6da72,_0x5d3acf){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1c46ae){const _0x4b3d90=this['_decompressOperations'](_0xa6da72,_0x5d3acf);await this['_fetchMissingUsers'](_0x4b3d90),this['_handleExternalOperations'](_0x4b3d90,_0x1c46ae,_0xa6da72['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xfd6f27}=this['editor'];let _0x53f449;try{_0x53f449=await this['_service']['getDocumentDetails']();}catch{const _0xc9355b=W(_0xfd6f27,'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'](_0xc9355b);}const _0xb3e9c4=_0x53f449['currentDocumentSession']||_0x53f449['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0xb3e9c4['lastOperationId']){const _0x35d028=W(_0xfd6f27,'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'](_0x35d028);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x29ac7e){const _0x1002a6=this['editor']['plugins']['get'](i);this['listenTo'](_0x1002a6,'sessionAdd:'+this['_channelId'],(_0xf5dc52,{session:_0x33e71c})=>{if(_0x33e71c['id']===_0x1002a6['mySessionId']){_0xf5dc52['off']();const _0x378f81=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3b3fe0=_0x33e71c['permissions'];_0x378f81&&_0x378f81['isEnabled']&&(_0x3b3fe0=_0x3b3fe0['filter'](_0xcc844c=>'document:write'!==_0xcc844c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3b3fe0,this['_channelId']);}}),_0x1002a6['register'](this['_channelId'],_0x29ac7e);}['_initThrowingOnDataSet'](){const _0x1f21dc=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x53c0af)=>{if(!_0x53c0af[_0x53c0af['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ba148('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1f21dc['apply'](this['editor']['data'],_0x53c0af);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x554679,[_0x20ad26])=>{if(this['_document']['version'])throw new _0x1ba148('realtimecollaborationclient-init-document-already-initialized',this);_0x554679['stop'](),this['_setPendingAction']();const _0x11817f=this['editor']['config']['get']('rootsAttributes'),_0x2964ab=this['_getOperationsFromInitData'](_0x20ad26,_0x11817f);0x0==_0x2964ab['length']&&_0x2964ab['push'](new _0xf2fe98(0x0)),_0x554679['return']=this['_connectService'](_0x2964ab)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3da618=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3da618))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x166261,[_0x371c39,_0x4775da])=>{_0x166261['stop']();const _0x5cab9f=this['editor']['model']['document']['getRoot'](_0x371c39);if(!this['_knownRootNames']['has'](_0x371c39)){const _0x1ae07a=_0x4775da&&_0x4775da['data']?_0x4775da['data']:'',_0x536dc4=_0x4775da&&_0x4775da['attributes']?_0x4775da['attributes']:{};await this['_loadRoot'](_0x371c39,_0x1ae07a,_0x536dc4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5cab9f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5cab9f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5f8ba1){const _0x594bff=this['editor']['plugins']['get'](_0x5ae648),{connection:_0x522ff3}=this['editor']['plugins']['get'](n),_0x5e318f=new Set();for(const _0x3e1f3a of _0x5f8ba1){const _0xdfc26d=_0x3e1f3a['_authorId'];_0xdfc26d&&!_0x594bff['getUser'](_0xdfc26d)&&_0x5e318f['add'](_0xdfc26d);}if(0x0===_0x5e318f['size'])return;const _0x429d16=await lt['getMany'](_0x522ff3,Array['from'](_0x5e318f));for(const _0x45eb21 of _0x429d16)_0x594bff['getUser'](_0x45eb21['id'])||_0x594bff['addUser'](_0x45eb21);}['_getOperationsFromInitData'](_0x3f7f11,_0x3e97d1={}){const _0x424d08=this['editor']['model'],_0x5a1cc9=[];let _0x1f2292=0x0;const _0x5e22ce='string'==typeof _0x3f7f11?{'main':_0x3f7f11}:_0x3f7f11;for(const _0x5de59e of Object['keys'](_0x5e22ce)){if(!this['_document']['roots']['has'](_0x5de59e))throw new _0x1ba148('realtimecollaborationclient-init-non-existent-root',this);const _0x447105=this['editor']['data']['parse'](_0x5e22ce[_0x5de59e]),_0xddba2e=this['_document']['getRoot'](_0x5de59e),_0x47ee77=new _0xed6d9d(_0x424d08['createPositionAt'](_0xddba2e,0x0),_0x447105,_0x1f2292++);_0x5a1cc9['push'](_0x47ee77);for(const [_0x3d5c5d,_0x44cd1d]of _0x447105['markers']){const _0x3b6dad=_0x424d08['createRange'](_0x424d08['createPositionFromPath'](_0xddba2e,_0x44cd1d['start']['path']['slice']()),_0x424d08['createPositionFromPath'](_0xddba2e,_0x44cd1d['end']['path']['slice']())),_0x2b5c3c=new _0x1b4092(_0x3d5c5d,null,_0x3b6dad,_0x424d08['markers'],!0x0,_0x1f2292++);_0x5a1cc9['push'](_0x2b5c3c);}}if(_0x3e97d1)for(const [_0x5189ca,_0x37ee69]of Object['entries'](_0x3e97d1)){const _0x5bcaa3=_0x424d08['document']['getRoot'](_0x5189ca);if(!_0x5bcaa3)throw new _0x1ba148('multi-root-editor-root-attributes-no-root',null);for(const [_0x567be5,_0x46632a]of Object['entries'](_0x37ee69))if(null!==_0x46632a){const _0x11cd46=new _0x11272c(_0x5bcaa3,_0x567be5,null,_0x46632a,_0x1f2292++);_0x5a1cc9['push'](_0x11cd46);}}return _0x5a1cc9;}async['_loadRoot'](_0x57cc24,_0xc46481,_0x26edc8){this['_getOperationsFromInitData']({[_0x57cc24]:_0xc46481},{[_0x57cc24]:_0x26edc8})['forEach']((_0x334801,_0x138c88)=>{_0x334801['baseVersion']=this['_document']['version']+_0x138c88,_0x334801['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x334801);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3399f5,_0x5e1542){let _0x43a0f5;this['_offset']=_0x3399f5['offset'];const _0xc495e0=_0x3399f5['wereChangesApplied']&&!_0x3399f5['initData'],_0x38c4e4=_0xc495e0?0x0:_0x3399f5['data']['baseVersion'];if(_0x5e1542['forEach'](_0x558499=>{_0x558499['_isInit']=!0x0,_0x558499['createdAt']=_0x3399f5['sessionCreatedAt'],_0x558499['_authorId']=null;}),_0xc495e0)_0x43a0f5=_0x5e1542,this['_applyOperationsSet'](_0x43a0f5,_0xc495e0);else{if(_0x3399f5['initData']){const _0x36b492=this['_getOperationsFromInitData'](_0x3399f5['initData']);this['_document']['history']['version']=-_0x36b492['length'],_0x36b492['forEach'](_0x264182=>{_0x264182['baseVersion']-=_0x36b492['length'],_0x264182['createdAt']=_0x3399f5['sessionCreatedAt'],_0x264182['_isInit']=!0x0,_0x264182['_authorId']=null;}),this['_applyOperationsSet'](_0x36b492,!0x0),this['serverHistory']['version']=-_0x36b492['length']+this['_offset'],this['_updateServerHistory'](_0x36b492);}this['_document']['history']['version']=_0x38c4e4,_0x43a0f5=this['_decompressOperations'](_0x3399f5['data'],_0x3399f5['metadata']),await this['_fetchMissingUsers'](_0x43a0f5),this['_applyOperationsSet'](_0x43a0f5,_0xc495e0);}_0x3399f5['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43a0f5,_0x3399f5['lastOperationId']),this['_lastSyncedOperationId']=_0x3399f5['lastOperationId']),this['serverHistory']['version']=_0x38c4e4+this['_offset'],this['_updateServerHistory'](_0x43a0f5),_0x5e1542['filter'](_0x293ba5=>{const _0xfebbe4=this['_getAffectedRoot'](_0x293ba5);return _0xfebbe4&&!this['_knownRootNames']['has'](_0xfebbe4);})['forEach']((_0x32922a,_0x56f768)=>{_0x32922a['baseVersion']=this['_document']['version']+_0x56f768,this['_saveOperationInBuffer'](_0x32922a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x535aa2,_0x3ca284){const _0x3a9e59=_0x3ca284&&_0x3ca284['message'];if(_0x3a9e59&&_0x3a9e59['startsWith']('realtimecollaborationclient'))throw _0x3ca284;const _0x4c45b6=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4c45b6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ba148(_0x535aa2,this['editor'],_0x3a9e59?{'originalError':_0x3a9e59}:void 0x0);}['_saveOperationInBuffer'](_0x1333a9){this['_knownOperations']['has'](_0x1333a9)||(this['_knownOperations']['add'](_0x1333a9),this['_bufferedOperations']['push'](_0x1333a9),this['_pendingAction']||'marker'==_0x1333a9['type']&&!_0x1333a9['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5da368=!0x1){!_0x5da368&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x317434=>{_0x317434&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x232c27=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x465591){return _0x465591['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x465591['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x465591['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x232c27)||this['_crash'](_0x232c27['message'],_0x232c27);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x311c99=>{this['on']('change:_isPendingUpdate',()=>{_0x311c99();});});}async['_sendBufferedOperations'](){const _0x592e2e=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x592e2e['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x390ca7=[...this['_bufferedOperations']];for(const _0x19fed8 of _0x390ca7)_0x19fed8['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x19fed8);const _0x2696fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x390ca7),_0x43e0dd=G++,_0x24b723=this['_compressOperations'](_0x390ca7),_0x351f67=await this['_service']['sendOperations'](_0x24b723,_0x24b723['baseVersion'],_0x2696fd);try{return await this['_handleServerResponse'](_0x390ca7,_0x351f67,_0x43e0dd);}catch(_0x553cfb){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x553cfb);}}async['_handleServerResponse'](_0x1c0eb4,_0x2115d7,_0x1e6404){if('error'in _0x2115d7)throw _0x2115d7['error'];let _0x32de48=!0x1;if(_0x2115d7['wereChangesApplied']){_0x2115d7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2115d7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3a4c79=>!_0x1c0eb4['includes'](_0x3a4c79));for(const _0x23dc7a of _0x1c0eb4)_0x23dc7a['createdAt']='lastOperationAcceptedAt'in _0x2115d7&&_0x2115d7['lastOperationAcceptedAt']||void 0x0;K(_0x1c0eb4,_0x2115d7['version']-_0x1c0eb4['length']),this['_updateServerHistory'](_0x1c0eb4);const _0x5ad6cd=_0x1c0eb4['filter'](_0x2384db=>{if(!_0x2384db['_isInit'])return!0x1;const _0x1c7534=this['_getAffectedRoot'](_0x2384db);return _0x1c7534&&!this['_knownRootNames']['has'](_0x1c7534);});K(_0x5ad6cd,this['_document']['version']),this['_applyOperationsSet'](_0x5ad6cd),_0x32de48=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x12815a=this['_decompressOperations'](_0x2115d7['data'],_0x2115d7['metadata'])['filter'](_0x195852=>_0x195852['baseVersion']>=this['_lastServerVersion']);_0x12815a['forEach'](_0x1201fc=>this['_addKnownRoot'](_0x1201fc)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5d4e9b=>!_0x5d4e9b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5d4e9b))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x12815a),_0x32de48=this['_handleExternalOperations'](_0x12815a,_0x2115d7['version'],_0x2115d7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x32de48?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xbd1af4,_0x637543,_0x343413){try{const _0x3d80ce={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x153b6f,operationsB:_0x268b4a,originalOperations:_0x46ae49}=_0x110201(_0xbd1af4,this['_bufferedOperations'],_0x3d80ce);K(_0x153b6f,this['_document']['version']),K(_0x268b4a,_0x637543);for(const _0x46da68 of _0x153b6f){const _0x232aff=_0x46ae49['get'](_0x46da68);_0x46da68['_authorId']=_0x232aff?_0x232aff['_authorId']:null;}_0x343413&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xbd1af4,_0x343413),this['_lastSyncedOperationId']=_0x343413),this['_bufferedOperations']=[..._0x268b4a],this['_applyOperationsSet'](_0x153b6f),this['_updateServerHistory'](_0xbd1af4);}catch(_0x180050){return console['error'](_0x180050),!0x1;}return!0x0;}['_applyOperationsSet'](_0x536343,_0x16748c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5c6a8c=>{for(const _0xb401e9 of _0x536343)this['_knownOperations']['add'](_0xb401e9),this['_addKnownRoot'](_0xb401e9),_0x5c6a8c['batch']['addOperation'](_0xb401e9),this['editor']['model']['applyOperation'](_0xb401e9);});}['_addKnownRoot'](_0x208c51){const _0x2097ad=this['_getAffectedRoot'](_0x208c51);_0x2097ad&&this['_knownRootNames']['add'](_0x2097ad);}['_getAffectedRoot'](_0x4bcaaf){let _0x3a47f0,_0x50dd4f;switch(_0x4bcaaf['type']){case'insert':_0x3a47f0=_0x4bcaaf['position']['root'];break;case'marker':if(_0x50dd4f=_0x4bcaaf['newRange'],!_0x50dd4f)return null;_0x3a47f0=_0x50dd4f['root'];break;case'addRootAttribute':_0x3a47f0=_0x4bcaaf['root'];break;case'addRoot':_0x3a47f0=_0x4bcaaf['affectedSelectable'];break;case'move':_0x3a47f0=_0x4bcaaf['targetPosition']['root'];break;default:return null;}return _0x3a47f0['rootName'];}['_updateServerHistory'](_0x526398){_0x526398['forEach'](_0x5ce78b=>{const _0x472ca0=_0x5ce78b['clone']();_0x472ca0['_authorId']=_0x5ce78b['_authorId'],_0x472ca0['_isInit']=!!_0x5ce78b['_isInit'],_0x472ca0['createdAt']=_0x5ce78b['createdAt'],_0x472ca0['baseVersion']+=this['_offset'],_0x5ce78b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x472ca0),this['serverHistory']['addOperation'](_0x472ca0);});}['_handleReconnectionError'](_0x5f3f25){const _0x39a7fc=this['editor']['plugins']['get']('Notification'),_0x3e725e=this['editor']['locale'];_0x5f3f25||(_0x5f3f25=W(_0x3e725e,'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.')),_0x39a7fc['showWarning'](_0x5f3f25,{'title':W(_0x3e725e,'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'](_0x2fa5ad)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fa5ad)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x196131){const _0x2d7a9b=_0x196131['map'](_0x2675bf=>_0x2675bf['toJSON']());return this['_compressor']['compress'](_0x2d7a9b);}['_decompressOperations'](_0xc35af4,_0x17313c){return this['_compressor']['decompress'](_0xc35af4)['map']((_0x411cb2,_0x55fc37)=>{const _0x2e88f9='init'==_0x17313c[_0x55fc37]['type'];if('InsertOperation'==_0x411cb2['__className']){const _0x1f285b=_0x411cb2['position']['root'];!this['_document']['getRoot'](_0x1f285b)&&(this['_document']['createRoot']('$root',_0x1f285b)['_isAttached']=!0x1);}const _0x433963=_0x36f745['fromJSON'](_0x411cb2,this['_document']);return _0x433963['wasUndone']=_0x411cb2['wasUndone'],_0x433963['_isInit']=_0x2e88f9,_0x433963['_authorId']=_0x2e88f9?null:_0x17313c[_0x55fc37]['userId'],_0x433963['_isDisconnection']='cs:removeUser'===_0x17313c[_0x55fc37]['type'],_0x433963['createdAt']=_0x17313c[_0x55fc37]['createdAt'],_0x433963;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xd11f2f=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xd11f2f&&_0xd11f2f['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x455174,_0x8b046){for(const _0x1b7c19 of _0x455174)_0x1b7c19['baseVersion']=_0x8b046++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0xb39c10){this['_ignoredOperations']=_0xb39c10,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1cf392){let _0x128d1e=_0x1cf392['length'];for(;_0x128d1e--;){const _0x475200=_0x1cf392[_0x128d1e];if(!this['_ignoredOperations']['has'](_0x475200)){if(!this['_operationToId']['has'](_0x475200)){const _0x1ef14f=_0x5edfd1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x475200,_0x1ef14f);}return this['_operationToId']['get'](_0x475200);}}}['setIdForTheLastOperation'](_0x29bd07,_0x193391){if(!_0x193391)return;let _0x5376c0=_0x29bd07['length'];for(;_0x5376c0--;){const _0x33686c=_0x29bd07[_0x5376c0];this['_ignoredOperations']['has'](_0x33686c)||this['_operationToId']['set'](_0x33686c,_0x193391);}}}class a extends _0x396694{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4cc43f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x1796b9)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5ae648];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x23c3a0){super(_0x23c3a0),this['_services']=new Map();}async['init'](){const _0xb736c7=this['context'],_0x307e1b=_0xb736c7['plugins']['get']('CommentsRepository');if(_0xb736c7['plugins']['get'](n)['addToReconnectionStack'](this),_0x307e1b['adapter']={'addCommentThread':async({channelId:_0x1b0525,threadId:_0xdc7174,comments:_0x172da2,resolvedAt:_0x5b6877,resolvedBy:_0x70b5ca,context:_0x4b4f0a,attributes:_0x1d7efd})=>{const _0x3ea812=await this['_getService'](_0x1b0525)['addCommentThread']({'commentThreadId':_0xdc7174,'comments':_0x172da2['map'](_0x3dd4ab=>function(_0x2e0ff0,_0x3ccd6d,_0x3d31ac){return{'commentThreadId':_0x3d31ac,'commentId':_0x2e0ff0['commentId'],'userId':_0x2e0ff0['authorId'],'content':_0x2e0ff0['content'],'documentId':_0x3ccd6d,'createdAt':_0x2e0ff0['createdAt'],'attributes':_0x2e0ff0['attributes']||{}};}(_0x3dd4ab,_0x1b0525,_0xdc7174)),'resolvedAt':_0x5b6877,'resolvedBy':_0x70b5ca,'context':_0x4b4f0a,'attributes':_0x1d7efd})['catch'](dt);return{'threadId':_0x3ea812['commentThreadId'],'comments':_0x3ea812['comments']};},'getCommentThread':async({channelId:_0x5e88f4,threadId:_0x5cba09})=>{const _0xc3429f=await this['_getService'](_0x5e88f4)['getCommentThread'](_0x5cba09)['catch'](dt);return _0xc3429f['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xc3429f]),{'threadId':_0xc3429f['commentThreadId'],'comments':_0xc3429f['comments']['map'](p),'context':_0xc3429f['context'],'resolvedAt':_0xc3429f['resolvedAt'],'resolvedBy':_0xc3429f['resolvedBy'],'attributes':_0xc3429f['attributes']||{}});},'updateCommentThread':async({channelId:_0xcf07e2,threadId:_0x22f356,context:_0x2265dd,unlinkedAt:_0x3953de,attributes:_0xc1e669})=>this['_getService'](_0xcf07e2)['updateCommentThread']({'commentThreadId':_0x22f356,'context':_0x2265dd,'attributes':_0xc1e669,'unlinkedAt':_0x3953de})['catch'](v)['catch'](dt),'resolveCommentThread':async({channelId:_0xd4705b,threadId:_0x51c8b1})=>{const _0x42b730=await this['_getService'](_0xd4705b)['resolveCommentThread'](_0x51c8b1)['catch'](v)['catch'](dt);return{'threadId':_0x42b730['commentThreadId'],'resolvedAt':_0x42b730['resolvedAt'],'resolvedBy':_0x42b730['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4db5aa,threadId:_0x274d08})=>this['_getService'](_0x4db5aa)['reopenCommentThread'](_0x274d08)['catch'](v)['catch'](dt),'removeCommentThread':({channelId:_0x195b4,threadId:_0x58db59})=>this['_getService'](_0x195b4)['removeCommentThread'](_0x58db59)['catch'](v)['catch'](dt),'addComment':({channelId:_0x5ed51b,threadId:_0x2e6f8e,commentId:_0x445157,content:_0x2bcd2e,attributes:_0x2d6b1f})=>this['_getService'](_0x5ed51b)['addComment'](_0x2e6f8e,_0x445157,_0x2bcd2e,_0x2d6b1f)['catch'](dt),'updateComment':({channelId:_0x39099b,threadId:_0x289fd6,commentId:_0x3b4a1b,content:_0xf7db31,attributes:_0x38ce8d})=>this['_getService'](_0x39099b)['updateComment'](_0x289fd6,_0x3b4a1b,_0xf7db31,_0x38ce8d)['catch'](v)['catch'](dt),'removeComment':({channelId:_0x428b23,threadId:_0x151267,commentId:_0x120849})=>this['_getService'](_0x428b23)['removeComment'](_0x151267,_0x120849)['catch'](v)['catch'](dt)},_0xb736c7 instanceof _0x11b344){const _0x142def=_0xb736c7['config']['get']('collaboration.channelId'),_0x3c545e=_0xb736c7['plugins']['get'](i);await this['_setUpService'](_0x142def);const _0x5c6611=await this['_services']['get'](_0x142def)['getConnectedSessions']();this['listenTo'](_0x3c545e,'sessionAdd:'+_0x142def,(_0x963d92,{session:_0x404657})=>{_0x404657['id']===_0x3c545e['mySessionId']&&(_0x963d92['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x404657['permissions'],_0x142def));}),_0x3c545e['register'](_0x142def,_0x5c6611);}}async['_setUpService'](_0xbbc4b7){if(this['_services']['has'](_0xbbc4b7))throw new _0x1ba148('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xbbc4b7});const _0x39f9fb=this['context']['plugins']['get']('CommentsRepository'),_0x2c1757=new s['CommentsService'](_0xbbc4b7);this['_services']['set'](_0xbbc4b7,_0x2c1757),this['listenTo'](_0x2c1757,'commentThreadAdded',(_0x20f7c8,_0x139c00)=>{const {commentThreadId:_0x48752e,documentId:_0xcf468a,context:_0x97bc2b,attributes:_0x3d7963,resolvedAt:_0x122989,resolvedBy:_0x314a68,comments:_0x3e7df2}=_0x139c00;_0x39f9fb['getCommentThread'](_0x48752e)||_0x39f9fb['addCommentThread']({'threadId':_0x48752e,'channelId':_0xcf468a,'comments':_0x3e7df2?_0x3e7df2['map'](p):[],'context':_0x97bc2b,'attributes':_0x3d7963,'resolvedAt':_0x122989,'resolvedBy':_0x314a68,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadUpdated',(_0x1282c9,{commentThreadId:_0x57fb6f,documentId:_0x247986,context:_0x29a00b,unlinkedAt:_0x3fd67e,attributes:_0x262af6})=>{_0x39f9fb['getCommentThread'](_0x57fb6f)&&_0x39f9fb['updateCommentThread']({'threadId':_0x57fb6f,'channelId':_0x247986,'context':_0x29a00b,'unlinkedAt':_0x3fd67e,'attributes':_0x262af6,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadResolved',(_0x31c2a8,{commentThreadId:_0x59e4c4,resolvedBy:_0x37a637,resolvedAt:_0x38c509})=>{const _0x7ec05a=_0x39f9fb['getCommentThread'](_0x59e4c4);_0x7ec05a&&_0x7ec05a['resolve']({'resolvedBy':_0x37a637,'resolvedAt':_0x38c509,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadReopened',(_0x40c236,{commentThreadId:_0x209b86})=>{const _0x10c054=_0x39f9fb['getCommentThread'](_0x209b86);_0x10c054&&_0x10c054['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadRemoved',(_0x74622b,{commentThreadId:_0x4ab106})=>{const _0x24a82a=_0x39f9fb['getCommentThread'](_0x4ab106);_0x24a82a&&_0x24a82a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentAdded',(_0x44971c,_0x1eaaaf)=>{const _0x1a7ec3=_0x1eaaaf['commentThreadId'],_0x290ec9=_0x39f9fb['getCommentThread'](_0x1a7ec3);_0x290ec9&&_0x290ec9['addComment']({...p(_0x1eaaaf),'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentUpdated',(_0xee0caa,{commentThreadId:_0x43451d,commentId:_0x271fec,content:_0x30cb0c,attributes:_0x4e4dca})=>{const _0x45ee1b=_0x39f9fb['getCommentThread'](_0x43451d);if(_0x45ee1b){const _0x56e0f3=_0x45ee1b['getComment'](_0x271fec);_0x56e0f3&&_0x56e0f3['update']({'content':_0x30cb0c,'attributes':_0x4e4dca,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2c1757,'commentRemoved',(_0x26b439,{commentThreadId:_0x1e3853,commentId:_0x274b01})=>{const _0x2e6b6a=_0x39f9fb['getCommentThread'](_0x1e3853);if(_0x2e6b6a){const _0x1ded0f=_0x2e6b6a['getComment'](_0x274b01);_0x1ded0f&&_0x1ded0f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xbbc4b7);}['destroy'](){if(this['context']instanceof _0x11b344){const _0xde5f47=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0xde5f47);}}['_terminateService'](_0x59e441){if(!this['_services']['has'](_0x59e441))throw new _0x1ba148('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59e441});this['_getService'](_0x59e441)['disconnect'](),this['_services']['delete'](_0x59e441);}async['reconnect'](){for(const _0x4874a0 of this['_services']['keys']())await this['_connectService'](_0x4874a0);if(this['context']instanceof _0x11b344){const _0x221a97=this['context']['config']['get']('collaboration.channelId'),_0x35b63d=this['context']['plugins']['get'](i);_0x35b63d['unregister'](_0x221a97);const _0x363027=await this['_services']['get'](_0x221a97)['getConnectedSessions']();_0x35b63d['register'](_0x221a97,_0x363027);}}async['_connectService'](_0x3a1cfd){const {connection:_0x38c7e4}=this['context']['plugins']['get'](n),_0x172c04=this['context']['plugins']['get']('CommentsRepository'),_0x5b2a56=this['_services']['get'](_0x3a1cfd),_0x39b208=await _0x5b2a56['connect'](_0x38c7e4);await this['_fetchMissingUsersForThreads'](_0x39b208);const _0x51246d=new Set(Array['from'](_0x172c04['getCommentThreads']({'channelId':_0x3a1cfd}),_0x2a090a=>_0x2a090a['id']));for(const _0x2937d4 of _0x39b208)_0x2937d4['deletedAt']||_0x51246d['delete'](_0x2937d4['commentThreadId']);for(const _0xeaae86 of _0x51246d)_0x172c04['getCommentThread'](_0xeaae86)['remove']({'isFromAdapter':!0x0});for(const _0x2908a7 of _0x39b208){let _0x3959c4=_0x172c04['getCommentThread'](_0x2908a7['commentThreadId']);const {commentThreadId:_0x33b38a,context:_0x1facd5,attributes:_0x5a6ef7,resolvedBy:_0x4dd9cb,resolvedAt:_0x42f63e,unlinkedAt:_0x138433,deletedAt:_0x481f42}=_0x2908a7;if(_0x481f42)continue;_0x3959c4||(_0x3959c4=_0x172c04['addCommentThread']({'channelId':_0x3a1cfd,'threadId':_0x33b38a,'context':_0x1facd5,'attributes':_0x5a6ef7||{},'resolvedBy':_0x4dd9cb,'resolvedAt':_0x42f63e,'unlinkedAt':_0x138433,'isFromAdapter':!0x0}));const _0x493517=new Set(Array['from'](_0x3959c4['comments'],_0x4c3f1c=>_0x4c3f1c['id']));for(const _0x144ab4 of _0x2908a7['comments'])_0x493517['delete'](_0x144ab4['commentId']);for(const _0x46edfe of _0x493517)_0x3959c4['getComment'](_0x46edfe)['remove']({'isFromAdapter':!0x0});for(const _0x57afa8 of _0x2908a7['comments']){const _0x40d096=_0x3959c4['getComment'](_0x57afa8['commentId']);_0x40d096?_0x40d096['content']!==_0x57afa8['content']&&_0x40d096['update']({'content':_0x57afa8['content'],'isFromAdapter':!0x0}):_0x3959c4['addComment'](Object['assign'](p(_0x57afa8),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3cb93f){if(!this['_services']['has'](_0x3cb93f))throw new _0x1ba148('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3cb93f});return this['_services']['get'](_0x3cb93f);}async['_fetchMissingUsersForThreads'](_0x2b369f){const _0x2024ad=this['context']['plugins']['get'](_0x5ae648),{connection:_0x5981f8}=this['context']['plugins']['get'](n),_0x7bfeba=new Set();for(const {resolvedBy:_0x20c312,comments:_0x446c4c}of _0x2b369f){_0x20c312&&!_0x2024ad['getUser'](_0x20c312)&&_0x7bfeba['add'](_0x20c312);for(const {userId:_0x974c31}of _0x446c4c)_0x2024ad['getUser'](_0x974c31)||_0x7bfeba['add'](_0x974c31);}if(0x0===_0x7bfeba['size'])return;const _0x171d8f=await lt['getMany'](_0x5981f8,Array['from'](_0x7bfeba));for(const _0x5d94ed of _0x171d8f)_0x2024ad['getUser'](_0x5d94ed['id'])||_0x2024ad['addUser'](_0x5d94ed);}}async function v(_0x3554c1){if('404'!==_0x3554c1['code'])throw _0x3554c1;}function dt(_0x11994a){if((_0x431cd0=_0x11994a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x431cd0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x431cd0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x431cd0;throw _0x11994a;}function p(_0x3c9898){return{'threadId':_0x3c9898['commentThreadId'],'commentId':_0x3c9898['commentId'],'content':_0x3c9898['content'],'createdAt':_0x3c9898['createdAt'],'authorId':_0x3c9898['userId'],'attributes':_0x3c9898['attributes']||{}};}class m extends _0x396694{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(_0x2fe9ea){super(_0x2fe9ea);const _0x58024d=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x58024d);}['init'](){const _0x2a15b0=this['editor']['plugins']['get'](n),_0x4293e8=this['editor']['plugins']['get']('TrackChangesEditing');return _0x4293e8['adapter']={'getSuggestion':async _0x507415=>{await this['_waitForServiceReady']();const _0x4e48e8=await this['_trackChangesService']['get'](_0x507415)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x4e48e8]),_0x4e48e8;},'addSuggestion':async({id:_0x494395,type:_0x404481,data:_0x29d6ad,originalSuggestionId:_0x2e1983,attributes:_0x4c1b31})=>{await this['_waitForServiceReady']();const _0x600df9={'id':_0x494395,'type':_0x404481,'data':_0x29d6ad,'originalSuggestionId':_0x2e1983,'attributes':_0x4c1b31},_0x1e998f=await this['_trackChangesService']['add'](_0x494395,_0x404481,_0x29d6ad,_0x2e1983,_0x4c1b31)['catch'](_0x482c5f=>{if(ut(_0x482c5f))return new Promise(_0x4b324b=>{this['_bufferedRequests']['set'](_0x494395,{'resolve':_0x4b324b,'suggestionData':_0x600df9});});throw _0x482c5f;});return this['_bufferedRequests']['delete'](_0x494395),_0x1e998f;},'updateSuggestion':async(_0x374943,_0x1065b3)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1065b3['state'])return this['_trackChangesService']['update'](_0x374943,_0x1065b3)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x14901b,_0x32d2dd)=>{_0x4293e8['hasSuggestion'](_0x32d2dd['id'])&&(_0x4293e8['getSuggestion'](_0x32d2dd['id'])['attributes']=_0x32d2dd['attributes']);}),this['_trackChangesService']['connect'](_0x2a15b0['connection'])['then'](_0x1c082d=>(_0x2a15b0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1c082d)['then'](()=>{for(const _0x307973 of _0x1c082d){_0x4293e8['addSuggestionData'](_0x307973)['_saved']=!0x0;}})));}async['reconnect'](){const _0x293a25=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3a8213}=this['editor']['plugins']['get'](n),_0x1f8fe0=await this['_trackChangesService']['connect'](_0x3a8213);await this['_fetchMissingUsersForThreads'](_0x1f8fe0);for(const {suggestionData:_0x1504a4,resolve:_0x54f9cd}of this['_bufferedRequests']['values']()){let _0x141ca9=_0x1f8fe0['find'](_0x447dfc=>_0x447dfc['id']===_0x1504a4['id']);_0x141ca9||(_0x141ca9=await this['_trackChangesService']['add'](_0x1504a4['id'],_0x1504a4['type'],_0x1504a4['data'],_0x1504a4['originalSuggestionId'])),_0x54f9cd(_0x141ca9);}for(const _0x2b92eb of _0x1f8fe0)_0x293a25['hasSuggestion'](_0x2b92eb['id'])||_0x293a25['addSuggestionData'](_0x2b92eb);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x370f60=>{this['listenTo'](this['_trackChangesService'],'connected',_0xe323f=>{_0xe323f['off'](),_0x370f60();});});}async['_fetchMissingUsersForThreads'](_0x546d84){const _0x13d259=this['editor']['plugins']['get'](_0x5ae648),{connection:_0x9d4107}=this['editor']['plugins']['get'](n),_0xc1525c=new Set();for(const {authorId:_0x3d2fe5}of _0x546d84)_0x13d259['getUser'](_0x3d2fe5)||_0xc1525c['add'](_0x3d2fe5);if(0x0===_0xc1525c['size'])return;const _0xb1b0a9=await lt['getMany'](_0x9d4107,Array['from'](_0xc1525c));for(const _0x43538e of _0xb1b0a9)_0x13d259['getUser'](_0x43538e['id'])||_0x13d259['addUser'](_0x43538e);}}function A(_0x4868db){if(ut(_0x4868db))return new Promise(()=>{});throw _0x4868db;}function ut(_0x52ce39){return _0x52ce39['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52ce39['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x396694{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 _0x37a4e0=this['editor']['plugins']['get'](n),_0x37adeb=this['editor']['plugins']['get']('CommentsEditing'),_0x684565=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x37a4e0,'change:state',(_0x4a6812,_0x3372f2,_0x11eaca)=>{_0x37adeb['isThreadsLoadingPaused']='connected'!==_0x11eaca;});}),this['listenTo'](_0x37a4e0,'change:state',(_0x13d0b6,_0x487577,_0x26aa7b)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x26aa7b);}),_0x684565['_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 _0x396694{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 _0x396694{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>et)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5ae648];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x127ae2){super(_0x127ae2);const _0xd14a8d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xd14a8d);}async['init'](){const _0x2ad814=this['editor']['plugins']['get'](l),_0x3a64cd=_0x2ad814['serverHistory'],_0x3382ca=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3a64cd,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2ad814['sessionId']});const _0x5c8e3f=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x328d79=await st['isBundleUploaded'](_0x3382ca['connection'],_0x5c8e3f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4618c1})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4618c1)),'updateRevisions':async _0x5d72e2=>{await this['_waitForServiceReady']();const _0x359c50=this['_revisionTracker']['currentRevision'];if(_0x328d79&&0x1===_0x5d72e2['length']&&_0x5d72e2[0x0]['id']===_0x359c50['id'])return _0x5d72e2;for(const _0x42dfe9 of _0x5d72e2)_0x42dfe9['id']===_0x359c50['id']&&(_0x42dfe9['isEmptyCurrent']=_0x42dfe9['fromVersion']===_0x42dfe9['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5d72e2,this['_lastRequestId'])['then'](_0x282202=>(this['_lastRequestId']=_0x282202,_0x5d72e2))['catch'](_0x49d212=>{if(it(_0x49d212)||'400'===_0x49d212['code']&&void 0x0!==_0x49d212['data']['wrongRequestId']){for(const _0x1ece6f of _0x5d72e2){!this['_revisionTracker']['repository']['getRevision'](_0x1ece6f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1ece6f['id'],_0x1ece6f,!0x1);}if(it(_0x49d212))throw _0x49d212;return _0x5d72e2;}throw _0x49d212;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2ef4ad,{revisionsData:_0x28378d,requestId:_0x49094c})=>{Math['max'](..._0x28378d['map'](_0x28c6f6=>_0x28c6f6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x28378d,_0x49094c);}):this['_handleRevisionsUpdate'](_0x28378d,_0x49094c);});const {revisions:_0x2b9f60,requestId:_0x3157bc}=await this['_revisionHistoryService']['connect'](_0x3382ca['connection']);_0x3382ca['addToReconnectionStack'](this),this['_lastRequestId']=_0x3157bc,await this['_fetchMissingUsers'](_0x2b9f60);for(const _0x44af01 of _0x2b9f60)this['_revisionTracker']['addRevisionData'](_0x44af01);this['listenTo'](_0x2ad814,'change:_isConnected',(_0x1e1d7a,_0x3340a4,_0x1c5006)=>{_0x1c5006&&(this['_oldOffset']=_0x2ad814['_offset'],_0x1e1d7a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3382ca,'state',_0x218a35=>_0x218a35===te['CONNECTED']);}async['reconnect'](){const _0x264e27=this['editor']['plugins']['get'](n),_0x4cbed8=this['editor']['plugins']['get'](l),_0x30fd34=async()=>{const _0x3b919c=this['_revisionTracker']['currentRevision'],_0x147774=_0x3b919c['id'],_0x4cacb5=_0x147774!==_0x4cbed8['sessionId'];if(_0x4cacb5){const _0x7af6b1=_0x4cbed8['_offset']-this['_oldOffset'],_0x37788b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3b919c['toVersion']+_0x7af6b1!==_0x37788b){const _0x5abe12=_0x3b919c['fromVersion']+_0x7af6b1,_0x2aaa7d=this['editor']['plugins']['get'](_0x5ae648),_0x47b7a8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3b919c,'from':_0x5abe12,'to':_0x37788b});_0x47b7a8['id']=_0x3b919c['id'];const _0x1a4b88=_0x47b7a8['authorsIds']['map'](_0x231156=>_0x2aaa7d['getUser'](_0x231156));_0x3b919c['_update']({..._0x47b7a8,'authors':_0x1a4b88},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3b919c['id'],_0x47b7a8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x37788b,(_0x3b919c['toVersion']===_0x3b919c['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x147774)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x147774),this['_revisionTracker']['_createCurrentRevision'](_0x37788b));}const {revisions:_0x2b2d0e,requestId:_0x257ae3}=await this['_revisionHistoryService']['reconnect'](_0x264e27['connection'],this['_lastRequestId']);_0x4cacb5&&_0x2b2d0e['length']>0x0?_0x4cbed8['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2b2d0e),this['_handleRevisionsUpdate'](_0x2b2d0e,_0x257ae3),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4cbed8['_isConnected']?_0x30fd34():new Promise((_0x42157a,_0x1db8d7)=>{_0x4cbed8['once']('change:_isConnected',()=>{_0x30fd34()['then'](_0x42157a)['catch'](_0x1db8d7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2df88a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1c25f5=>{_0x1c25f5['off'](),_0x2df88a();});});}['_getLatestVersionFromServerOperations'](){const _0x334074=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4ac0be of _0x334074)if('marker'!==_0x4ac0be['type']||_0x4ac0be['affectsData'])return _0x4ac0be['baseVersion']+0x1;}['_getLatestVersion'](){const _0x72767e=this['editor']['plugins']['get'](l);return new Promise(_0x5a2f0e=>{_0x72767e['_isPendingUpdate']?_0x72767e['once']('change:_isPendingUpdate',()=>{_0x5a2f0e(this['_getLatestVersionFromServerOperations']());}):_0x5a2f0e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x52e713,_0x2cd341){const _0x45d4c6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2cd341;for(const _0x10c8dc of _0x52e713){const _0x387c9e=_0x45d4c6['getRevision'](_0x10c8dc['id']);if(_0x387c9e){if((_0x10c8dc['fromVersion']||_0x10c8dc['toVersion'])&&(_0x10c8dc['diffData']=null),_0x387c9e===this['_revisionTracker']['currentRevision']){const _0x1b8835=Math['max'](_0x387c9e['toVersion'],_0x10c8dc['toVersion']),_0x97cf88=Math['max'](_0x387c9e['fromVersion'],_0x10c8dc['fromVersion']);let _0x473b5a;_0x387c9e['toVersion']===_0x10c8dc['toVersion']&&_0x387c9e['fromVersion']===_0x10c8dc['fromVersion']?(_0x473b5a=!0x0,this['_preventResendingRevisionData'](_0x10c8dc)):_0x10c8dc['toVersion']===_0x1b8835&&_0x10c8dc['fromVersion']===_0x97cf88?_0x473b5a=!0x1:(_0x387c9e['toVersion']===_0x1b8835&&_0x387c9e['fromVersion']===_0x97cf88||this['_fixRevision']({'revision':_0x387c9e,'from':_0x97cf88,'to':_0x1b8835}),_0x473b5a=!0x0),_0x473b5a&&(delete _0x10c8dc['fromVersion'],delete _0x10c8dc['toVersion'],delete _0x10c8dc['diffData'],delete _0x10c8dc['createdAt'],delete _0x10c8dc['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x10c8dc),this['_preventResendingRevisionData'](_0x10c8dc);}else this['_revisionTracker']['addRevisionData'](_0x10c8dc);}const _0x170f0c=_0x45d4c6['getRevisions']();_0x170f0c['reverse']();for(let _0x5a5f5f=0x0;_0x5a5f5f<_0x170f0c['length']-0x1;_0x5a5f5f++){const _0x22cf6f=_0x170f0c[_0x5a5f5f],_0x3b3ed8=_0x170f0c[_0x5a5f5f+0x1];if(_0x22cf6f['fromVersion']<_0x3b3ed8['toVersion']){const _0x4a7034=_0x3b3ed8['toVersion'],_0x4ece13=Math['max'](_0x4a7034,_0x22cf6f['toVersion']);this['_fixRevision']({'revision':_0x22cf6f,'from':_0x4a7034,'to':_0x4ece13});}}}['_fixRevision']({revision:_0x4d31b8,from:_0x41c359,to:_0xdcca7f}={}){const _0x31c154=this['editor']['plugins']['get'](_0x5ae648),_0x5036ab=this['_revisionTracker']['buildRevisionData']({'revision':_0x4d31b8,'from':_0x41c359,'to':_0xdcca7f});_0x5036ab['authors']=_0x5036ab['authorsIds']['map'](_0xfbb6ea=>_0x31c154['getUser'](_0xfbb6ea)),_0x4d31b8['_update'](_0x5036ab);}['_preventResendingRevisionData'](_0x3e1781){const _0x2bba77={};_0x2bba77['id']=_0x3e1781['id'];for(const _0x568db2 of Object['keys'](_0x3e1781))'id'!==_0x568db2&&(_0x2bba77[_0x568db2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2bba77['id'],_0x2bba77,!0x0);}async['_fetchMissingUsers'](_0x430869){const _0x59a51b=this['editor']['plugins']['get'](_0x5ae648),{connection:_0xe36516}=this['editor']['plugins']['get'](n),_0x1e9020=new Set();for(const _0x323fdb of _0x430869){for(const _0xdf0f2c of _0x323fdb['authorsIds'])_0x50fd29(_0xdf0f2c);_0x323fdb['creatorId']&&_0x50fd29(_0x323fdb['creatorId']);}if(0x0===_0x1e9020['size'])return;const _0x2313ed=await lt['getMany'](_0xe36516,Array['from'](_0x1e9020));for(const _0x2f2fb8 of _0x2313ed)_0x59a51b['getUser'](_0x2f2fb8['id'])||_0x59a51b['addUser'](_0x2f2fb8);function _0x50fd29(_0x921a1c){_0x59a51b['getUser'](_0x921a1c)||_0x1e9020['add'](_0x921a1c);}}}function it(_0x373a5c){return _0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x396694{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 _0x110669{['_collapseAt'];constructor(_0x1ebf04,_0x3c81bc=0x6){super(_0x1ebf04);const _0x522268=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3c81bc,this['bind']('isHidden')['to'](this,'usersCount',_0x422b61=>_0x422b61<_0x3c81bc),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x522268['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':_0x522268['to']('usersCount',_0x5a1b30=>'+'+(_0x5a1b30-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x110669{['items'];['keystrokes'];constructor(_0x1d8925){super(_0x1d8925);const _0x359beb=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x31aa0d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x359beb['if']('hasPopup'),'aria-expanded':_0x359beb['to']('isExpanded',_0x5cef77=>this['hasPopup']&&String(_0x5cef77)),'aria-label':_0x359beb['to']('hasPopup',_0x560a05=>W(_0x1d8925,_0x560a05?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x359beb['to']('hasPopup',_0x2f80f5=>!!_0x2f80f5&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x359beb['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x359beb['to'](_0x27686f=>{const _0x122919=_0x27686f,_0x2528d5=document['querySelector']('.ck-presence-list__dropdown-list'),_0x2160eb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2528d5?.['contains'](_0x122919['relatedTarget'])||_0x2160eb?.['contains'](_0x122919['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4a8614,_0x3a39b0,_0x3f4f0b)=>{this['element']&&(_0x3f4f0b?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 _0x110669{['counterView'];['inlineListView'];constructor(_0x309ca7,_0x445ca1=0x6){super(_0x309ca7);const _0x22ee64=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x445ca1),this['inlineListView']=new is(_0x309ca7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1e6b85 of this['inlineListView']['items'])_0x1e6b85['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',_0x22ee64['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x110669{['listWrapperView'];constructor(_0x36a2eb,_0x5ce1c0){super(_0x36a2eb);const _0x45d7e7=this['bindTemplate'];this['listWrapperView']=new pt(_0x36a2eb,_0x5ce1c0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x36a2eb,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45d7e7['to'](_0xae230b=>{const _0x249a6d=_0xae230b,_0x229c0d=document['querySelector']('.ck-presence-list__list'),_0x567eba=document['querySelector']('.ck-balloon-panel_with-arrow');_0x229c0d?.['contains'](_0x249a6d['relatedTarget'])||_0x567eba?.['contains'](_0x249a6d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x43d313{constructor(_0x5b7e73,_0x5c1c4d){super(_0x5b7e73);const _0x4467d8=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5c1c4d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4467d8['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4467d8['to']('role'),'aria-label':_0x4467d8['to']('ariaLabel'),'aria-labelledby':_0x4467d8['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x966207['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2ff08b=this['element'];_0x2ff08b&&(this['_isScrollable']=Math['max'](_0x2ff08b['scrollHeight'],_0x2ff08b['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x2842ab,_0x4a0727,_0x33523c){super(_0x2842ab);const _0x25e56d=this['bindTemplate'];this['userView']=new ct(_0x2842ab,_0x4a0727);const _0x4707a5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4a0727['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4a0727['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a0727['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x33523c&&(_0x4707a5['tag']='button',_0x4707a5['on']={'click':_0x25e56d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4707a5);}['focus'](){this['element']['focus']();}}class _ extends _0x110669{['userView'];['markerView'];constructor(_0x42178d,_0x572d40,_0x44f5b1){super(_0x42178d);const _0xce27bd=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x42178d,_0x572d40),this['markerView']=new at(_0x42178d,_0x572d40);const _0x1dfd7f=new ot(_0x42178d);_0x1dfd7f['template']['tag']='span',_0x1dfd7f['text']=_0x572d40['name'];const _0x2b8ba6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xce27bd['to']('isFocusable',_0x3a7ec5=>!!_0x3a7ec5&&0x0),'aria-labelledby':_0x1dfd7f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xce27bd['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xce27bd['to']('hasTooltip',_0x1fddb3=>!_0x1fddb3),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1dfd7f]};_0x44f5b1&&(_0x2b8ba6['tag']='button',_0x2b8ba6['on']={'click':_0xce27bd['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b8ba6);}}class at extends _0x110669{constructor(_0x4b157f,_0x59f3aa){super(_0x4b157f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x59f3aa['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4cc43f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ed964){super(_0x2ed964),this['context']['config']['define']('presenceList',U);const _0x1aab8b=_0x2ed964['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1aab8b)throw new _0x1ba148('presencelist-collapseat-invalid-format',this);if(_0x1aab8b<0x1)throw new _0x1ba148('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x21c59b(),this['balloonPanelView']=new _0x311fc6(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x22e22c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x22e22c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4b496e,_0xda946)=>{this['_handleUserAdd'](_0xda946);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x55a64d,_0x32c906)=>{this['_handleUserRemove'](_0x32c906);});}['_createView'](){const _0x3d2509=this['context'],_0x2478b3=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x47d3f0=this['balloonPanelView'];if(!_0x349429(_0x3d2509['config']['get']('presenceList.container')))throw new _0x1ba148('presencelist-missing-container',this);return _0x2478b3['counterView']['bind']('usersCount')['to'](this),_0x2478b3['bind']('isCollapsed')['to'](this,'usersCount',_0x1dc599=>{const {collapseAt:_0x4fe1b0}=_0x3d2509['config']['get']('presenceList'),_0x3d14b6=_0x1dc599>=_0x4fe1b0;if(_0x3d14b6&&!_0x2478b3['inlineListView']['items']['find'](_0x5f54bc=>_0x5f54bc instanceof y)){const _0x5cf57c=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5cf57c&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2478b3['inlineListView']['items']['add'](_0x2478b3['counterView']);}return _0x3d14b6||this['hideDropdown'](),_0x3d14b6;}),_0x2478b3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5207d1=>{const _0x1b9c6d=_0x3d2509['config']['get']('presenceList'),_0x252e4b=new _(_0x3d2509['locale'],_0x5207d1,!!_0x1b9c6d['onClick']);return _0x252e4b['bind']('hasTooltip')['to'](_0x2478b3,'isCollapsed',_0x1d8cc3=>!_0x1d8cc3),_0x252e4b['bind']('isFocusable')['to'](_0x2478b3,'isCollapsed',_0x2e372a=>!_0x2e372a),_0x1b9c6d['onClick']&&this['listenTo'](_0x252e4b,'execute',()=>{this['view']['isCollapsed']||_0x1b9c6d['onClick'](_0x5207d1,_0x252e4b['element']);}),_0x252e4b;}),this['listenTo'](_0x2478b3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2478b3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2478b3['inlineListView']['keystrokes']['set']('Enter',(_0x2618e6,_0x32ad90)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x32ad90());}),_0x2478b3['render'](),_0x47d3f0['render'](),_0x8b85ba({'emitter':_0x2478b3,'activator':()=>_0x47d3f0['isVisible'],'contextElements':[_0x47d3f0['element'],_0x2478b3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3d2509['config']['get']('presenceList.container')['appendChild'](_0x2478b3['element']),this['_bodyCollection']=new _0x5d87f6(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2478b3;}['_handleUserAdd'](_0x1849b8){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1849b8['isMe'])return;const _0x469bdd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x469bdd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x100c4e=_0x1849b8['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1849b8,_0x100c4e);}['_handleUserRemove'](_0x5736a3){this['usersCount']--;const {collapseAt:_0x3ac6a9}=this['context']['config']['get']('presenceList'),_0x26ef30=this['usersCount']>=_0x3ac6a9;if(this['currentDisplayedUsers']['get'](_0x5736a3['id']))this['currentDisplayedUsers']['remove'](_0x5736a3['id']);else{if(_0x26ef30&&this['currentDisplayedUsers']['length']+0x1===_0x3ac6a9-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x26ef30?0x1:0x0)<this['usersCount']){for(const _0x3a2cbe of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3a2cbe['id'])&&(this['currentDisplayedUsers']['add'](_0x3a2cbe,Math['min'](this['currentDisplayedUsers']['length']-(_0x26ef30?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x26ef30?0x1:0x0)===_0x3ac6a9-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5ab776=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x5ab776['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5cb4bb}=this['presenceDropdownView'];_0x5cb4bb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2096fe=>{if(!_0x5ab776['displayMe']&&_0x2096fe['isMe'])return null;const _0x526018=new P(this['context']['locale'],_0x2096fe,!!_0x5ab776['onClick']);return _0x5ab776['onClick']&&this['listenTo'](_0x526018,'execute',()=>{_0x5ab776['onClick'](_0x2096fe,_0x526018['element']);}),_0x526018;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5cb4bb['focus'](),_0x5cb4bb['checkIfScrollable']();const _0x6bca81=(_0x3727b8,_0x297c6a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x297c6a();};_0x5cb4bb['keystrokes']['set']('Esc',_0x6bca81),_0x5cb4bb['keystrokes']['set']('Shift+Tab',_0x6bca81),_0x5cb4bb['keystrokes']['set']('Tab',(_0x50ad7c,_0x8f1c11)=>{!function(_0x4e11d7){const _0x4e7620=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x445992=>_0x445992+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x34eb9c=[...document['body']['querySelectorAll'](_0x4e7620)]['filter'](_0x19f276=>_0x19f276===document['activeElement']||_0x19f276['offsetWidth']+_0x19f276['offsetHeight']>0x0)['sort']((_0x497213,_0x1b8d81)=>(_0x497213['tabIndex']||0x0)-(_0x1b8d81['tabIndex']||0x0)),_0x551e91=_0x34eb9c['indexOf'](_0x4e11d7),_0x5b5fef=_0x34eb9c[(_0x551e91+0x1)%_0x34eb9c['length']];_0x5b5fef&&_0x5b5fef['focus']();}(this['view']['element']),this['hideDropdown'](),_0x8f1c11();}),_0x5cb4bb['focusTracker']['add'](this['view']['element']),_0x5cb4bb['focusTracker']['on']('change:isFocused',(_0xdcfd8f,_0x440904,_0x3367ab)=>{_0x3367ab||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 _0x4cc43f{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};