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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x1f2484,Plugin as _0x5d7a9a,PendingActions as _0x24f018,Context as _0x4e6aab}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xf386f8,CKEditorError as _0x35802a,Collection as _0x2c8b82,global as _0x21ea8d,version as nt,uid as _0x41bb16,KeystrokeHandler as _0x20a768}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x35418e,View as _0x2954d9,ListView as _0x37654a,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x86a71d,clickOutsideHandler as _0x1d0768,BodyCollection as _0x3ae509}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x49f560,History as _0x44e431,NoOperation as _0x5bb50b,InsertOperation as _0x37dfda,MarkerOperation as _0x45ff3e,RootAttributeOperation as _0x4e1f1c,transformOperationSets as _0x17238b,OperationFactory as _0x502b65}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x58bbd4,User as lt,CommentsService as _0x2e6c89,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3e2273,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5be5ea}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x48fa4b}from'es-toolkit/compat';class n extends _0x1f2484{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x35418e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ccc40){super(_0x1ccc40),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xf386f8())();}['init'](){const _0x5bfa8e=this['context'],_0x5d3f7b=_0x5bfa8e['plugins']['get']('CloudServices'),_0x1947ec=_0x5bfa8e['plugins']['get'](_0x35418e);if(!_0x5d3f7b['token'])throw new _0x35802a('websocketgateway-missing-token',this);if(!_0x5d3f7b['webSocketUrl'])throw new _0x35802a('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'](_0x5d3f7b['token'],_0x5d3f7b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x39bc9b=>{if(this['connection']=_0x39bc9b,this['bind']('state')['to'](_0x39bc9b,'state',this,'_isBrowserOffline',(_0x4e43f9,_0x197fe3)=>('connected'!==_0x4e43f9&&(this['_shouldPluginsReconnect']=!0x0),_0x197fe3||_0x4e43f9!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x7bc3af,_0x357176)=>{if('limitExceeded'!==_0x357176['code'])throw console['error'](_0x357176),new _0x35802a('cloudservices-init',null,{'originalError':_0x357176});_0x1947ec['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'});}),!_0x39bc9b['me'])return new Promise(_0x568ac1=>_0x39bc9b['on']('change:me',_0x568ac1));})['catch'](_0x1cb689=>{throw console['error'](_0x1cb689),new _0x35802a('cloudservices-init',null,{'originalError':_0x1cb689});});}['addToReconnectionStack'](_0x355d0b){if('function'!=typeof _0x355d0b['reconnect'])throw new _0x35802a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x355d0b))throw new _0x35802a('websocketgateway-plugin-already-registered',this,{'name':_0x355d0b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x355d0b);}['removeFromReconnectionStack'](_0x1563d0){this['_reconnectionStack']['delete'](_0x1563d0);}['isInReconnectionStack'](_0x3d8e25){return this['_reconnectionStack']['has'](_0x3d8e25);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5bebd6=>_0x5bebd6['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x51279a=>{throw console['error'](_0x51279a),new _0x35802a('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 _0x1f2484{['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,_0x3e2273];}constructor(_0x2bacfd){super(_0x2bacfd),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c8b82(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3e2273);}['init'](){const _0x36a798=this['context']['plugins']['get'](n);this['listenTo'](_0x36a798,'change:state',(_0x4b8d6a,_0x34e64b,_0x4dbc5a)=>{if('connected'!==_0x4dbc5a)this['channelSessions']['forEach'](_0x479620=>_0x479620['clear']()),this['channelConnectedUsers']['forEach'](_0x21b046=>_0x21b046['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x269a13,_0x2af069]of this['_registeredSessions'])for(const _0x4d1990 of _0x2af069)this['_handleSessionAdd'](_0x269a13,_0x4d1990);}}),this['_createUser'](_0x36a798['connection']['me'],!0x0);}['register'](_0x583448,_0xd1959e){if(this['_registeredSessions']['has'](_0x583448))throw new _0x35802a('sessions-register-already-registered',null,{'channelId':_0x583448});this['_registeredSessions']['set'](_0x583448,_0xd1959e),this['channelSessions']['set'](_0x583448,new _0x2c8b82()),this['channelConnectedUsers']['set'](_0x583448,new _0x2c8b82()),this['listenTo'](_0xd1959e,'add',(_0x424ce8,_0x44f145)=>this['_handleSessionAdd'](_0x583448,_0x44f145)),this['listenTo'](_0xd1959e,'remove',(_0x67012a,_0x3ab82f)=>this['_handleSessionRemove'](_0x583448,_0x3ab82f));for(const _0x49784c of _0xd1959e)this['_handleSessionAdd'](_0x583448,_0x49784c);}['unregister'](_0xb705e){if(!this['_registeredSessions']['has'](_0xb705e))throw new _0x35802a('sessions-unregister-not-exist',null,{'channelId':_0xb705e});const _0x4b93cb=this['_registeredSessions']['get'](_0xb705e);this['stopListening'](_0x4b93cb);for(const _0x577db0 of _0x4b93cb)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xb705e,_0x577db0);this['_registeredSessions']['delete'](_0xb705e),this['channelSessions']['delete'](_0xb705e),this['channelConnectedUsers']['delete'](_0xb705e);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x26b451){for(const _0x3417a1 of this['channelSessions']['values']())for(const _0x30edd4 of _0x3417a1)if(_0x30edd4['id']===_0x26b451)return _0x30edd4['user'];}['getUserSessions'](_0x5268cd,_0x5275a2){const _0x1b975c=_0x5275a2?[this['channelSessions']['get'](_0x5275a2)]:this['channelSessions']['values'](),_0x46afcd=new Set();for(const _0x34528b of _0x1b975c)for(const _0x3459a5 of _0x34528b)_0x3459a5['user']['id']===_0x5268cd['id']&&_0x46afcd['add'](_0x3459a5['id']);return _0x46afcd;}['getUserRole'](_0xbf84ed){for(const _0x528df6 of this['channelSessions']['values']())for(const _0x14f46b of _0x528df6)if(_0x14f46b['user']===_0xbf84ed)return _0x14f46b['role'];}['_handleSessionAdd'](_0x20ce07,_0x53602a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x567dcd=_0x53602a['user'],_0x1ad80e=this['_users']['getUser'](_0x567dcd['id'])||this['_createUser'](_0x567dcd),_0x4c1354=Object['assign']({},_0x53602a,{'user':_0x1ad80e});if(this['channelSessions']['get'](_0x20ce07)['add'](_0x4c1354),!_0x567dcd['hiddenInPresenceList']){const _0x42d06c=this['channelConnectedUsers']['get'](_0x20ce07);_0x42d06c['has'](_0x1ad80e['id'])||_0x42d06c['add'](_0x1ad80e),this['allConnectedUsers']['has'](_0x1ad80e['id'])||_0x567dcd['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1ad80e,_0x1ad80e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x20ce07,{'channelId':_0x20ce07,'session':_0x4c1354});}['_handleSessionRemove'](_0x2a666a,_0x41c544){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5c47c6=this['channelConnectedUsers']['get'](_0x2a666a),_0x2ece57=_0x41c544['user'];_0x2ece57['id']&&(this['channelSessions']['get'](_0x2a666a)['remove'](_0x41c544['id']),_0x5c47c6['has'](_0x2ece57['id'])&&!this['getUserSessions'](_0x2ece57,_0x2a666a)['size']&&_0x5c47c6['remove'](_0x2ece57['id']),this['allConnectedUsers']['get'](_0x2ece57['id'])&&!this['getUserSessions'](_0x2ece57)['size']&&this['allConnectedUsers']['remove'](_0x2ece57['id']));}['_createUser'](_0x4b6e7a,_0x11cf52){const _0x3079b5=this['_users']['addUser'](_0x4b6e7a);return _0x11cf52&&this['_users']['defineMe'](_0x4b6e7a['id']),_0x3079b5['orderNumber']=this['_uniqueUsersCount']++,_0x3079b5;}}class V extends _0x5d7a9a{['_domEmitter']=new(_0xf386f8())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x43ad85=this['editor'],_0x31cc63=_0x43ad85['plugins']['get'](i);_0x43ad85['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5508f1,{writer:_0x5aabcb})=>function(_0x404959,_0x19b00e,_0x1bb0b0,_0x29b44c){const _0x421914=_0x404959['markerName']['split'](':')[0x2],_0x11d0cc=_0x1bb0b0['getUserBySessionId'](_0x421914);if(!_0x11d0cc||_0x421914===_0x1bb0b0['mySessionId'])return;if(!_0x29b44c['model']['schema']['checkChild'](_0x404959['markerRange']['start'],'$text'))return;const _0x1a4b4f={'class':'ck-user__marker\x20'+_0x11d0cc['color']['getMarkerClass'](),'data-name':_0x11d0cc['name'],'data-session-id':_0x421914},_0x307744=_0x29b44c['model']['markers']['get'](_0x404959['markerName']),_0x1e5d27=_0x307744['getStart'](),_0x110c42=_0x1e5d27['nodeAfter'],_0x5cbb82=_0x29b44c['model']['schema'];if(_0x110c42&&_0x5cbb82['isObject'](_0x110c42)&&_0x5cbb82['isInline'](_0x110c42)&&!_0x29b44c['model']['markers']['get']('user:range:'+_0x421914)['getRange']()['isCollapsed'])return;const _0x10ed7d=_0x1e5d27['parent'];return _0x29b44c['model']['schema']['isLimit'](_0x10ed7d)&&!_0x29b44c['model']['hasContent'](_0x10ed7d)&&(_0x1a4b4f['contenteditable']=!0x1),function(_0x2f68f0,_0x2b5e3d,_0x416620){const _0x4a480c=_0x2f68f0['createUIElement']('span',_0x2b5e3d);return _0x2f68f0['setCustomProperty']('userPositionMarker',!0x0,_0x4a480c),_0x4a480c['render']=function(_0x54d033){const _0x2067a2=this['toDomElement'](_0x54d033),_0x1279a6=document['createElement']('span');return _0x1279a6['classList']['add']('ck-user__marker-tooltip'),_0x1279a6['setAttribute']('contenteditable','false'),_0x1279a6['setAttribute']('spellcheck','false'),_0x1279a6['textContent']=_0x416620['name'],_0x2067a2['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1279a6['outerHTML']+'⁠',_0x2067a2['addEventListener']('mouseenter',()=>{_0x2067a2['classList']['add']('ck-user__marker_hovered');}),_0x2067a2['addEventListener']('mouseleave',()=>{_0x2067a2['classList']['remove']('ck-user__marker_hovered');}),_0x2067a2;},_0x4a480c['isSimilar']=function(_0x36673c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x36673c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x36673c['getAttribute']('data-session-id'));},_0x4a480c;}(_0x19b00e,_0x1a4b4f,_0x11d0cc);}(_0x5508f1,_0x5aabcb,_0x31cc63,_0x43ad85)}),_0x43ad85['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x293175=>function(_0x4978ee,_0x45dc52){const _0x5b5eee=_0x4978ee['markerName']['split'](':')[0x2];if(_0x5b5eee===_0x45dc52['mySessionId'])return null;const _0x1a1f45=_0x45dc52['getUserBySessionId'](_0x5b5eee);if(!_0x1a1f45)return{'id':_0x5b5eee,'classes':[]};return{'id':_0x5b5eee,'classes':['ck-user__selection',_0x1a1f45['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5b5eee},'priority':0x7d0+_0x1a1f45['orderNumber']};}(_0x293175,_0x31cc63)}),function(_0x1c6145){const _0x3f71f7=_0x1c6145['model'],_0x1c3a6d=new Map(),_0x5dcfa9=_0x1c6145['plugins']['get'](i);_0x3f71f7['markers']['on']('update:user:range',(_0x59292b,_0x274f75,_0x3c9776,_0x4d6019)=>{if(!_0x4d6019&&_0x1c3a6d['get'](_0x274f75['name']))return _0x1c3a6d['get'](_0x274f75['name'])['detach'](),void _0x1c3a6d['delete'](_0x274f75['name']);const _0xf46751=_0x274f75['name']['split'](':')[0x2];if(_0xf46751===_0x5dcfa9['mySessionId'])return;const _0x2a2732='user:position:'+_0xf46751;_0x3f71f7['markers']['has'](_0x2a2732)&&_0x1c6145['editing']['reconvertMarker'](_0x2a2732),_0x274f75['on']('change:range',(_0x4b8cf4,_0xf34237,_0x2f8641)=>{if('$graveyard'!=_0xf34237['root']['rootName']&&'$graveyard'==_0x274f75['getRange']()['root']['rootName']&&!_0x1c3a6d['has'](_0x274f75['name'])){const _0x4432f0=_0x3f71f7['schema']['getNearestSelectionRange'](_0x2f8641['deletionPosition']);if(_0x4432f0){const _0x2b8d01=_0x49f560['fromRange'](_0x4432f0);_0x1c3a6d['set'](_0x274f75['name'],_0x2b8d01),_0x2b8d01['on']('change:range',(_0x3ac26b,_0x4d07b3,_0xb7a6cf)=>{if('$graveyard'==_0x2b8d01['root']['rootName']){const _0x2969fc=_0x3f71f7['schema']['getNearestSelectionRange'](_0xb7a6cf['deletionPosition']);_0x2969fc?(_0x2b8d01['start']=_0x2969fc['start'],_0x2b8d01['end']=_0x2969fc['end']):(_0x1c3a6d['delete'](_0x274f75['name']),_0x2b8d01['detach']());}});}}});}),_0x3f71f7['document']['on']('change',()=>{_0x1c3a6d['size']>0x0&&_0x3f71f7['enqueueChange']({'isUndoable':!0x1},_0x1262bd=>{for(const [_0x4ca678,_0x4a9fa6]of _0x1c3a6d)'$graveyard'==_0x3f71f7['markers']['get'](_0x4ca678)['getRange']()['root']['rootName']&&(Z(_0x4ca678['split'](':')[0x2],_0x4a9fa6['toRange'](),_0x3f71f7,_0x1262bd),_0x4a9fa6['detach']());_0x1c3a6d['clear']();});});}(_0x43ad85),this['_domEmitter']['listenTo'](_0x21ea8d['document'],'keydown',(_0x482b08,{key:_0x59b69d})=>{'Escape'===_0x59b69d&&function(_0x3e99bf){_0x3e99bf['editing']['view']['change'](_0x40b61c=>{for(const _0x5da8f5 of _0x3e99bf['model']['markers']){if(!_0x5da8f5['name']['startsWith']('user:position'))continue;const _0xbc244c=_0x3e99bf['editing']['mapper']['markerNameToElements'](_0x5da8f5['name']);if(_0xbc244c){for(const _0x145fd5 of _0xbc244c)_0x40b61c['removeClass']('ck-user__marker_hovered',_0x145fd5);}}});}(_0x43ad85);},{'useCapture':!0x0});}['afterInit'](){const _0x61872=this['editor'],_0x1a4f23=_0x61872['commands']['get']('undo');_0x1a4f23&&_0x61872['model']['on']('applyOperation',(_0xf9d785,_0x1279a5)=>{const _0x180ac0=_0x1279a5[0x0];if(!_0x180ac0['isDocumentOperation'])return;if('marker'!=_0x180ac0['type']||!_0x180ac0['name']['startsWith']('user:'))return;const _0x1eb272=_0x180ac0['batch'];_0x1a4f23['_createdBatches']['has'](_0x1eb272)&&(_0x180ac0['newRange']=_0x180ac0['oldRange']?_0x61872['model']['createRange'](_0x180ac0['oldRange']['start'],_0x180ac0['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x44886a=this['editor'],_0x1db73d=_0x44886a['model']['document'],_0x22ff05=_0x44886a['plugins']['get'](i);_0x44886a['model']['enqueueChange']({'isUndoable':!0x1},_0x3abad2=>{const _0x4f5b6f='user:range:'+_0x22ff05['mySessionId'],_0x2eca79='user:position:'+_0x22ff05['mySessionId'],_0x4fd632=_0x44886a['model']['markers']['has'](_0x4f5b6f);_0x44886a['editing']['view']['hasDomSelection']?Z(_0x22ff05['mySessionId'],_0x1db73d['selection']['getFirstRange'](),_0x44886a['model'],_0x3abad2):_0x4fd632&&(_0x3abad2['removeMarker'](_0x4f5b6f),_0x3abad2['removeMarker'](_0x2eca79));});}}function Z(_0x1cf771,_0x19a486,_0x4c9951,_0x287fbb){const _0x462eab='user:range:'+_0x1cf771,_0x2f805d='user:position:'+_0x1cf771,_0x55a2d6=_0x19a486['getContainedElement']();let _0x11e368=_0x19a486['start'];if(_0x55a2d6&&_0x55a2d6['is']('element','tableCell')){const _0x298a41=function(_0x36d903,_0x5ef174){for(const _0x4e3c8d of _0x36d903['getPositions']())if(_0x5ef174['schema']['checkChild'](_0x4e3c8d,'$text'))return _0x4e3c8d;}(_0x19a486,_0x4c9951);_0x298a41&&(_0x11e368=_0x298a41,_0x19a486=_0x287fbb['createRange'](_0x11e368));}const _0x32034b=_0x287fbb['createRange'](_0x11e368);_0x4c9951['markers']['has'](_0x462eab)?(_0x287fbb['updateMarker'](_0x462eab,{'range':_0x19a486}),_0x287fbb['updateMarker'](_0x2f805d,{'range':_0x32034b})):(_0x287fbb['addMarker'](_0x462eab,{'range':_0x19a486,'usingOperation':!0x0}),_0x287fbb['addMarker'](_0x2f805d,{'range':_0x32034b,'usingOperation':!0x0}));}function W(_0x38824a,_0x453dff,_0x1b6f55){const _0x1001a3=_0x38824a['t'],t=_0x38824a['t'];switch(_0x453dff){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 _0x1001a3({'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'},_0x1b6f55);default:return'';}}let G=0x1;class l extends _0x5d7a9a{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x58bbd4)());['_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,_0x24f018,_0x3e2273,_0x35418e];}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 _0x4da198=this['serverHistory']['getOperations']();for(let _0x4fb391=_0x4da198['length']-0x1;_0x4fb391>=0x0;_0x4fb391--){const _0x43993a=_0x4da198[_0x4fb391];if(!this['_disconnectionOperations']['has'](_0x43993a))return _0x43993a['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4b4f13){if(super(_0x4b4f13),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x44e431(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x35802a('collaboration-missing-channelid',this);const _0x40d270=_0x4b4f13['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x40d270,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5be5ea(),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 _0x1a8dd0=this['editor'],_0x385652=_0x1a8dd0['plugins']['get'](_0x3e2273),_0x354223=_0x1a8dd0['plugins']['get'](n);this['listenTo'](_0x385652,'getOperationAuthor',(_0x3f279f,_0x11ff5a)=>{const _0x553c19=_0x11ff5a[0x0];_0x553c19['_authorId']&&(_0x3f279f['return']=_0x385652['getUser'](_0x553c19['_authorId']),_0x3f279f['stop']()),null===_0x553c19['_authorId']&&(_0x3f279f['return']=null,_0x3f279f['stop']());},{'priority':'high'}),this['listenTo'](_0x1a8dd0['model']['document']['selection'],'change:range',(_0x11f68f,_0x39747d)=>{_0x39747d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1a8dd0['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1a8dd0['model']['on']('applyOperation',(_0xbbb0e3,_0x1a7f4d)=>{const _0x2e83d4=_0x1a7f4d[0x0];_0x2e83d4['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2e83d4),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x354223,'state',this,'_hasSynchronizationProblem',(_0x13a75e,_0x574795)=>'connected'===_0x13a75e&&!_0x574795),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1a8dd0['disableReadOnlyMode']('rtc-offline'):_0x1a8dd0['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1a8dd0['disableReadOnlyMode']('rtc-offline'):_0x1a8dd0['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x791887=this['editor']['plugins']['get'](i),_0x4258fb=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x791887['unregister'](this['_channelId']);const _0x7c5816=await this['_service']['reconnect'](_0x4258fb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x7c5816)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x437ae9=await this['_service']['getConnectedSessions']();_0x791887['register'](this['_channelId'],_0x437ae9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x385891){if(function(_0x3773d7){return'404'===_0x3773d7['code'];}(_0x385891)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1972e9){return'409'===_0x1972e9['code'];}(_0x385891)){const _0x145c6f=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'](_0x145c6f);}else{if(!(_0x385891 instanceof $))throw _0x385891;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1fa9d5=this['editor']['plugins']['get'](n),_0x1e010f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1e010f['channelSessions']['has'](this['_channelId'])&&_0x1e010f['unregister'](this['_channelId']),_0x1fa9d5['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x339ca7){if(this['sessionId']!==_0x339ca7['sessionId']&&this['_lastSyncedOperationId']!==_0x339ca7['lastOperationId'])throw new $();return this['sessionId']=_0x339ca7['sessionId'],this['_handleServerResponse']([],{..._0x339ca7,'wereChangesApplied':!0x1,'data':_0x339ca7['data']},'reconnect');}async['_connectService'](_0x19bcd8,_0x27477d=!0x1){const {connection:_0x32c651}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x32c651,this['_channelId'])['then'](_0x430913=>this['_initSessionsHandling'](_0x430913))['catch'](_0x47e785=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x47e785);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x37d691,_0x4071e7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4071e7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xc283ae=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x19bcd8);this['_isPendingUpdate']=!0x0;const _0x3c066b=await this['_service']['connect'](_0x32c651,this['_compressOperations'](_0x19bcd8),_0xc283ae);if(this['sessionId']=_0x3c066b['sessionId'],_0x27477d){if(!_0x3c066b['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3c066b['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x19bcd8,_0x3c066b,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3c066b,_0x19bcd8);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2fc38d=this['editor']['plugins']['get'](i),_0x2f82be=this['editor']['plugins']['get'](V),_0x2e29b0=_0x2fc38d['channelSessions']['get'](this['_channelId']);_0x2e29b0&&_0x2e29b0['length']>0x1?_0x2f82be['createUserMarkerOperations']():this['listenTo'](_0x2fc38d,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2fc38d['channelSessions']['get'](this['_channelId'])['length']&&_0x2f82be['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x563e0c,_0x4b530f,_0x330c67,_0x3eb191){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4b530f){const _0x3e09db=this['_decompressOperations'](_0x330c67,_0x3eb191);await this['_fetchMissingUsers'](_0x3e09db),this['_handleExternalOperations'](_0x3e09db,_0x4b530f,_0x330c67['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x37b77b}=this['editor'];let _0x9f5c3b;try{_0x9f5c3b=await this['_service']['getDocumentDetails']();}catch{const _0x56df2e=W(_0x37b77b,'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'](_0x56df2e);}const _0x21e2a3=_0x9f5c3b['currentDocumentSession']||_0x9f5c3b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x21e2a3['lastOperationId']){const _0x56506a=W(_0x37b77b,'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'](_0x56506a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xc1014f){const _0x10049f=this['editor']['plugins']['get'](i);this['listenTo'](_0x10049f,'sessionAdd:'+this['_channelId'],(_0x35e1e8,{session:_0x8566c7})=>{if(_0x8566c7['id']===_0x10049f['mySessionId']){_0x35e1e8['off']();const _0x46c8b4=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xfa5937=_0x8566c7['permissions'];_0x46c8b4&&_0x46c8b4['isEnabled']&&(_0xfa5937=_0xfa5937['filter'](_0x3196a9=>'document:write'!==_0x3196a9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xfa5937,this['_channelId']);}}),_0x10049f['register'](this['_channelId'],_0xc1014f);}['_initThrowingOnDataSet'](){const _0x280f9d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4fe03f)=>{if(!_0x4fe03f[_0x4fe03f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x35802a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x280f9d['apply'](this['editor']['data'],_0x4fe03f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1d05d5,[_0x808046])=>{if(this['_document']['version'])throw new _0x35802a('realtimecollaborationclient-init-document-already-initialized',this);_0x1d05d5['stop'](),this['_setPendingAction']();const _0x4af3e3=this['editor']['config']['get']('rootsAttributes'),_0x52eba8=this['_getOperationsFromInitData'](_0x808046,_0x4af3e3);0x0==_0x52eba8['length']&&_0x52eba8['push'](new _0x5bb50b(0x0)),_0x1d05d5['return']=this['_connectService'](_0x52eba8)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x55fc7c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x55fc7c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x288143,[_0x847945,_0x4e06f0])=>{_0x288143['stop']();const _0x1ea2b=this['editor']['model']['document']['getRoot'](_0x847945);if(!this['_knownRootNames']['has'](_0x847945)){const _0x3cf741=_0x4e06f0&&_0x4e06f0['data']?_0x4e06f0['data']:'',_0x1ffb28=_0x4e06f0&&_0x4e06f0['attributes']?_0x4e06f0['attributes']:{};await this['_loadRoot'](_0x847945,_0x3cf741,_0x1ffb28);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1ea2b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1ea2b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x26ea27){const _0x316691=this['editor']['plugins']['get'](_0x3e2273),{connection:_0x5d9f9a}=this['editor']['plugins']['get'](n),_0x56726f=new Set();for(const _0x216a09 of _0x26ea27){const _0xaffc04=_0x216a09['_authorId'];_0xaffc04&&!_0x316691['getUser'](_0xaffc04)&&_0x56726f['add'](_0xaffc04);}if(0x0===_0x56726f['size'])return;const _0x45dd41=await lt['getMany'](_0x5d9f9a,Array['from'](_0x56726f));for(const _0xf374af of _0x45dd41)_0x316691['getUser'](_0xf374af['id'])||_0x316691['addUser'](_0xf374af);}['_getOperationsFromInitData'](_0x34c09e,_0x5b0e38={}){const _0x5739b2=this['editor']['model'],_0x426e83=[];let _0x514efb=0x0;const _0x223068='string'==typeof _0x34c09e?{'main':_0x34c09e}:_0x34c09e;for(const _0x43aad3 of Object['keys'](_0x223068)){if(!this['_document']['roots']['has'](_0x43aad3))throw new _0x35802a('realtimecollaborationclient-init-non-existent-root',this);const _0x2404dd=this['editor']['data']['parse'](_0x223068[_0x43aad3]),_0x19e8cf=this['_document']['getRoot'](_0x43aad3),_0x5b5eb9=new _0x37dfda(_0x5739b2['createPositionAt'](_0x19e8cf,0x0),_0x2404dd,_0x514efb++);_0x426e83['push'](_0x5b5eb9);for(const [_0xf36a72,_0xb63d6]of _0x2404dd['markers']){const _0xbb3737=_0x5739b2['createRange'](_0x5739b2['createPositionFromPath'](_0x19e8cf,_0xb63d6['start']['path']['slice']()),_0x5739b2['createPositionFromPath'](_0x19e8cf,_0xb63d6['end']['path']['slice']())),_0x3d7a71=new _0x45ff3e(_0xf36a72,null,_0xbb3737,_0x5739b2['markers'],!0x0,_0x514efb++);_0x426e83['push'](_0x3d7a71);}}if(_0x5b0e38)for(const [_0x2d50ca,_0x1ce635]of Object['entries'](_0x5b0e38)){const _0x9ccee7=_0x5739b2['document']['getRoot'](_0x2d50ca);if(!_0x9ccee7)throw new _0x35802a('multi-root-editor-root-attributes-no-root',null);for(const [_0x3bbf4b,_0x336fb3]of Object['entries'](_0x1ce635))if(null!==_0x336fb3){const _0x355301=new _0x4e1f1c(_0x9ccee7,_0x3bbf4b,null,_0x336fb3,_0x514efb++);_0x426e83['push'](_0x355301);}}return _0x426e83;}async['_loadRoot'](_0x453940,_0x1d6912,_0x4e92e3){this['_getOperationsFromInitData']({[_0x453940]:_0x1d6912},{[_0x453940]:_0x4e92e3})['forEach']((_0x1f3672,_0x33dba5)=>{_0x1f3672['baseVersion']=this['_document']['version']+_0x33dba5,_0x1f3672['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1f3672);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5034aa,_0x53eadf){let _0x3a8bfd;this['_offset']=_0x5034aa['offset'];const _0x12279c=_0x5034aa['wereChangesApplied']&&!_0x5034aa['initData'],_0x5a83c8=_0x12279c?0x0:_0x5034aa['data']['baseVersion'];if(_0x53eadf['forEach'](_0x1ccebe=>{_0x1ccebe['_isInit']=!0x0,_0x1ccebe['createdAt']=_0x5034aa['sessionCreatedAt'],_0x1ccebe['_authorId']=null;}),_0x12279c)_0x3a8bfd=_0x53eadf,this['_applyOperationsSet'](_0x3a8bfd,_0x12279c);else{if(_0x5034aa['initData']){const _0x36fe4e=this['_getOperationsFromInitData'](_0x5034aa['initData']);this['_document']['history']['version']=-_0x36fe4e['length'],_0x36fe4e['forEach'](_0x2c337a=>{_0x2c337a['baseVersion']-=_0x36fe4e['length'],_0x2c337a['createdAt']=_0x5034aa['sessionCreatedAt'],_0x2c337a['_isInit']=!0x0,_0x2c337a['_authorId']=null;}),this['_applyOperationsSet'](_0x36fe4e,!0x0),this['serverHistory']['version']=-_0x36fe4e['length']+this['_offset'],this['_updateServerHistory'](_0x36fe4e);}this['_document']['history']['version']=_0x5a83c8,_0x3a8bfd=this['_decompressOperations'](_0x5034aa['data'],_0x5034aa['metadata']),await this['_fetchMissingUsers'](_0x3a8bfd),this['_applyOperationsSet'](_0x3a8bfd,_0x12279c);}_0x5034aa['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3a8bfd,_0x5034aa['lastOperationId']),this['_lastSyncedOperationId']=_0x5034aa['lastOperationId']),this['serverHistory']['version']=_0x5a83c8+this['_offset'],this['_updateServerHistory'](_0x3a8bfd),_0x53eadf['filter'](_0x7c7561=>{const _0x148a73=this['_getAffectedRoot'](_0x7c7561);return _0x148a73&&!this['_knownRootNames']['has'](_0x148a73);})['forEach']((_0x422622,_0x1e23e3)=>{_0x422622['baseVersion']=this['_document']['version']+_0x1e23e3,this['_saveOperationInBuffer'](_0x422622);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x13245e,_0x4bb09b){const _0x2ea8d8=_0x4bb09b&&_0x4bb09b['message'];if(_0x2ea8d8&&_0x2ea8d8['startsWith']('realtimecollaborationclient'))throw _0x4bb09b;const _0x18506b=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x18506b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x35802a(_0x13245e,this['editor'],_0x2ea8d8?{'originalError':_0x2ea8d8}:void 0x0);}['_saveOperationInBuffer'](_0x3dcbbf){this['_knownOperations']['has'](_0x3dcbbf)||(this['_knownOperations']['add'](_0x3dcbbf),this['_bufferedOperations']['push'](_0x3dcbbf),this['_pendingAction']||'marker'==_0x3dcbbf['type']&&!_0x3dcbbf['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x40b746=!0x1){!_0x40b746&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x415013=>{_0x415013&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xa24070=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x10eab0){return _0x10eab0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x10eab0['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x10eab0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xa24070)||this['_crash'](_0xa24070['message'],_0xa24070);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x306b5d=>{this['on']('change:_isPendingUpdate',()=>{_0x306b5d();});});}async['_sendBufferedOperations'](){const _0x24add5=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x24add5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5f3a7b=[...this['_bufferedOperations']];for(const _0x10fbea of _0x5f3a7b)_0x10fbea['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x10fbea);const _0xd2abd8=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5f3a7b),_0x4eb49f=G++,_0x1726e2=this['_compressOperations'](_0x5f3a7b),_0x51ae23=await this['_service']['sendOperations'](_0x1726e2,_0x1726e2['baseVersion'],_0xd2abd8);try{return await this['_handleServerResponse'](_0x5f3a7b,_0x51ae23,_0x4eb49f);}catch(_0x54a53b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x54a53b);}}async['_handleServerResponse'](_0x21fefb,_0x518b85,_0x5cfe23){if('error'in _0x518b85)throw _0x518b85['error'];let _0x14fa96=!0x1;if(_0x518b85['wereChangesApplied']){_0x518b85['lastOperationId']&&(this['_lastSyncedOperationId']=_0x518b85['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x171906=>!_0x21fefb['includes'](_0x171906));for(const _0x5a9755 of _0x21fefb)_0x5a9755['createdAt']='lastOperationAcceptedAt'in _0x518b85&&_0x518b85['lastOperationAcceptedAt']||void 0x0;K(_0x21fefb,_0x518b85['version']-_0x21fefb['length']),this['_updateServerHistory'](_0x21fefb);const _0x169805=_0x21fefb['filter'](_0x478793=>{if(!_0x478793['_isInit'])return!0x1;const _0x352426=this['_getAffectedRoot'](_0x478793);return _0x352426&&!this['_knownRootNames']['has'](_0x352426);});K(_0x169805,this['_document']['version']),this['_applyOperationsSet'](_0x169805),_0x14fa96=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x19c42e=this['_decompressOperations'](_0x518b85['data'],_0x518b85['metadata'])['filter'](_0x360360=>_0x360360['baseVersion']>=this['_lastServerVersion']);_0x19c42e['forEach'](_0x3dbc13=>this['_addKnownRoot'](_0x3dbc13)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x848fba=>!_0x848fba['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x848fba))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x19c42e),_0x14fa96=this['_handleExternalOperations'](_0x19c42e,_0x518b85['version'],_0x518b85['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x14fa96?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x376419,_0x2a3c93,_0x3adf4b){try{const _0x4e16cc={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1a8109,operationsB:_0xef9715,originalOperations:_0x2c4053}=_0x17238b(_0x376419,this['_bufferedOperations'],_0x4e16cc);K(_0x1a8109,this['_document']['version']),K(_0xef9715,_0x2a3c93);for(const _0x68d8b of _0x1a8109){const _0x4676fd=_0x2c4053['get'](_0x68d8b);_0x68d8b['_authorId']=_0x4676fd?_0x4676fd['_authorId']:null;}_0x3adf4b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x376419,_0x3adf4b),this['_lastSyncedOperationId']=_0x3adf4b),this['_bufferedOperations']=[..._0xef9715],this['_applyOperationsSet'](_0x1a8109),this['_updateServerHistory'](_0x376419);}catch(_0x30f823){return console['error'](_0x30f823),!0x1;}return!0x0;}['_applyOperationsSet'](_0xa76da9,_0x50d3ab=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2e31b7=>{for(const _0x67bc0d of _0xa76da9)this['_knownOperations']['add'](_0x67bc0d),this['_addKnownRoot'](_0x67bc0d),_0x2e31b7['batch']['addOperation'](_0x67bc0d),this['editor']['model']['applyOperation'](_0x67bc0d);});}['_addKnownRoot'](_0x42eb6d){const _0x45a2fe=this['_getAffectedRoot'](_0x42eb6d);_0x45a2fe&&this['_knownRootNames']['add'](_0x45a2fe);}['_getAffectedRoot'](_0x21cc94){let _0x545d5b,_0x17bf9f;switch(_0x21cc94['type']){case'insert':_0x545d5b=_0x21cc94['position']['root'];break;case'marker':if(_0x17bf9f=_0x21cc94['newRange'],!_0x17bf9f)return null;_0x545d5b=_0x17bf9f['root'];break;case'addRootAttribute':_0x545d5b=_0x21cc94['root'];break;case'addRoot':_0x545d5b=_0x21cc94['affectedSelectable'];break;case'move':_0x545d5b=_0x21cc94['targetPosition']['root'];break;default:return null;}return _0x545d5b['rootName'];}['_updateServerHistory'](_0x3a4391){_0x3a4391['forEach'](_0x2e31ca=>{const _0x39a2e5=_0x2e31ca['clone']();_0x39a2e5['_authorId']=_0x2e31ca['_authorId'],_0x39a2e5['_isInit']=!!_0x2e31ca['_isInit'],_0x39a2e5['createdAt']=_0x2e31ca['createdAt'],_0x39a2e5['baseVersion']+=this['_offset'],_0x2e31ca['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x39a2e5),this['serverHistory']['addOperation'](_0x39a2e5);});}['_handleReconnectionError'](_0x2d0e22){const _0x15ae9f=this['editor']['plugins']['get']('Notification'),_0x1efe4a=this['editor']['locale'];_0x2d0e22||(_0x2d0e22=W(_0x1efe4a,'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.')),_0x15ae9f['showWarning'](_0x2d0e22,{'title':W(_0x1efe4a,'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'](_0x24f018)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x24f018)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x51e918){const _0x25093a=_0x51e918['map'](_0x256527=>_0x256527['toJSON']());return this['_compressor']['compress'](_0x25093a);}['_decompressOperations'](_0x2c1e33,_0x40fdec){return this['_compressor']['decompress'](_0x2c1e33)['map']((_0x37ae50,_0x117c11)=>{const _0x4b395a='init'==_0x40fdec[_0x117c11]['type'];if('InsertOperation'==_0x37ae50['__className']){const _0x24efad=_0x37ae50['position']['root'];!this['_document']['getRoot'](_0x24efad)&&(this['_document']['createRoot']('$root',_0x24efad)['_isAttached']=!0x1);}const _0x315eb8=_0x502b65['fromJSON'](_0x37ae50,this['_document']);return _0x315eb8['wasUndone']=_0x37ae50['wasUndone'],_0x315eb8['_isInit']=_0x4b395a,_0x315eb8['_authorId']=_0x4b395a?null:_0x40fdec[_0x117c11]['userId'],_0x315eb8['_isDisconnection']='cs:removeUser'===_0x40fdec[_0x117c11]['type'],_0x315eb8['createdAt']=_0x40fdec[_0x117c11]['createdAt'],_0x315eb8;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3d3eff=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3d3eff&&_0x3d3eff['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x49f1b6,_0x79b5c8){for(const _0x3611f1 of _0x49f1b6)_0x3611f1['baseVersion']=_0x79b5c8++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x47a043){this['_ignoredOperations']=_0x47a043,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4471fb){let _0x1da972=_0x4471fb['length'];for(;_0x1da972--;){const _0x22da7e=_0x4471fb[_0x1da972];if(!this['_ignoredOperations']['has'](_0x22da7e)){if(!this['_operationToId']['has'](_0x22da7e)){const _0x372da2=_0x41bb16()['slice'](0x1,0x12);this['_operationToId']['set'](_0x22da7e,_0x372da2);}return this['_operationToId']['get'](_0x22da7e);}}}['setIdForTheLastOperation'](_0x55ae88,_0x247798){if(!_0x247798)return;let _0x562d79=_0x55ae88['length'];for(;_0x562d79--;){const _0x239f7d=_0x55ae88[_0x562d79];this['_ignoredOperations']['has'](_0x239f7d)||this['_operationToId']['set'](_0x239f7d,_0x247798);}}}class a extends _0x5d7a9a{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1f2484{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x2e6c89)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x3e2273];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f2b44){super(_0x4f2b44),this['_services']=new Map();}async['init'](){const _0x8ac3f0=this['context'],_0x18ea06=_0x8ac3f0['plugins']['get']('CommentsRepository');if(_0x8ac3f0['plugins']['get'](n)['addToReconnectionStack'](this),_0x18ea06['adapter']={'addCommentThread':async({channelId:_0xc7aa7,threadId:_0x3774ff,comments:_0x190ba5,resolvedAt:_0x116ee4,resolvedBy:_0x3b7257,context:_0x504966,attributes:_0x3b8b8e})=>{const _0x56f2e4=await this['_getService'](_0xc7aa7)['addCommentThread']({'commentThreadId':_0x3774ff,'comments':_0x190ba5['map'](_0x636e32=>function(_0x2c06e6,_0x366e2d,_0x283cd8){return{'commentThreadId':_0x283cd8,'commentId':_0x2c06e6['commentId'],'userId':_0x2c06e6['authorId'],'content':_0x2c06e6['content'],'documentId':_0x366e2d,'createdAt':_0x2c06e6['createdAt'],'attributes':_0x2c06e6['attributes']||{}};}(_0x636e32,_0xc7aa7,_0x3774ff)),'resolvedAt':_0x116ee4,'resolvedBy':_0x3b7257,'context':_0x504966,'attributes':_0x3b8b8e})['catch'](dt);return{'threadId':_0x56f2e4['commentThreadId'],'comments':_0x56f2e4['comments']};},'getCommentThread':async({channelId:_0x50f150,threadId:_0x1233fd})=>{const _0x1e9337=await this['_getService'](_0x50f150)['getCommentThread'](_0x1233fd)['catch'](f)['catch'](dt);return _0x1e9337?_0x1e9337['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1e9337]),{'threadId':_0x1e9337['commentThreadId'],'comments':_0x1e9337['comments']['map'](p),'context':_0x1e9337['context'],'resolvedAt':_0x1e9337['resolvedAt'],'resolvedBy':_0x1e9337['resolvedBy'],'attributes':_0x1e9337['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2b2845,threadId:_0x552d88,context:_0x4fe6de,unlinkedAt:_0x49c54c,attributes:_0x59884f})=>this['_getService'](_0x2b2845)['updateCommentThread']({'commentThreadId':_0x552d88,'context':_0x4fe6de,'attributes':_0x59884f,'unlinkedAt':_0x49c54c})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x871be5,threadId:_0x281f0b})=>{const _0x447c66=await this['_getService'](_0x871be5)['resolveCommentThread'](_0x281f0b)['catch'](f)['catch'](dt);return{'threadId':_0x447c66['commentThreadId'],'resolvedAt':_0x447c66['resolvedAt'],'resolvedBy':_0x447c66['resolvedBy']};},'reopenCommentThread':async({channelId:_0x28da26,threadId:_0x57f5b3})=>this['_getService'](_0x28da26)['reopenCommentThread'](_0x57f5b3)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0xfa792f,threadId:_0x2903ec})=>this['_getService'](_0xfa792f)['removeCommentThread'](_0x2903ec)['catch'](f)['catch'](dt),'addComment':({channelId:_0x3ff214,threadId:_0x134700,commentId:_0x2a1f4c,content:_0x373136,attributes:_0x476648})=>this['_getService'](_0x3ff214)['addComment'](_0x134700,_0x2a1f4c,_0x373136,_0x476648)['catch'](dt),'updateComment':({channelId:_0x5d1950,threadId:_0x5d6ecd,commentId:_0x2e5588,content:_0x392f20,attributes:_0x5ee08c})=>this['_getService'](_0x5d1950)['updateComment'](_0x5d6ecd,_0x2e5588,_0x392f20,_0x5ee08c)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x57815d,threadId:_0x22a076,commentId:_0x439f5e})=>this['_getService'](_0x57815d)['removeComment'](_0x22a076,_0x439f5e)['catch'](f)['catch'](dt)},_0x8ac3f0 instanceof _0x4e6aab){const _0x9d8d73=_0x8ac3f0['config']['get']('collaboration.channelId'),_0x59c6f8=_0x8ac3f0['plugins']['get'](i);await this['_setUpService'](_0x9d8d73);const _0x5e0bf9=await this['_services']['get'](_0x9d8d73)['getConnectedSessions']();this['listenTo'](_0x59c6f8,'sessionAdd:'+_0x9d8d73,(_0x3ebb4b,{session:_0x2f0e99})=>{_0x2f0e99['id']===_0x59c6f8['mySessionId']&&(_0x3ebb4b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2f0e99['permissions'],_0x9d8d73));}),_0x59c6f8['register'](_0x9d8d73,_0x5e0bf9);}}async['_setUpService'](_0x4adcca){if(this['_services']['has'](_0x4adcca))throw new _0x35802a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4adcca});const _0x502a07=this['context']['plugins']['get']('CommentsRepository'),_0x11206f=new s['CommentsService'](_0x4adcca);this['_services']['set'](_0x4adcca,_0x11206f),this['listenTo'](_0x11206f,'commentThreadAdded',(_0x4ef039,_0x268d22)=>{const {commentThreadId:_0x579d79,documentId:_0x7672ac,context:_0x45d44a,attributes:_0x509d29,resolvedAt:_0x1dfe16,resolvedBy:_0x1e4804,comments:_0x1bc67c}=_0x268d22;_0x502a07['getCommentThread'](_0x579d79)||_0x502a07['addCommentThread']({'threadId':_0x579d79,'channelId':_0x7672ac,'comments':_0x1bc67c?_0x1bc67c['map'](p):[],'context':_0x45d44a,'attributes':_0x509d29,'resolvedAt':_0x1dfe16,'resolvedBy':_0x1e4804,'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadUpdated',(_0x2110de,{commentThreadId:_0x351be2,documentId:_0x37cab5,context:_0x3af661,unlinkedAt:_0x1b1c7c,attributes:_0x21dff3})=>{_0x502a07['getCommentThread'](_0x351be2)&&_0x502a07['updateCommentThread']({'threadId':_0x351be2,'channelId':_0x37cab5,'context':_0x3af661,'unlinkedAt':_0x1b1c7c,'attributes':_0x21dff3,'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadResolved',(_0x5d7275,{commentThreadId:_0x500052,resolvedBy:_0xd945f0,resolvedAt:_0x3332eb})=>{const _0x576fc8=_0x502a07['getCommentThread'](_0x500052);_0x576fc8&&_0x576fc8['resolve']({'resolvedBy':_0xd945f0,'resolvedAt':_0x3332eb,'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadReopened',(_0x553153,{commentThreadId:_0x223a2e})=>{const _0x5eb7b9=_0x502a07['getCommentThread'](_0x223a2e);_0x5eb7b9&&_0x5eb7b9['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadRemoved',(_0x53e62e,{commentThreadId:_0x26332a})=>{const _0x41dd7f=_0x502a07['getCommentThread'](_0x26332a);_0x41dd7f&&_0x41dd7f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentAdded',(_0x841939,_0x504a01)=>{const _0x7ae7bb=_0x504a01['commentThreadId'],_0x5989fc=_0x502a07['getCommentThread'](_0x7ae7bb);_0x5989fc&&_0x5989fc['addComment']({...p(_0x504a01),'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentUpdated',(_0x11cf64,{commentThreadId:_0x1f5a91,commentId:_0xacea09,content:_0x22c7ad,attributes:_0x3c6e43})=>{const _0x28f251=_0x502a07['getCommentThread'](_0x1f5a91);if(_0x28f251){const _0x193593=_0x28f251['getComment'](_0xacea09);_0x193593&&_0x193593['update']({'content':_0x22c7ad,'attributes':_0x3c6e43,'isFromAdapter':!0x0});}}),this['listenTo'](_0x11206f,'commentRemoved',(_0xfd8c6,{commentThreadId:_0x2070ce,commentId:_0x5c5295})=>{const _0x5c2e41=_0x502a07['getCommentThread'](_0x2070ce);if(_0x5c2e41){const _0x2ae44f=_0x5c2e41['getComment'](_0x5c5295);_0x2ae44f&&_0x2ae44f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4adcca);}['destroy'](){if(this['context']instanceof _0x4e6aab){const _0x11afef=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x11afef);}}['_terminateService'](_0x2489a4){if(!this['_services']['has'](_0x2489a4))throw new _0x35802a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2489a4});this['_getService'](_0x2489a4)['disconnect'](),this['_services']['delete'](_0x2489a4);}async['reconnect'](){for(const _0x39854a of this['_services']['keys']())await this['_connectService'](_0x39854a);if(this['context']instanceof _0x4e6aab){const _0x3f21c8=this['context']['config']['get']('collaboration.channelId'),_0x30e19d=this['context']['plugins']['get'](i);_0x30e19d['unregister'](_0x3f21c8);const _0x3f03c4=await this['_services']['get'](_0x3f21c8)['getConnectedSessions']();_0x30e19d['register'](_0x3f21c8,_0x3f03c4);}}async['_connectService'](_0x508a57){const {connection:_0x2d15cf}=this['context']['plugins']['get'](n),_0x229e80=this['context']['plugins']['get']('CommentsRepository'),_0x27bde1=this['_services']['get'](_0x508a57),_0x46f792=await _0x27bde1['connect'](_0x2d15cf);await this['_fetchMissingUsersForThreads'](_0x46f792);const _0x648c49=new Set(Array['from'](_0x229e80['getCommentThreads']({'channelId':_0x508a57}),_0x141370=>_0x141370['id']));for(const _0x5684d9 of _0x46f792)_0x5684d9['deletedAt']||_0x648c49['delete'](_0x5684d9['commentThreadId']);for(const _0x5db42c of _0x648c49)_0x229e80['getCommentThread'](_0x5db42c)['remove']({'isFromAdapter':!0x0});for(const _0x561f81 of _0x46f792){let _0x5df74b=_0x229e80['getCommentThread'](_0x561f81['commentThreadId']);const {commentThreadId:_0x34e53b,context:_0x5b6dde,attributes:_0x175a45,resolvedBy:_0x579d65,resolvedAt:_0x16479f,unlinkedAt:_0x5c1722,deletedAt:_0x3d47f8}=_0x561f81;if(_0x3d47f8)continue;_0x5df74b||(_0x5df74b=_0x229e80['addCommentThread']({'channelId':_0x508a57,'threadId':_0x34e53b,'context':_0x5b6dde,'attributes':_0x175a45||{},'resolvedBy':_0x579d65,'resolvedAt':_0x16479f,'unlinkedAt':_0x5c1722,'isFromAdapter':!0x0}));const _0x422ad0=new Set(Array['from'](_0x5df74b['comments'],_0x256212=>_0x256212['id']));for(const _0x3c1e67 of _0x561f81['comments'])_0x422ad0['delete'](_0x3c1e67['commentId']);for(const _0x579067 of _0x422ad0)_0x5df74b['getComment'](_0x579067)['remove']({'isFromAdapter':!0x0});for(const _0x37e534 of _0x561f81['comments']){const _0x3d3b65=_0x5df74b['getComment'](_0x37e534['commentId']);_0x3d3b65?_0x3d3b65['content']!==_0x37e534['content']&&_0x3d3b65['update']({'content':_0x37e534['content'],'isFromAdapter':!0x0}):_0x5df74b['addComment'](Object['assign'](p(_0x37e534),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2d3057){if(!this['_services']['has'](_0x2d3057))throw new _0x35802a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2d3057});return this['_services']['get'](_0x2d3057);}async['_fetchMissingUsersForThreads'](_0x1d682d){const _0x4db5de=this['context']['plugins']['get'](_0x3e2273),{connection:_0x7a960}=this['context']['plugins']['get'](n),_0x598647=new Set();for(const {resolvedBy:_0x3e60f6,comments:_0x235b1e}of _0x1d682d){_0x3e60f6&&!_0x4db5de['getUser'](_0x3e60f6)&&_0x598647['add'](_0x3e60f6);for(const {userId:_0x42ef8d}of _0x235b1e)_0x4db5de['getUser'](_0x42ef8d)||_0x598647['add'](_0x42ef8d);}if(0x0===_0x598647['size'])return;const _0x1d9e26=await lt['getMany'](_0x7a960,Array['from'](_0x598647));for(const _0x510ead of _0x1d9e26)_0x4db5de['getUser'](_0x510ead['id'])||_0x4db5de['addUser'](_0x510ead);}}async function f(_0x45070b){if('404'!==_0x45070b['code'])throw _0x45070b;}function dt(_0x23d3b4){if((_0x43db4e=_0x23d3b4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x43db4e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x43db4e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x43db4e;throw _0x23d3b4;}function p(_0x14fa79){return{'threadId':_0x14fa79['commentThreadId'],'commentId':_0x14fa79['commentId'],'content':_0x14fa79['content'],'createdAt':_0x14fa79['createdAt'],'authorId':_0x14fa79['userId'],'attributes':_0x14fa79['attributes']||{}};}class m extends _0x5d7a9a{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b81d1){super(_0x5b81d1);const _0x506020=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x506020);}['init'](){const _0x1bc990=this['editor']['plugins']['get'](n),_0x237983=this['editor']['plugins']['get']('TrackChangesEditing');return _0x237983['adapter']={'getSuggestion':async _0x525a4c=>{await this['_waitForServiceReady']();const _0x3897ac=await this['_trackChangesService']['get'](_0x525a4c)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x3897ac]),_0x3897ac;},'addSuggestion':async({id:_0x42c549,type:_0x128f43,data:_0x54a06a,originalSuggestionId:_0x2f1a80,attributes:_0x237d38})=>{await this['_waitForServiceReady']();const _0x1abc56={'id':_0x42c549,'type':_0x128f43,'data':_0x54a06a,'originalSuggestionId':_0x2f1a80,'attributes':_0x237d38},_0x3a3e91=await this['_trackChangesService']['add'](_0x42c549,_0x128f43,_0x54a06a,_0x2f1a80,_0x237d38)['catch'](_0x216d39=>{if(ut(_0x216d39))return new Promise(_0x44f87b=>{this['_bufferedRequests']['set'](_0x42c549,{'resolve':_0x44f87b,'suggestionData':_0x1abc56});});throw _0x216d39;});return this['_bufferedRequests']['delete'](_0x42c549),_0x3a3e91;},'updateSuggestion':async(_0x375467,_0x5a21bf)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5a21bf['state'])return this['_trackChangesService']['update'](_0x375467,_0x5a21bf)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x11b205,_0x40313a)=>{_0x237983['hasSuggestion'](_0x40313a['id'])&&(_0x237983['getSuggestion'](_0x40313a['id'])['attributes']=_0x40313a['attributes']);}),this['_trackChangesService']['connect'](_0x1bc990['connection'])['then'](_0x5511a8=>(_0x1bc990['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5511a8)['then'](()=>{for(const _0x4f2c51 of _0x5511a8){_0x237983['addSuggestionData'](_0x4f2c51)['_saved']=!0x0;}})));}async['reconnect'](){const _0x284fd7=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1d3b1b}=this['editor']['plugins']['get'](n),_0x1562b4=await this['_trackChangesService']['connect'](_0x1d3b1b);await this['_fetchMissingUsersForThreads'](_0x1562b4);for(const {suggestionData:_0x19d0c2,resolve:_0xec9c6f}of this['_bufferedRequests']['values']()){let _0x3f22d3=_0x1562b4['find'](_0x593982=>_0x593982['id']===_0x19d0c2['id']);_0x3f22d3||(_0x3f22d3=await this['_trackChangesService']['add'](_0x19d0c2['id'],_0x19d0c2['type'],_0x19d0c2['data'],_0x19d0c2['originalSuggestionId'])),_0xec9c6f(_0x3f22d3);}for(const _0x56f094 of _0x1562b4)_0x284fd7['hasSuggestion'](_0x56f094['id'])||_0x284fd7['addSuggestionData'](_0x56f094);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5d7249=>{this['listenTo'](this['_trackChangesService'],'connected',_0x6a860b=>{_0x6a860b['off'](),_0x5d7249();});});}async['_fetchMissingUsersForThreads'](_0xbbf58b){const _0x12c2ab=this['editor']['plugins']['get'](_0x3e2273),{connection:_0x14c640}=this['editor']['plugins']['get'](n),_0x50c6=new Set();for(const {authorId:_0x30e593}of _0xbbf58b)_0x12c2ab['getUser'](_0x30e593)||_0x50c6['add'](_0x30e593);if(0x0===_0x50c6['size'])return;const _0x380fed=await lt['getMany'](_0x14c640,Array['from'](_0x50c6));for(const _0x18527d of _0x380fed)_0x12c2ab['getUser'](_0x18527d['id'])||_0x12c2ab['addUser'](_0x18527d);}}function A(_0x5bf507){if(ut(_0x5bf507))return new Promise(()=>{});throw _0x5bf507;}function ut(_0xf6c8d3){return _0xf6c8d3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xf6c8d3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5d7a9a{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 _0x5d3491=this['editor']['plugins']['get'](n),_0x1af4ff=this['editor']['plugins']['get']('CommentsEditing'),_0x246459=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5d3491,'change:state',(_0x77acaf,_0x1e8cb6,_0x12154c)=>{_0x1af4ff['isThreadsLoadingPaused']='connected'!==_0x12154c;});}),this['listenTo'](_0x5d3491,'change:state',(_0x566472,_0x3d4ad1,_0x4dcfaa)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4dcfaa);}),_0x246459['_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 _0x5d7a9a{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 _0x5d7a9a{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x3e2273];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x14029a){super(_0x14029a);const _0x33f6d1=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x33f6d1);}async['init'](){const _0x14d0c8=this['editor']['plugins']['get'](l),_0x12e10a=_0x14d0c8['serverHistory'],_0x2c1ed0=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x12e10a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x14d0c8['sessionId']});const _0x3a6751=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5c54fe=await tt['isBundleUploaded'](_0x2c1ed0['connection'],_0x3a6751);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x223016})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x223016)),'updateRevisions':async _0x14e1cc=>{await this['_waitForServiceReady']();const _0x1265ec=this['_revisionTracker']['currentRevision'];if(_0x5c54fe&&0x1===_0x14e1cc['length']&&_0x14e1cc[0x0]['id']===_0x1265ec['id'])return _0x14e1cc;for(const _0x49baaf of _0x14e1cc)_0x49baaf['id']===_0x1265ec['id']&&(_0x49baaf['isEmptyCurrent']=_0x49baaf['fromVersion']===_0x49baaf['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x14e1cc,this['_lastRequestId'])['then'](_0x46f96b=>(this['_lastRequestId']=_0x46f96b,_0x14e1cc))['catch'](_0xc9a05d=>{if(st(_0xc9a05d)||'400'===_0xc9a05d['code']&&void 0x0!==_0xc9a05d['data']['wrongRequestId']){for(const _0x322531 of _0x14e1cc){!this['_revisionTracker']['repository']['getRevision'](_0x322531['id'])||this['_revisionTracker']['_bufferUpdate'](_0x322531['id'],_0x322531,!0x1);}if(st(_0xc9a05d))throw _0xc9a05d;return _0x14e1cc;}throw _0xc9a05d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2939ba,{revisionsData:_0x2a5fcc,requestId:_0x5b2e1a})=>{Math['max'](..._0x2a5fcc['map'](_0x462153=>_0x462153['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2a5fcc,_0x5b2e1a);}):this['_handleRevisionsUpdate'](_0x2a5fcc,_0x5b2e1a);});const {revisions:_0x1f183a,requestId:_0xa05ee6}=await this['_revisionHistoryService']['connect'](_0x2c1ed0['connection']);_0x2c1ed0['addToReconnectionStack'](this),this['_lastRequestId']=_0xa05ee6,await this['_fetchMissingUsers'](_0x1f183a);for(const _0x1916c0 of _0x1f183a)this['_revisionTracker']['addRevisionData'](_0x1916c0);this['listenTo'](_0x14d0c8,'change:_isConnected',(_0x288ad7,_0x30eca9,_0x8321fa)=>{_0x8321fa&&(this['_oldOffset']=_0x14d0c8['_offset'],_0x288ad7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c1ed0,'state',_0x6960e0=>_0x6960e0===te['CONNECTED']);}async['reconnect'](){const _0x47af8c=this['editor']['plugins']['get'](n),_0x553092=this['editor']['plugins']['get'](l),_0x93dd6a=async()=>{const _0x49ca24=this['_revisionTracker']['currentRevision'],_0x30ec22=_0x49ca24['id'],_0x4d4b88=_0x30ec22!==_0x553092['sessionId'];if(_0x4d4b88){const _0x489fa9=_0x553092['_offset']-this['_oldOffset'],_0x59c4e3=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x49ca24['toVersion']+_0x489fa9!==_0x59c4e3){const _0x2f3f5c=_0x49ca24['fromVersion']+_0x489fa9,_0x224333=this['editor']['plugins']['get'](_0x3e2273),_0x4bdbc3=this['_revisionTracker']['buildRevisionData']({'revision':_0x49ca24,'from':_0x2f3f5c,'to':_0x59c4e3});_0x4bdbc3['id']=_0x49ca24['id'];const _0x5312dc=_0x4bdbc3['authorsIds']['map'](_0x8aba3e=>_0x224333['getUser'](_0x8aba3e));_0x49ca24['_update']({..._0x4bdbc3,'authors':_0x5312dc},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x49ca24['id'],_0x4bdbc3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x59c4e3,(_0x49ca24['toVersion']===_0x49ca24['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x30ec22)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x30ec22),this['_revisionTracker']['_createCurrentRevision'](_0x59c4e3));}const {revisions:_0x160419,requestId:_0x5bdca1}=await this['_revisionHistoryService']['reconnect'](_0x47af8c['connection'],this['_lastRequestId']);_0x4d4b88&&_0x160419['length']>0x0?_0x553092['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x160419),this['_handleRevisionsUpdate'](_0x160419,_0x5bdca1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x553092['_isConnected']?_0x93dd6a():new Promise((_0x35aa7f,_0x4127d8)=>{_0x553092['once']('change:_isConnected',()=>{_0x93dd6a()['then'](_0x35aa7f)['catch'](_0x4127d8);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4ef6bd=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4b0798=>{_0x4b0798['off'](),_0x4ef6bd();});});}['_getLatestVersionFromServerOperations'](){const _0x3bac5f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x161f45 of _0x3bac5f)if('marker'!==_0x161f45['type']||_0x161f45['affectsData'])return _0x161f45['baseVersion']+0x1;}['_getLatestVersion'](){const _0x615692=this['editor']['plugins']['get'](l);return new Promise(_0x479c0f=>{_0x615692['_isPendingUpdate']?_0x615692['once']('change:_isPendingUpdate',()=>{_0x479c0f(this['_getLatestVersionFromServerOperations']());}):_0x479c0f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5c2e3e,_0x3fc354){const _0x162ea4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3fc354;for(const _0xe1a2ef of _0x5c2e3e){const _0x2e5a8c=_0x162ea4['getRevision'](_0xe1a2ef['id']);if(_0x2e5a8c){if((_0xe1a2ef['fromVersion']||_0xe1a2ef['toVersion'])&&(_0xe1a2ef['diffData']=null),_0x2e5a8c===this['_revisionTracker']['currentRevision']){const _0xf90c8d=Math['max'](_0x2e5a8c['toVersion'],_0xe1a2ef['toVersion']),_0x3048bb=Math['max'](_0x2e5a8c['fromVersion'],_0xe1a2ef['fromVersion']);let _0x104cc4;_0x2e5a8c['toVersion']===_0xe1a2ef['toVersion']&&_0x2e5a8c['fromVersion']===_0xe1a2ef['fromVersion']?(_0x104cc4=!0x0,this['_preventResendingRevisionData'](_0xe1a2ef)):_0xe1a2ef['toVersion']===_0xf90c8d&&_0xe1a2ef['fromVersion']===_0x3048bb?_0x104cc4=!0x1:(_0x2e5a8c['toVersion']===_0xf90c8d&&_0x2e5a8c['fromVersion']===_0x3048bb||this['_fixRevision']({'revision':_0x2e5a8c,'from':_0x3048bb,'to':_0xf90c8d}),_0x104cc4=!0x0),_0x104cc4&&(delete _0xe1a2ef['fromVersion'],delete _0xe1a2ef['toVersion'],delete _0xe1a2ef['diffData'],delete _0xe1a2ef['createdAt'],delete _0xe1a2ef['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xe1a2ef),this['_preventResendingRevisionData'](_0xe1a2ef);}else this['_revisionTracker']['addRevisionData'](_0xe1a2ef);}const _0x1de591=_0x162ea4['getRevisions']();_0x1de591['reverse']();for(let _0xb6e20a=0x0;_0xb6e20a<_0x1de591['length']-0x1;_0xb6e20a++){const _0x1173b0=_0x1de591[_0xb6e20a],_0x4d19d3=_0x1de591[_0xb6e20a+0x1];if(_0x1173b0['fromVersion']<_0x4d19d3['toVersion']){const _0x5cf65b=_0x4d19d3['toVersion'],_0xa43076=Math['max'](_0x5cf65b,_0x1173b0['toVersion']);this['_fixRevision']({'revision':_0x1173b0,'from':_0x5cf65b,'to':_0xa43076});}}}['_fixRevision']({revision:_0x19de22,from:_0x25ec11,to:_0x470716}={}){const _0x3755a7=this['editor']['plugins']['get'](_0x3e2273),_0x576fdd=this['_revisionTracker']['buildRevisionData']({'revision':_0x19de22,'from':_0x25ec11,'to':_0x470716});_0x576fdd['authors']=_0x576fdd['authorsIds']['map'](_0x391137=>_0x3755a7['getUser'](_0x391137)),_0x19de22['_update'](_0x576fdd);}['_preventResendingRevisionData'](_0x43189e){const _0x5dd6e2={};_0x5dd6e2['id']=_0x43189e['id'];for(const _0x45373d of Object['keys'](_0x43189e))'id'!==_0x45373d&&(_0x5dd6e2[_0x45373d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5dd6e2['id'],_0x5dd6e2,!0x0);}async['_fetchMissingUsers'](_0xf451a9){const _0xdf5a8f=this['editor']['plugins']['get'](_0x3e2273),{connection:_0x19601f}=this['editor']['plugins']['get'](n),_0x5cb420=new Set();for(const _0x2d14bd of _0xf451a9){for(const _0x5c60fa of _0x2d14bd['authorsIds'])_0x1bc9fc(_0x5c60fa);_0x2d14bd['creatorId']&&_0x1bc9fc(_0x2d14bd['creatorId']);}if(0x0===_0x5cb420['size'])return;const _0x5014ab=await lt['getMany'](_0x19601f,Array['from'](_0x5cb420));for(const _0x186955 of _0x5014ab)_0xdf5a8f['getUser'](_0x186955['id'])||_0xdf5a8f['addUser'](_0x186955);function _0x1bc9fc(_0x4014b5){_0xdf5a8f['getUser'](_0x4014b5)||_0x5cb420['add'](_0x4014b5);}}}function st(_0x4e7703){return _0x4e7703['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4e7703['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4e7703['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x5d7a9a{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 _0x2954d9{['_collapseAt'];constructor(_0x45a885,_0x210bd4=0x6){super(_0x45a885);const _0x5c0bc4=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x210bd4,this['bind']('isHidden')['to'](this,'usersCount',_0x556a4b=>_0x556a4b<_0x210bd4),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5c0bc4['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':_0x5c0bc4['to']('usersCount',_0x1c6e1c=>'+'+(_0x1c6e1c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2954d9{['items'];['keystrokes'];constructor(_0x45647c){super(_0x45647c);const _0x590575=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x20a768(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x590575['if']('hasPopup'),'aria-expanded':_0x590575['to']('isExpanded',_0x516ce1=>this['hasPopup']&&String(_0x516ce1)),'aria-label':_0x590575['to']('hasPopup',_0x2703b0=>W(_0x45647c,_0x2703b0?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x590575['to']('hasPopup',_0x20c12a=>!!_0x20c12a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x590575['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x590575['to'](_0xbe317a=>{const _0x294148=_0xbe317a,_0x4c7496=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5d2535=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4c7496?.['contains'](_0x294148['relatedTarget'])||_0x5d2535?.['contains'](_0x294148['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1a2aba,_0x34ed14,_0x3c56b8)=>{this['element']&&(_0x3c56b8?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 _0x2954d9{['counterView'];['inlineListView'];constructor(_0xf7863a,_0x259b2e=0x6){super(_0xf7863a);const _0x47fbe2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x259b2e),this['inlineListView']=new is(_0xf7863a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1d55a3 of this['inlineListView']['items'])_0x1d55a3['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',_0x47fbe2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x2954d9{['listWrapperView'];constructor(_0x271511,_0x56cac7){super(_0x271511);const _0x4df819=this['bindTemplate'];this['listWrapperView']=new pt(_0x271511,_0x56cac7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x271511,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4df819['to'](_0x196fa8=>{const _0xd9b10c=_0x196fa8,_0x1bb145=document['querySelector']('.ck-presence-list__list'),_0x20559f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1bb145?.['contains'](_0xd9b10c['relatedTarget'])||_0x20559f?.['contains'](_0xd9b10c['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x37654a{constructor(_0x1849cc,_0x4fedc0){super(_0x1849cc);const _0x631f1c=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4fedc0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x631f1c['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x631f1c['to']('role'),'aria-label':_0x631f1c['to']('ariaLabel'),'aria-labelledby':_0x631f1c['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x21ea8d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2b0412=this['element'];_0x2b0412&&(this['_isScrollable']=Math['max'](_0x2b0412['scrollHeight'],_0x2b0412['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x2e7080,_0x596a17,_0x2b6387){super(_0x2e7080);const _0x46039d=this['bindTemplate'];this['userView']=new ct(_0x2e7080,_0x596a17);const _0x5c2514={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x596a17['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x596a17['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x596a17['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2b6387&&(_0x5c2514['tag']='button',_0x5c2514['on']={'click':_0x46039d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5c2514);}['focus'](){this['element']['focus']();}}class _ extends _0x2954d9{['userView'];['markerView'];constructor(_0x1c2792,_0x4546f6,_0x5d3a13){super(_0x1c2792);const _0x29b973=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x1c2792,_0x4546f6),this['markerView']=new at(_0x1c2792,_0x4546f6);const _0x500e0b=new ot(_0x1c2792);_0x500e0b['template']['tag']='span',_0x500e0b['text']=_0x4546f6['name'];const _0x42e6d4={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x29b973['to']('isFocusable',_0x146783=>!!_0x146783&&0x0),'aria-labelledby':_0x500e0b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x29b973['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x29b973['to']('hasTooltip',_0x59f5b8=>!_0x59f5b8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x500e0b]};_0x5d3a13&&(_0x42e6d4['tag']='button',_0x42e6d4['on']={'click':_0x29b973['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x42e6d4);}}class at extends _0x2954d9{constructor(_0x7f5549,_0x27f7ff){super(_0x7f5549),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x27f7ff['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1f2484{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x448b9b){super(_0x448b9b),this['context']['config']['define']('presenceList',U);const _0x4a01a1=_0x448b9b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4a01a1)throw new _0x35802a('presencelist-collapseat-invalid-format',this);if(_0x4a01a1<0x1)throw new _0x35802a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c8b82(),this['balloonPanelView']=new _0x86a71d(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x79985d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x79985d);this['listenTo'](this['_allConnectedUsers'],'add',(_0xd92b70,_0x122ea0)=>{this['_handleUserAdd'](_0x122ea0);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x17f8c5,_0x145786)=>{this['_handleUserRemove'](_0x145786);});}['_createView'](){const _0x4cf58f=this['context'],_0x203890=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x202d59=this['balloonPanelView'];if(!_0x48fa4b(_0x4cf58f['config']['get']('presenceList.container')))throw new _0x35802a('presencelist-missing-container',this);return _0x203890['counterView']['bind']('usersCount')['to'](this),_0x203890['bind']('isCollapsed')['to'](this,'usersCount',_0x192f21=>{const {collapseAt:_0x5ceaeb}=_0x4cf58f['config']['get']('presenceList'),_0x41b7e5=_0x192f21>=_0x5ceaeb;if(_0x41b7e5&&!_0x203890['inlineListView']['items']['find'](_0x2d425e=>_0x2d425e instanceof y)){const _0x50a626=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x50a626&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x203890['inlineListView']['items']['add'](_0x203890['counterView']);}return _0x41b7e5||this['hideDropdown'](),_0x41b7e5;}),_0x203890['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x31e5f5=>{const _0x2bd81e=_0x4cf58f['config']['get']('presenceList'),_0x27cb4a=new _(_0x4cf58f['locale'],_0x31e5f5,!!_0x2bd81e['onClick']);return _0x27cb4a['bind']('hasTooltip')['to'](_0x203890,'isCollapsed',_0x7ed8d=>!_0x7ed8d),_0x27cb4a['bind']('isFocusable')['to'](_0x203890,'isCollapsed',_0x4f2fe1=>!_0x4f2fe1),_0x2bd81e['onClick']&&this['listenTo'](_0x27cb4a,'execute',()=>{this['view']['isCollapsed']||_0x2bd81e['onClick'](_0x31e5f5,_0x27cb4a['element']);}),_0x27cb4a;}),this['listenTo'](_0x203890['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x203890['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x203890['inlineListView']['keystrokes']['set']('Enter',(_0x198318,_0x46c4e3)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x46c4e3());}),_0x203890['render'](),_0x202d59['render'](),_0x1d0768({'emitter':_0x203890,'activator':()=>_0x202d59['isVisible'],'contextElements':[_0x202d59['element'],_0x203890['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4cf58f['config']['get']('presenceList.container')['appendChild'](_0x203890['element']),this['_bodyCollection']=new _0x3ae509(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x203890;}['_handleUserAdd'](_0x32e2fe){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x32e2fe['isMe'])return;const _0x51f6c8=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x51f6c8-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4a58fb=_0x32e2fe['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x32e2fe,_0x4a58fb);}['_handleUserRemove'](_0x14162a){this['usersCount']--;const {collapseAt:_0x55ebad}=this['context']['config']['get']('presenceList'),_0x3056fb=this['usersCount']>=_0x55ebad;if(this['currentDisplayedUsers']['get'](_0x14162a['id']))this['currentDisplayedUsers']['remove'](_0x14162a['id']);else{if(_0x3056fb&&this['currentDisplayedUsers']['length']+0x1===_0x55ebad-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3056fb?0x1:0x0)<this['usersCount']){for(const _0x3e50a3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3e50a3['id'])&&(this['currentDisplayedUsers']['add'](_0x3e50a3,Math['min'](this['currentDisplayedUsers']['length']-(_0x3056fb?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3056fb?0x1:0x0)===_0x55ebad-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x7a0dfd=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x7a0dfd['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5e6b92}=this['presenceDropdownView'];_0x5e6b92['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1ab9c9=>{if(!_0x7a0dfd['displayMe']&&_0x1ab9c9['isMe'])return null;const _0x371d43=new P(this['context']['locale'],_0x1ab9c9,!!_0x7a0dfd['onClick']);return _0x7a0dfd['onClick']&&this['listenTo'](_0x371d43,'execute',()=>{_0x7a0dfd['onClick'](_0x1ab9c9,_0x371d43['element']);}),_0x371d43;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5e6b92['focus'](),_0x5e6b92['checkIfScrollable']();const _0x65f49c=(_0x5b9b47,_0x48c01e)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x48c01e();};_0x5e6b92['keystrokes']['set']('Esc',_0x65f49c),_0x5e6b92['keystrokes']['set']('Shift+Tab',_0x65f49c),_0x5e6b92['keystrokes']['set']('Tab',(_0x69f325,_0x22ba8b)=>{!function(_0x356639){const _0x812dbc=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x402376=>_0x402376+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xb5b7f2=[...document['body']['querySelectorAll'](_0x812dbc)]['filter'](_0x531211=>_0x531211===document['activeElement']||_0x531211['offsetWidth']+_0x531211['offsetHeight']>0x0)['sort']((_0x49aeeb,_0x27c8cc)=>(_0x49aeeb['tabIndex']||0x0)-(_0x27c8cc['tabIndex']||0x0)),_0x253ace=_0xb5b7f2['indexOf'](_0x356639),_0x2ef31e=_0xb5b7f2[(_0x253ace+0x1)%_0xb5b7f2['length']];_0x2ef31e&&_0x2ef31e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x22ba8b();}),_0x5e6b92['focusTracker']['add'](this['view']['element']),_0x5e6b92['focusTracker']['on']('change:isFocused',(_0x333d4d,_0x57100a,_0x45360b)=>{_0x45360b||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 _0x1f2484{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x558e27,Plugin as _0x374ea5,PendingActions as _0x59dc9e,Context as _0x246a29}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x310e36,CKEditorError as _0x41a852,Collection as _0x294023,global as _0x3cf216,version as nt,uid as _0x4c1ce3,KeystrokeHandler as _0x4bff21}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x209dbd,View as _0x379f83,ListView as _0x2ae42c,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xda1005,clickOutsideHandler as _0x170790,BodyCollection as _0xbf9b25}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x5cdc76,History as _0x35b00e,NoOperation as _0x242f8d,InsertOperation as _0x318272,MarkerOperation as _0x33bbe4,RootAttributeOperation as _0x54f1e4,transformOperationSets as _0xde98c3,OperationFactory as _0x50e2c6}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0xa6fb2f,User as lt,CommentsService as _0x5ba6a8,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x287641,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x55381b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x5a6ee3}from'es-toolkit/compat';class n extends _0x558e27{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x209dbd];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1673a0){super(_0x1673a0),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x310e36())();}['init'](){const _0x421f27=this['context'],_0x23f119=_0x421f27['plugins']['get']('CloudServices'),_0x418b2b=_0x421f27['plugins']['get'](_0x209dbd);if(!_0x23f119['token'])throw new _0x41a852('websocketgateway-missing-token',this);if(!_0x23f119['webSocketUrl'])throw new _0x41a852('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'](_0x23f119['token'],_0x23f119['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x477218=>{if(this['connection']=_0x477218,this['bind']('state')['to'](_0x477218,'state',this,'_isBrowserOffline',(_0x1a67c9,_0xeeabeb)=>('connected'!==_0x1a67c9&&(this['_shouldPluginsReconnect']=!0x0),_0xeeabeb||_0x1a67c9!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x1b536e,_0x20cf7e)=>{if('limitExceeded'!==_0x20cf7e['code'])throw console['error'](_0x20cf7e),new _0x41a852('cloudservices-init',null,{'originalError':_0x20cf7e});_0x418b2b['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'});}),!_0x477218['me'])return new Promise(_0x34c219=>_0x477218['on']('change:me',_0x34c219));})['catch'](_0x4142d4=>{throw console['error'](_0x4142d4),new _0x41a852('cloudservices-init',null,{'originalError':_0x4142d4});});}['addToReconnectionStack'](_0x328a1f){if('function'!=typeof _0x328a1f['reconnect'])throw new _0x41a852('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x328a1f))throw new _0x41a852('websocketgateway-plugin-already-registered',this,{'name':_0x328a1f['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x328a1f);}['removeFromReconnectionStack'](_0x5bbff5){this['_reconnectionStack']['delete'](_0x5bbff5);}['isInReconnectionStack'](_0x40e55a){return this['_reconnectionStack']['has'](_0x40e55a);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3491f8=>_0x3491f8['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x4b3edb=>{throw console['error'](_0x4b3edb),new _0x41a852('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 _0x558e27{['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,_0x287641];}constructor(_0x388d8d){super(_0x388d8d),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x294023(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x287641);}['init'](){const _0x65a8d0=this['context']['plugins']['get'](n);this['listenTo'](_0x65a8d0,'change:state',(_0x1f17be,_0xb22caa,_0x4fb461)=>{if('connected'!==_0x4fb461)this['channelSessions']['forEach'](_0x326e5a=>_0x326e5a['clear']()),this['channelConnectedUsers']['forEach'](_0x22add3=>_0x22add3['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xc45548,_0x3764e0]of this['_registeredSessions'])for(const _0x4d0aa9 of _0x3764e0)this['_handleSessionAdd'](_0xc45548,_0x4d0aa9);}}),this['_createUser'](_0x65a8d0['connection']['me'],!0x0);}['register'](_0x5bf990,_0x2e0d26){if(this['_registeredSessions']['has'](_0x5bf990))throw new _0x41a852('sessions-register-already-registered',null,{'channelId':_0x5bf990});this['_registeredSessions']['set'](_0x5bf990,_0x2e0d26),this['channelSessions']['set'](_0x5bf990,new _0x294023()),this['channelConnectedUsers']['set'](_0x5bf990,new _0x294023()),this['listenTo'](_0x2e0d26,'add',(_0x2c6f2c,_0x47276e)=>this['_handleSessionAdd'](_0x5bf990,_0x47276e)),this['listenTo'](_0x2e0d26,'remove',(_0x36549b,_0x7a1252)=>this['_handleSessionRemove'](_0x5bf990,_0x7a1252));for(const _0x2d112e of _0x2e0d26)this['_handleSessionAdd'](_0x5bf990,_0x2d112e);}['unregister'](_0x2a3fc1){if(!this['_registeredSessions']['has'](_0x2a3fc1))throw new _0x41a852('sessions-unregister-not-exist',null,{'channelId':_0x2a3fc1});const _0x3ff9bd=this['_registeredSessions']['get'](_0x2a3fc1);this['stopListening'](_0x3ff9bd);for(const _0x336603 of _0x3ff9bd)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2a3fc1,_0x336603);this['_registeredSessions']['delete'](_0x2a3fc1),this['channelSessions']['delete'](_0x2a3fc1),this['channelConnectedUsers']['delete'](_0x2a3fc1);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x236ec0){for(const _0x4d2d74 of this['channelSessions']['values']())for(const _0x4705be of _0x4d2d74)if(_0x4705be['id']===_0x236ec0)return _0x4705be['user'];}['getUserSessions'](_0x285c0b,_0x1a1859){const _0x3d942e=_0x1a1859?[this['channelSessions']['get'](_0x1a1859)]:this['channelSessions']['values'](),_0x264802=new Set();for(const _0x53a7ec of _0x3d942e)for(const _0x58cdc4 of _0x53a7ec)_0x58cdc4['user']['id']===_0x285c0b['id']&&_0x264802['add'](_0x58cdc4['id']);return _0x264802;}['getUserRole'](_0x57fe71){for(const _0x15116c of this['channelSessions']['values']())for(const _0x4107b7 of _0x15116c)if(_0x4107b7['user']===_0x57fe71)return _0x4107b7['role'];}['_handleSessionAdd'](_0x5323bd,_0x45eec9){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x52c767=_0x45eec9['user'],_0x26d665=this['_users']['getUser'](_0x52c767['id'])||this['_createUser'](_0x52c767),_0x39a718=Object['assign']({},_0x45eec9,{'user':_0x26d665});if(this['channelSessions']['get'](_0x5323bd)['add'](_0x39a718),!_0x52c767['hiddenInPresenceList']){const _0x174ce8=this['channelConnectedUsers']['get'](_0x5323bd);_0x174ce8['has'](_0x26d665['id'])||_0x174ce8['add'](_0x26d665),this['allConnectedUsers']['has'](_0x26d665['id'])||_0x52c767['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x26d665,_0x26d665['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5323bd,{'channelId':_0x5323bd,'session':_0x39a718});}['_handleSessionRemove'](_0x162197,_0x14dc7a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x13afa3=this['channelConnectedUsers']['get'](_0x162197),_0x44a60b=_0x14dc7a['user'];_0x44a60b['id']&&(this['channelSessions']['get'](_0x162197)['remove'](_0x14dc7a['id']),_0x13afa3['has'](_0x44a60b['id'])&&!this['getUserSessions'](_0x44a60b,_0x162197)['size']&&_0x13afa3['remove'](_0x44a60b['id']),this['allConnectedUsers']['get'](_0x44a60b['id'])&&!this['getUserSessions'](_0x44a60b)['size']&&this['allConnectedUsers']['remove'](_0x44a60b['id']));}['_createUser'](_0x458327,_0x10945b){const _0x5f31de=this['_users']['addUser'](_0x458327);return _0x10945b&&this['_users']['defineMe'](_0x458327['id']),_0x5f31de['orderNumber']=this['_uniqueUsersCount']++,_0x5f31de;}}class H extends _0x374ea5{['_domEmitter']=new(_0x310e36())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1ecb39=this['editor'],_0x410d6e=_0x1ecb39['plugins']['get'](i);_0x1ecb39['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3711ca,{writer:_0x22cb11})=>function(_0x4a501b,_0x39f9b1,_0x1b669d,_0x5a04ec){const _0x139433=_0x4a501b['markerName']['split'](':')[0x2],_0x52aeb9=_0x1b669d['getUserBySessionId'](_0x139433);if(!_0x52aeb9||_0x139433===_0x1b669d['mySessionId'])return;if(!_0x5a04ec['model']['schema']['checkChild'](_0x4a501b['markerRange']['start'],'$text'))return;const _0x4a7c7a={'class':'ck-user__marker\x20'+_0x52aeb9['color']['getMarkerClass'](),'data-name':_0x52aeb9['name'],'data-session-id':_0x139433},_0x2f37ea=_0x5a04ec['model']['markers']['get'](_0x4a501b['markerName']),_0x245c12=_0x2f37ea['getStart'](),_0x594171=_0x245c12['nodeAfter'],_0x28f624=_0x5a04ec['model']['schema'];if(_0x594171&&_0x28f624['isObject'](_0x594171)&&_0x28f624['isInline'](_0x594171)&&!_0x5a04ec['model']['markers']['get']('user:range:'+_0x139433)['getRange']()['isCollapsed'])return;const _0x5a84ad=_0x245c12['parent'];return _0x5a04ec['model']['schema']['isLimit'](_0x5a84ad)&&!_0x5a04ec['model']['hasContent'](_0x5a84ad)&&(_0x4a7c7a['contenteditable']=!0x1),function(_0x4b0cee,_0x5b943e,_0x2484ed){const _0x3a034d=_0x4b0cee['createUIElement']('span',_0x5b943e);return _0x4b0cee['setCustomProperty']('userPositionMarker',!0x0,_0x3a034d),_0x3a034d['render']=function(_0x114870){const _0xa26b3d=this['toDomElement'](_0x114870),_0x264102=document['createElement']('span');return _0x264102['classList']['add']('ck-user__marker-tooltip'),_0x264102['setAttribute']('contenteditable','false'),_0x264102['setAttribute']('spellcheck','false'),_0x264102['textContent']=_0x2484ed['name'],_0xa26b3d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x264102['outerHTML']+'⁠',_0xa26b3d['addEventListener']('mouseenter',()=>{_0xa26b3d['classList']['add']('ck-user__marker_hovered');}),_0xa26b3d['addEventListener']('mouseleave',()=>{_0xa26b3d['classList']['remove']('ck-user__marker_hovered');}),_0xa26b3d;},_0x3a034d['isSimilar']=function(_0x1e6f65){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1e6f65['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1e6f65['getAttribute']('data-session-id'));},_0x3a034d;}(_0x39f9b1,_0x4a7c7a,_0x52aeb9);}(_0x3711ca,_0x22cb11,_0x410d6e,_0x1ecb39)}),_0x1ecb39['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x514421=>function(_0x5608e5,_0x2e800d){const _0x20fba5=_0x5608e5['markerName']['split'](':')[0x2];if(_0x20fba5===_0x2e800d['mySessionId'])return null;const _0x146197=_0x2e800d['getUserBySessionId'](_0x20fba5);if(!_0x146197)return{'id':_0x20fba5,'classes':[]};return{'id':_0x20fba5,'classes':['ck-user__selection',_0x146197['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x20fba5},'priority':0x7d0+_0x146197['orderNumber']};}(_0x514421,_0x410d6e)}),function(_0xed9803){const _0x150782=_0xed9803['model'],_0x340678=new Map(),_0xc8f351=_0xed9803['plugins']['get'](i);_0x150782['markers']['on']('update:user:range',(_0x4caf96,_0x207230,_0x5e536a,_0xcdb7e3)=>{if(!_0xcdb7e3&&_0x340678['get'](_0x207230['name']))return _0x340678['get'](_0x207230['name'])['detach'](),void _0x340678['delete'](_0x207230['name']);const _0x45e5e7=_0x207230['name']['split'](':')[0x2];if(_0x45e5e7===_0xc8f351['mySessionId'])return;const _0x478332='user:position:'+_0x45e5e7;_0x150782['markers']['has'](_0x478332)&&_0xed9803['editing']['reconvertMarker'](_0x478332),_0x207230['on']('change:range',(_0x1bfe5f,_0x2a6047,_0x3ec9f9)=>{if('$graveyard'!=_0x2a6047['root']['rootName']&&'$graveyard'==_0x207230['getRange']()['root']['rootName']&&!_0x340678['has'](_0x207230['name'])){const _0x599c40=_0x150782['schema']['getNearestSelectionRange'](_0x3ec9f9['deletionPosition']);if(_0x599c40){const _0x3ba48f=_0x5cdc76['fromRange'](_0x599c40);_0x340678['set'](_0x207230['name'],_0x3ba48f),_0x3ba48f['on']('change:range',(_0x5cb760,_0x1d46c6,_0x5542d8)=>{if('$graveyard'==_0x3ba48f['root']['rootName']){const _0x191cf2=_0x150782['schema']['getNearestSelectionRange'](_0x5542d8['deletionPosition']);_0x191cf2?(_0x3ba48f['start']=_0x191cf2['start'],_0x3ba48f['end']=_0x191cf2['end']):(_0x340678['delete'](_0x207230['name']),_0x3ba48f['detach']());}});}}});}),_0x150782['document']['on']('change',()=>{_0x340678['size']>0x0&&_0x150782['enqueueChange']({'isUndoable':!0x1},_0x49be12=>{for(const [_0x923f75,_0x4269b5]of _0x340678)'$graveyard'==_0x150782['markers']['get'](_0x923f75)['getRange']()['root']['rootName']&&(Z(_0x923f75['split'](':')[0x2],_0x4269b5['toRange'](),_0x150782,_0x49be12),_0x4269b5['detach']());_0x340678['clear']();});});}(_0x1ecb39),this['_domEmitter']['listenTo'](_0x3cf216['document'],'keydown',(_0x36e25e,{key:_0x7a01f2})=>{'Escape'===_0x7a01f2&&function(_0xafbbee){_0xafbbee['editing']['view']['change'](_0x2a3897=>{for(const _0x31b431 of _0xafbbee['model']['markers']){if(!_0x31b431['name']['startsWith']('user:position'))continue;const _0x437b66=_0xafbbee['editing']['mapper']['markerNameToElements'](_0x31b431['name']);if(_0x437b66){for(const _0x240b37 of _0x437b66)_0x2a3897['removeClass']('ck-user__marker_hovered',_0x240b37);}}});}(_0x1ecb39);},{'useCapture':!0x0});}['afterInit'](){const _0x6c4953=this['editor'],_0xe29c49=_0x6c4953['commands']['get']('undo');_0xe29c49&&_0x6c4953['model']['on']('applyOperation',(_0x26f57e,_0x16329f)=>{const _0x6af61e=_0x16329f[0x0];if(!_0x6af61e['isDocumentOperation'])return;if('marker'!=_0x6af61e['type']||!_0x6af61e['name']['startsWith']('user:'))return;const _0x5eb1df=_0x6af61e['batch'];_0xe29c49['_createdBatches']['has'](_0x5eb1df)&&(_0x6af61e['newRange']=_0x6af61e['oldRange']?_0x6c4953['model']['createRange'](_0x6af61e['oldRange']['start'],_0x6af61e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3778ee=this['editor'],_0x18b16f=_0x3778ee['model']['document'],_0x46c53d=_0x3778ee['plugins']['get'](i);_0x3778ee['model']['enqueueChange']({'isUndoable':!0x1},_0x2c4827=>{const _0x2f84d9='user:range:'+_0x46c53d['mySessionId'],_0x5d609c='user:position:'+_0x46c53d['mySessionId'],_0x5de9b7=_0x3778ee['model']['markers']['has'](_0x2f84d9);_0x3778ee['editing']['view']['hasDomSelection']?Z(_0x46c53d['mySessionId'],_0x18b16f['selection']['getFirstRange'](),_0x3778ee['model'],_0x2c4827):_0x5de9b7&&(_0x2c4827['removeMarker'](_0x2f84d9),_0x2c4827['removeMarker'](_0x5d609c));});}}function Z(_0x3241ed,_0x3ff525,_0x286b1d,_0x3f7d78){const _0x180311='user:range:'+_0x3241ed,_0x5ef08b='user:position:'+_0x3241ed,_0x44b7a2=_0x3ff525['getContainedElement']();let _0x17628b=_0x3ff525['start'];if(_0x44b7a2&&_0x44b7a2['is']('element','tableCell')){const _0x206df1=function(_0x18b311,_0x7e93c7){for(const _0x54c906 of _0x18b311['getPositions']())if(_0x7e93c7['schema']['checkChild'](_0x54c906,'$text'))return _0x54c906;}(_0x3ff525,_0x286b1d);_0x206df1&&(_0x17628b=_0x206df1,_0x3ff525=_0x3f7d78['createRange'](_0x17628b));}const _0x524e6c=_0x3f7d78['createRange'](_0x17628b);_0x286b1d['markers']['has'](_0x180311)?(_0x3f7d78['updateMarker'](_0x180311,{'range':_0x3ff525}),_0x3f7d78['updateMarker'](_0x5ef08b,{'range':_0x524e6c})):(_0x3f7d78['addMarker'](_0x180311,{'range':_0x3ff525,'usingOperation':!0x0}),_0x3f7d78['addMarker'](_0x5ef08b,{'range':_0x524e6c,'usingOperation':!0x0}));}function V(_0x1ec9d1,_0x2bcdcd,_0x106d68){const _0x22f4fa=_0x1ec9d1['t'],t=_0x1ec9d1['t'];switch(_0x2bcdcd){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 _0x22f4fa({'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'},_0x106d68);default:return'';}}let G=0x1;class l extends _0x374ea5{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xa6fb2f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x59dc9e,_0x287641,_0x209dbd];}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 _0x4d7795=this['serverHistory']['getOperations']();for(let _0x4ddc6c=_0x4d7795['length']-0x1;_0x4ddc6c>=0x0;_0x4ddc6c--){const _0x3ea3d2=_0x4d7795[_0x4ddc6c];if(!this['_disconnectionOperations']['has'](_0x3ea3d2))return _0x3ea3d2['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5a2c20){if(super(_0x5a2c20),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x35b00e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x41a852('collaboration-missing-channelid',this);const _0x839722=_0x5a2c20['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x839722,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x55381b(),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 _0x3e5d5d=this['editor'],_0x2de55a=_0x3e5d5d['plugins']['get'](_0x287641),_0x3c3173=_0x3e5d5d['plugins']['get'](n);this['listenTo'](_0x2de55a,'getOperationAuthor',(_0x1c7e2b,_0x2fecce)=>{const _0x513c73=_0x2fecce[0x0];_0x513c73['_authorId']&&(_0x1c7e2b['return']=_0x2de55a['getUser'](_0x513c73['_authorId']),_0x1c7e2b['stop']()),null===_0x513c73['_authorId']&&(_0x1c7e2b['return']=null,_0x1c7e2b['stop']());},{'priority':'high'}),this['listenTo'](_0x3e5d5d['model']['document']['selection'],'change:range',(_0x1e2479,_0x37df70)=>{_0x37df70['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3e5d5d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3e5d5d['model']['on']('applyOperation',(_0x185a94,_0x170841)=>{const _0x3746db=_0x170841[0x0];_0x3746db['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3746db),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3c3173,'state',this,'_hasSynchronizationProblem',(_0x26865c,_0x3b7d6c)=>'connected'===_0x26865c&&!_0x3b7d6c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3e5d5d['disableReadOnlyMode']('rtc-offline'):_0x3e5d5d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3e5d5d['disableReadOnlyMode']('rtc-offline'):_0x3e5d5d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x227783=this['editor']['plugins']['get'](i),_0x2daf1e=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x227783['unregister'](this['_channelId']);const _0xf4b9e8=await this['_service']['reconnect'](_0x2daf1e['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xf4b9e8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x17ea67=await this['_service']['getConnectedSessions']();_0x227783['register'](this['_channelId'],_0x17ea67),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4f84a8){if(function(_0x519cd5){return'404'===_0x519cd5['code'];}(_0x4f84a8)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3861ad){return'409'===_0x3861ad['code'];}(_0x4f84a8)){const _0x2e2289=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x2e2289);}else{if(!(_0x4f84a8 instanceof $))throw _0x4f84a8;this['_handleReconnectionError']();}}}}['destroy'](){const _0x482707=this['editor']['plugins']['get'](n),_0x34f898=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x34f898['channelSessions']['has'](this['_channelId'])&&_0x34f898['unregister'](this['_channelId']),_0x482707['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xb911b8){if(this['sessionId']!==_0xb911b8['sessionId']&&this['_lastSyncedOperationId']!==_0xb911b8['lastOperationId'])throw new $();return this['sessionId']=_0xb911b8['sessionId'],this['_handleServerResponse']([],{..._0xb911b8,'wereChangesApplied':!0x1,'data':_0xb911b8['data']},'reconnect');}async['_connectService'](_0x2ad29a,_0x43b16c=!0x1){const {connection:_0x199a45}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x199a45,this['_channelId'])['then'](_0x520222=>this['_initSessionsHandling'](_0x520222))['catch'](_0x48447c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x48447c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x585d5c,_0x2fec98)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2fec98);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3c2c5f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2ad29a);this['_isPendingUpdate']=!0x0;const _0x3f0a2d=await this['_service']['connect'](_0x199a45,this['_compressOperations'](_0x2ad29a),_0x3c2c5f);if(this['sessionId']=_0x3f0a2d['sessionId'],_0x43b16c){if(!_0x3f0a2d['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3f0a2d['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2ad29a,_0x3f0a2d,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3f0a2d,_0x2ad29a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x25c247=this['editor']['plugins']['get'](i),_0x168467=this['editor']['plugins']['get'](H),_0x4fb333=_0x25c247['channelSessions']['get'](this['_channelId']);_0x4fb333&&_0x4fb333['length']>0x1?_0x168467['createUserMarkerOperations']():this['listenTo'](_0x25c247,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25c247['channelSessions']['get'](this['_channelId'])['length']&&_0x168467['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3db188,_0x2757d9,_0x43d4ee,_0x12282b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2757d9){const _0x26e5d4=this['_decompressOperations'](_0x43d4ee,_0x12282b);await this['_fetchMissingUsers'](_0x26e5d4),this['_handleExternalOperations'](_0x26e5d4,_0x2757d9,_0x43d4ee['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xf56a1f}=this['editor'];let _0x535aa4;try{_0x535aa4=await this['_service']['getDocumentDetails']();}catch{const _0x21d581=V(_0xf56a1f,'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'](_0x21d581);}const _0x49ce5e=_0x535aa4['currentDocumentSession']||_0x535aa4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x49ce5e['lastOperationId']){const _0x521e2e=V(_0xf56a1f,'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'](_0x521e2e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x5b113e){const _0x2f9d64=this['editor']['plugins']['get'](i);this['listenTo'](_0x2f9d64,'sessionAdd:'+this['_channelId'],(_0x555199,{session:_0x2a5877})=>{if(_0x2a5877['id']===_0x2f9d64['mySessionId']){_0x555199['off']();const _0x10f890=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5ecb0d=_0x2a5877['permissions'];_0x10f890&&_0x10f890['isEnabled']&&(_0x5ecb0d=_0x5ecb0d['filter'](_0x4a146f=>'document:write'!==_0x4a146f)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5ecb0d,this['_channelId']);}}),_0x2f9d64['register'](this['_channelId'],_0x5b113e);}['_initThrowingOnDataSet'](){const _0x46e3e2=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xc247e)=>{if(!_0xc247e[_0xc247e['length']-0x1]['suppressErrorInCollaboration'])throw new _0x41a852('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x46e3e2['apply'](this['editor']['data'],_0xc247e);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xaf1eca,[_0x369c7c])=>{if(this['_document']['version'])throw new _0x41a852('realtimecollaborationclient-init-document-already-initialized',this);_0xaf1eca['stop'](),this['_setPendingAction']();const _0x489466=this['editor']['config']['get']('rootsAttributes'),_0x1bb9c0=this['_getOperationsFromInitData'](_0x369c7c,_0x489466);0x0==_0x1bb9c0['length']&&_0x1bb9c0['push'](new _0x242f8d(0x0)),_0xaf1eca['return']=this['_connectService'](_0x1bb9c0)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x6b31ba=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x6b31ba))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x408486,[_0x3b2d41,_0x36d789])=>{_0x408486['stop']();const _0x25a8ff=this['editor']['model']['document']['getRoot'](_0x3b2d41);if(!this['_knownRootNames']['has'](_0x3b2d41)){const _0x2e99a9=_0x36d789&&_0x36d789['data']?_0x36d789['data']:'',_0x303849=_0x36d789&&_0x36d789['attributes']?_0x36d789['attributes']:{};await this['_loadRoot'](_0x3b2d41,_0x2e99a9,_0x303849);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x25a8ff['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x25a8ff);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x32fe1b){const _0x131f84=this['editor']['plugins']['get'](_0x287641),{connection:_0x13bf70}=this['editor']['plugins']['get'](n),_0x4e0b81=new Set();for(const _0x31da2e of _0x32fe1b){const _0xfcdb78=_0x31da2e['_authorId'];_0xfcdb78&&!_0x131f84['getUser'](_0xfcdb78)&&_0x4e0b81['add'](_0xfcdb78);}if(0x0===_0x4e0b81['size'])return;const _0x52f4ba=await lt['getMany'](_0x13bf70,Array['from'](_0x4e0b81));for(const _0x5ae61f of _0x52f4ba)_0x131f84['getUser'](_0x5ae61f['id'])||_0x131f84['addUser'](_0x5ae61f);}['_getOperationsFromInitData'](_0x5e9a24,_0xb53ec4={}){const _0x3d9702=this['editor']['model'],_0x37a7c0=[];let _0x4289d7=0x0;const _0x2c9125='string'==typeof _0x5e9a24?{'main':_0x5e9a24}:_0x5e9a24;for(const _0x2f6952 of Object['keys'](_0x2c9125)){if(!this['_document']['roots']['has'](_0x2f6952))throw new _0x41a852('realtimecollaborationclient-init-non-existent-root',this);const _0x1f3cfd=this['editor']['data']['parse'](_0x2c9125[_0x2f6952]),_0x1c3c14=this['_document']['getRoot'](_0x2f6952),_0x51da80=new _0x318272(_0x3d9702['createPositionAt'](_0x1c3c14,0x0),_0x1f3cfd,_0x4289d7++);_0x37a7c0['push'](_0x51da80);for(const [_0x1785e9,_0x500b7e]of _0x1f3cfd['markers']){const _0x577d0f=_0x3d9702['createRange'](_0x3d9702['createPositionFromPath'](_0x1c3c14,_0x500b7e['start']['path']['slice']()),_0x3d9702['createPositionFromPath'](_0x1c3c14,_0x500b7e['end']['path']['slice']())),_0x2e248b=new _0x33bbe4(_0x1785e9,null,_0x577d0f,_0x3d9702['markers'],!0x0,_0x4289d7++);_0x37a7c0['push'](_0x2e248b);}}if(_0xb53ec4)for(const [_0x5474cc,_0x2c7d80]of Object['entries'](_0xb53ec4)){const _0x2f21fc=_0x3d9702['document']['getRoot'](_0x5474cc);if(!_0x2f21fc)throw new _0x41a852('multi-root-editor-root-attributes-no-root',null);for(const [_0x1ff315,_0x167c5c]of Object['entries'](_0x2c7d80))if(null!==_0x167c5c){const _0x2c2347=new _0x54f1e4(_0x2f21fc,_0x1ff315,null,_0x167c5c,_0x4289d7++);_0x37a7c0['push'](_0x2c2347);}}return _0x37a7c0;}async['_loadRoot'](_0xc02b9,_0x3910e2,_0xb88393){this['_getOperationsFromInitData']({[_0xc02b9]:_0x3910e2},{[_0xc02b9]:_0xb88393})['forEach']((_0x27267b,_0x4ab1a3)=>{_0x27267b['baseVersion']=this['_document']['version']+_0x4ab1a3,_0x27267b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x27267b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x31e579,_0x37d809){let _0x438e8f;this['_offset']=_0x31e579['offset'];const _0x57e32d=_0x31e579['wereChangesApplied']&&!_0x31e579['initData'],_0x4d289c=_0x57e32d?0x0:_0x31e579['data']['baseVersion'];if(_0x37d809['forEach'](_0x3247f3=>{_0x3247f3['_isInit']=!0x0,_0x3247f3['createdAt']=_0x31e579['sessionCreatedAt'],_0x3247f3['_authorId']=null;}),_0x57e32d)_0x438e8f=_0x37d809,this['_applyOperationsSet'](_0x438e8f,_0x57e32d);else{if(_0x31e579['initData']){const _0x369199=this['_getOperationsFromInitData'](_0x31e579['initData']);this['_document']['history']['version']=-_0x369199['length'],_0x369199['forEach'](_0x2b36d8=>{_0x2b36d8['baseVersion']-=_0x369199['length'],_0x2b36d8['createdAt']=_0x31e579['sessionCreatedAt'],_0x2b36d8['_isInit']=!0x0,_0x2b36d8['_authorId']=null;}),this['_applyOperationsSet'](_0x369199,!0x0),this['serverHistory']['version']=-_0x369199['length']+this['_offset'],this['_updateServerHistory'](_0x369199);}this['_document']['history']['version']=_0x4d289c,_0x438e8f=this['_decompressOperations'](_0x31e579['data'],_0x31e579['metadata']),await this['_fetchMissingUsers'](_0x438e8f),this['_applyOperationsSet'](_0x438e8f,_0x57e32d);}_0x31e579['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x438e8f,_0x31e579['lastOperationId']),this['_lastSyncedOperationId']=_0x31e579['lastOperationId']),this['serverHistory']['version']=_0x4d289c+this['_offset'],this['_updateServerHistory'](_0x438e8f),_0x37d809['filter'](_0xd64a1f=>{const _0x5dc554=this['_getAffectedRoot'](_0xd64a1f);return _0x5dc554&&!this['_knownRootNames']['has'](_0x5dc554);})['forEach']((_0x1f6694,_0x3d2cbf)=>{_0x1f6694['baseVersion']=this['_document']['version']+_0x3d2cbf,this['_saveOperationInBuffer'](_0x1f6694);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x29e1e9,_0x4e24ea){const _0x4ac5c1=_0x4e24ea&&_0x4e24ea['message'];if(_0x4ac5c1&&_0x4ac5c1['startsWith']('realtimecollaborationclient'))throw _0x4e24ea;const _0x1e42a2=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x1e42a2['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x41a852(_0x29e1e9,this['editor'],_0x4ac5c1?{'originalError':_0x4ac5c1}:void 0x0);}['_saveOperationInBuffer'](_0x4716ae){this['_knownOperations']['has'](_0x4716ae)||(this['_knownOperations']['add'](_0x4716ae),this['_bufferedOperations']['push'](_0x4716ae),this['_pendingAction']||'marker'==_0x4716ae['type']&&!_0x4716ae['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xbcd8d5=!0x1){!_0xbcd8d5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x26ad05=>{_0x26ad05&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2d21f7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x41fe7f){return _0x41fe7f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x41fe7f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x41fe7f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2d21f7)||this['_crash'](_0x2d21f7['message'],_0x2d21f7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5bf126=>{this['on']('change:_isPendingUpdate',()=>{_0x5bf126();});});}async['_sendBufferedOperations'](){const _0x506919=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x506919['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5a4fd3=[...this['_bufferedOperations']];for(const _0xa87873 of _0x5a4fd3)_0xa87873['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xa87873);const _0x3970bb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a4fd3),_0x550a31=G++,_0x2e3ebe=this['_compressOperations'](_0x5a4fd3),_0x49a41a=await this['_service']['sendOperations'](_0x2e3ebe,_0x2e3ebe['baseVersion'],_0x3970bb);try{return await this['_handleServerResponse'](_0x5a4fd3,_0x49a41a,_0x550a31);}catch(_0x1bf303){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1bf303);}}async['_handleServerResponse'](_0x3ef0d6,_0x2bdee2,_0x4c3b85){if('error'in _0x2bdee2)throw _0x2bdee2['error'];let _0x20cd2=!0x1;if(_0x2bdee2['wereChangesApplied']){_0x2bdee2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2bdee2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2e760d=>!_0x3ef0d6['includes'](_0x2e760d));for(const _0x3fb4fa of _0x3ef0d6)_0x3fb4fa['createdAt']='lastOperationAcceptedAt'in _0x2bdee2&&_0x2bdee2['lastOperationAcceptedAt']||void 0x0;K(_0x3ef0d6,_0x2bdee2['version']-_0x3ef0d6['length']),this['_updateServerHistory'](_0x3ef0d6);const _0x21a2c1=_0x3ef0d6['filter'](_0x5c760d=>{if(!_0x5c760d['_isInit'])return!0x1;const _0x440536=this['_getAffectedRoot'](_0x5c760d);return _0x440536&&!this['_knownRootNames']['has'](_0x440536);});K(_0x21a2c1,this['_document']['version']),this['_applyOperationsSet'](_0x21a2c1),_0x20cd2=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x419da2=this['_decompressOperations'](_0x2bdee2['data'],_0x2bdee2['metadata'])['filter'](_0x32a93e=>_0x32a93e['baseVersion']>=this['_lastServerVersion']);_0x419da2['forEach'](_0x1fe103=>this['_addKnownRoot'](_0x1fe103)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2a3cbf=>!_0x2a3cbf['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2a3cbf))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x419da2),_0x20cd2=this['_handleExternalOperations'](_0x419da2,_0x2bdee2['version'],_0x2bdee2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x20cd2?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x146034,_0x348ac4,_0x4aa2bb){try{const _0x42d7f9={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2be823,operationsB:_0x5b3d99,originalOperations:_0x4da1c4}=_0xde98c3(_0x146034,this['_bufferedOperations'],_0x42d7f9);K(_0x2be823,this['_document']['version']),K(_0x5b3d99,_0x348ac4);for(const _0x4037ec of _0x2be823){const _0x559b77=_0x4da1c4['get'](_0x4037ec);_0x4037ec['_authorId']=_0x559b77?_0x559b77['_authorId']:null;}_0x4aa2bb&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x146034,_0x4aa2bb),this['_lastSyncedOperationId']=_0x4aa2bb),this['_bufferedOperations']=[..._0x5b3d99],this['_applyOperationsSet'](_0x2be823),this['_updateServerHistory'](_0x146034);}catch(_0x3f06b0){return console['error'](_0x3f06b0),!0x1;}return!0x0;}['_applyOperationsSet'](_0x41e0b4,_0x5af848=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x475f4b=>{for(const _0x509da6 of _0x41e0b4)this['_knownOperations']['add'](_0x509da6),this['_addKnownRoot'](_0x509da6),_0x475f4b['batch']['addOperation'](_0x509da6),this['editor']['model']['applyOperation'](_0x509da6);});}['_addKnownRoot'](_0x2864b3){const _0x41aaf4=this['_getAffectedRoot'](_0x2864b3);_0x41aaf4&&this['_knownRootNames']['add'](_0x41aaf4);}['_getAffectedRoot'](_0x2bb30c){let _0x1620ce,_0x2c2af2;switch(_0x2bb30c['type']){case'insert':_0x1620ce=_0x2bb30c['position']['root'];break;case'marker':if(_0x2c2af2=_0x2bb30c['newRange'],!_0x2c2af2)return null;_0x1620ce=_0x2c2af2['root'];break;case'addRootAttribute':_0x1620ce=_0x2bb30c['root'];break;case'addRoot':_0x1620ce=_0x2bb30c['affectedSelectable'];break;case'move':_0x1620ce=_0x2bb30c['targetPosition']['root'];break;default:return null;}return _0x1620ce['rootName'];}['_updateServerHistory'](_0x551193){_0x551193['forEach'](_0x4581da=>{const _0x58b069=_0x4581da['clone']();_0x58b069['_authorId']=_0x4581da['_authorId'],_0x58b069['_isInit']=!!_0x4581da['_isInit'],_0x58b069['createdAt']=_0x4581da['createdAt'],_0x58b069['baseVersion']+=this['_offset'],_0x4581da['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x58b069),this['serverHistory']['addOperation'](_0x58b069);});}['_handleReconnectionError'](_0x45a9a9){const _0x5b9a96=this['editor']['plugins']['get']('Notification'),_0x830ad1=this['editor']['locale'];_0x45a9a9||(_0x45a9a9=V(_0x830ad1,'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.')),_0x5b9a96['showWarning'](_0x45a9a9,{'title':V(_0x830ad1,'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'](_0x59dc9e)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x59dc9e)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x45ade2){const _0x34cc95=_0x45ade2['map'](_0x5bb755=>_0x5bb755['toJSON']());return this['_compressor']['compress'](_0x34cc95);}['_decompressOperations'](_0x7514,_0x34c634){return this['_compressor']['decompress'](_0x7514)['map']((_0x295899,_0x509188)=>{const _0x1892b5='init'==_0x34c634[_0x509188]['type'];if('InsertOperation'==_0x295899['__className']){const _0x4cdb0e=_0x295899['position']['root'];!this['_document']['getRoot'](_0x4cdb0e)&&(this['_document']['createRoot']('$root',_0x4cdb0e)['_isAttached']=!0x1);}const _0x255ec5=_0x50e2c6['fromJSON'](_0x295899,this['_document']);return _0x255ec5['wasUndone']=_0x295899['wasUndone'],_0x255ec5['_isInit']=_0x1892b5,_0x255ec5['_authorId']=_0x1892b5?null:_0x34c634[_0x509188]['userId'],_0x255ec5['_isDisconnection']='cs:removeUser'===_0x34c634[_0x509188]['type'],_0x255ec5['createdAt']=_0x34c634[_0x509188]['createdAt'],_0x255ec5;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x277114=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x277114&&_0x277114['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x4d6122,_0x401272){for(const _0x57e4f9 of _0x4d6122)_0x57e4f9['baseVersion']=_0x401272++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x5d8ac6){this['_ignoredOperations']=_0x5d8ac6,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xba5741){let _0xdcfa8b=_0xba5741['length'];for(;_0xdcfa8b--;){const _0x380669=_0xba5741[_0xdcfa8b];if(!this['_ignoredOperations']['has'](_0x380669)){if(!this['_operationToId']['has'](_0x380669)){const _0x3ad3db=_0x4c1ce3()['slice'](0x1,0x12);this['_operationToId']['set'](_0x380669,_0x3ad3db);}return this['_operationToId']['get'](_0x380669);}}}['setIdForTheLastOperation'](_0x3d7fcb,_0x187170){if(!_0x187170)return;let _0x4ba484=_0x3d7fcb['length'];for(;_0x4ba484--;){const _0x2a599f=_0x3d7fcb[_0x4ba484];this['_ignoredOperations']['has'](_0x2a599f)||this['_operationToId']['set'](_0x2a599f,_0x187170);}}}class a extends _0x374ea5{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x558e27{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5ba6a8)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x287641];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x55e6a6){super(_0x55e6a6),this['_services']=new Map();}async['init'](){const _0x498d25=this['context'],_0x1715f4=_0x498d25['plugins']['get']('CommentsRepository');if(_0x498d25['plugins']['get'](n)['addToReconnectionStack'](this),_0x1715f4['adapter']={'addCommentThread':async({channelId:_0xf44b4b,threadId:_0x36027d,comments:_0x425db2,resolvedAt:_0x5536c3,resolvedBy:_0x85d4ea,context:_0x309df4,attributes:_0x1660d8})=>{const _0x2fb4ef=await this['_getService'](_0xf44b4b)['addCommentThread']({'commentThreadId':_0x36027d,'comments':_0x425db2['map'](_0x5e9cbc=>function(_0x46dcae,_0x210fc6,_0x2f1809){return{'commentThreadId':_0x2f1809,'commentId':_0x46dcae['commentId'],'userId':_0x46dcae['authorId'],'content':_0x46dcae['content'],'documentId':_0x210fc6,'createdAt':_0x46dcae['createdAt'],'attributes':_0x46dcae['attributes']||{}};}(_0x5e9cbc,_0xf44b4b,_0x36027d)),'resolvedAt':_0x5536c3,'resolvedBy':_0x85d4ea,'context':_0x309df4,'attributes':_0x1660d8})['catch'](dt);return{'threadId':_0x2fb4ef['commentThreadId'],'comments':_0x2fb4ef['comments']};},'getCommentThread':async({channelId:_0x3e70ec,threadId:_0x20ef8c})=>{const _0x1db650=await this['_getService'](_0x3e70ec)['getCommentThread'](_0x20ef8c)['catch'](F)['catch'](dt);return _0x1db650?_0x1db650['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1db650]),{'threadId':_0x1db650['commentThreadId'],'comments':_0x1db650['comments']['map'](S),'context':_0x1db650['context'],'resolvedAt':_0x1db650['resolvedAt'],'resolvedBy':_0x1db650['resolvedBy'],'attributes':_0x1db650['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1877b1,threadId:_0x260d93,context:_0x3d1e3c,unlinkedAt:_0x22cc92,attributes:_0x46bc84})=>this['_getService'](_0x1877b1)['updateCommentThread']({'commentThreadId':_0x260d93,'context':_0x3d1e3c,'attributes':_0x46bc84,'unlinkedAt':_0x22cc92})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x4730c7,threadId:_0x4c5e9c})=>{const _0x43ac64=await this['_getService'](_0x4730c7)['resolveCommentThread'](_0x4c5e9c)['catch'](F)['catch'](dt);return{'threadId':_0x43ac64['commentThreadId'],'resolvedAt':_0x43ac64['resolvedAt'],'resolvedBy':_0x43ac64['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1dfe47,threadId:_0x3dcc9c})=>this['_getService'](_0x1dfe47)['reopenCommentThread'](_0x3dcc9c)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x1bf19d,threadId:_0x6ba2f7})=>this['_getService'](_0x1bf19d)['removeCommentThread'](_0x6ba2f7)['catch'](F)['catch'](dt),'addComment':({channelId:_0x19d8ef,threadId:_0x16d289,commentId:_0x46bb37,content:_0x3eb950,attributes:_0x501cb6})=>this['_getService'](_0x19d8ef)['addComment'](_0x16d289,_0x46bb37,_0x3eb950,_0x501cb6)['catch'](dt),'updateComment':({channelId:_0x39189d,threadId:_0x48abd2,commentId:_0x5d5ef9,content:_0x8ea223,attributes:_0x7e2821})=>this['_getService'](_0x39189d)['updateComment'](_0x48abd2,_0x5d5ef9,_0x8ea223,_0x7e2821)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x404753,threadId:_0x3fc6ef,commentId:_0x1781f0})=>this['_getService'](_0x404753)['removeComment'](_0x3fc6ef,_0x1781f0)['catch'](F)['catch'](dt)},_0x498d25 instanceof _0x246a29){const _0x484709=_0x498d25['config']['get']('collaboration.channelId'),_0x15fd1a=_0x498d25['plugins']['get'](i);await this['_setUpService'](_0x484709);const _0xe5188=await this['_services']['get'](_0x484709)['getConnectedSessions']();this['listenTo'](_0x15fd1a,'sessionAdd:'+_0x484709,(_0x4d5907,{session:_0x31bb06})=>{_0x31bb06['id']===_0x15fd1a['mySessionId']&&(_0x4d5907['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x31bb06['permissions'],_0x484709));}),_0x15fd1a['register'](_0x484709,_0xe5188);}}async['_setUpService'](_0x32d11b){if(this['_services']['has'](_0x32d11b))throw new _0x41a852('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x32d11b});const _0x296db2=this['context']['plugins']['get']('CommentsRepository'),_0x2683de=new s['CommentsService'](_0x32d11b);this['_services']['set'](_0x32d11b,_0x2683de),this['listenTo'](_0x2683de,'commentThreadAdded',(_0xde1e30,_0x40c1b8)=>{const {commentThreadId:_0x3824e3,documentId:_0x13e388,context:_0x49d8a1,attributes:_0x3165ec,resolvedAt:_0x5c4ad4,resolvedBy:_0xb702d1,comments:_0xf6784}=_0x40c1b8;_0x296db2['getCommentThread'](_0x3824e3)||_0x296db2['addCommentThread']({'threadId':_0x3824e3,'channelId':_0x13e388,'comments':_0xf6784?_0xf6784['map'](S):[],'context':_0x49d8a1,'attributes':_0x3165ec,'resolvedAt':_0x5c4ad4,'resolvedBy':_0xb702d1,'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadUpdated',(_0x3f73c3,{commentThreadId:_0x40b6eb,documentId:_0x45aa4f,context:_0x41de9e,unlinkedAt:_0x48f604,attributes:_0x33a005})=>{_0x296db2['getCommentThread'](_0x40b6eb)&&_0x296db2['updateCommentThread']({'threadId':_0x40b6eb,'channelId':_0x45aa4f,'context':_0x41de9e,'unlinkedAt':_0x48f604,'attributes':_0x33a005,'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadResolved',(_0x48814d,{commentThreadId:_0x5f3cff,resolvedBy:_0x429dbf,resolvedAt:_0x21d185})=>{const _0x153f22=_0x296db2['getCommentThread'](_0x5f3cff);_0x153f22&&_0x153f22['resolve']({'resolvedBy':_0x429dbf,'resolvedAt':_0x21d185,'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadReopened',(_0x292188,{commentThreadId:_0x581775})=>{const _0x36506e=_0x296db2['getCommentThread'](_0x581775);_0x36506e&&_0x36506e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadRemoved',(_0x14f23a,{commentThreadId:_0x411659})=>{const _0xa1db40=_0x296db2['getCommentThread'](_0x411659);_0xa1db40&&_0xa1db40['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentAdded',(_0x3071f1,_0x2effff)=>{const _0x1d575f=_0x2effff['commentThreadId'],_0x5652c7=_0x296db2['getCommentThread'](_0x1d575f);_0x5652c7&&_0x5652c7['addComment']({...S(_0x2effff),'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentUpdated',(_0xafd524,{commentThreadId:_0x491438,commentId:_0x1eaf94,content:_0x52ac4c,attributes:_0xb8e0d9})=>{const _0x549d96=_0x296db2['getCommentThread'](_0x491438);if(_0x549d96){const _0x184fee=_0x549d96['getComment'](_0x1eaf94);_0x184fee&&_0x184fee['update']({'content':_0x52ac4c,'attributes':_0xb8e0d9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2683de,'commentRemoved',(_0x6262ad,{commentThreadId:_0x57b4b6,commentId:_0x182f3e})=>{const _0x33f8da=_0x296db2['getCommentThread'](_0x57b4b6);if(_0x33f8da){const _0xd974a2=_0x33f8da['getComment'](_0x182f3e);_0xd974a2&&_0xd974a2['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x32d11b);}['destroy'](){if(this['context']instanceof _0x246a29){const _0x5eb78b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5eb78b);}}['_terminateService'](_0xe7d0b9){if(!this['_services']['has'](_0xe7d0b9))throw new _0x41a852('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xe7d0b9});this['_getService'](_0xe7d0b9)['disconnect'](),this['_services']['delete'](_0xe7d0b9);}async['reconnect'](){for(const _0x58b71f of this['_services']['keys']())await this['_connectService'](_0x58b71f);if(this['context']instanceof _0x246a29){const _0x2af6d2=this['context']['config']['get']('collaboration.channelId'),_0xb74058=this['context']['plugins']['get'](i);_0xb74058['unregister'](_0x2af6d2);const _0x4946cb=await this['_services']['get'](_0x2af6d2)['getConnectedSessions']();_0xb74058['register'](_0x2af6d2,_0x4946cb);}}async['_connectService'](_0x528b04){const {connection:_0x457449}=this['context']['plugins']['get'](n),_0x431d8e=this['context']['plugins']['get']('CommentsRepository'),_0x5d2a98=this['_services']['get'](_0x528b04),_0x2cd37a=await _0x5d2a98['connect'](_0x457449);await this['_fetchMissingUsersForThreads'](_0x2cd37a);const _0x22214f=new Set(Array['from'](_0x431d8e['getCommentThreads']({'channelId':_0x528b04}),_0x1776a3=>_0x1776a3['id']));for(const _0x219304 of _0x2cd37a)_0x219304['deletedAt']||_0x22214f['delete'](_0x219304['commentThreadId']);for(const _0x14db8a of _0x22214f)_0x431d8e['getCommentThread'](_0x14db8a)['remove']({'isFromAdapter':!0x0});for(const _0x4bfb3f of _0x2cd37a){let _0x401184=_0x431d8e['getCommentThread'](_0x4bfb3f['commentThreadId']);const {commentThreadId:_0x515d0f,context:_0x553438,attributes:_0x393826,resolvedBy:_0x5bb506,resolvedAt:_0x175f04,unlinkedAt:_0xd87ce8,deletedAt:_0xb132c2}=_0x4bfb3f;if(_0xb132c2)continue;_0x401184||(_0x401184=_0x431d8e['addCommentThread']({'channelId':_0x528b04,'threadId':_0x515d0f,'context':_0x553438,'attributes':_0x393826||{},'resolvedBy':_0x5bb506,'resolvedAt':_0x175f04,'unlinkedAt':_0xd87ce8,'isFromAdapter':!0x0}));const _0x48fc05=new Set(Array['from'](_0x401184['comments'],_0x5d0951=>_0x5d0951['id']));for(const _0x2c5846 of _0x4bfb3f['comments'])_0x48fc05['delete'](_0x2c5846['commentId']);for(const _0x5d2d82 of _0x48fc05)_0x401184['getComment'](_0x5d2d82)['remove']({'isFromAdapter':!0x0});for(const _0x596c7d of _0x4bfb3f['comments']){const _0x45d29d=_0x401184['getComment'](_0x596c7d['commentId']);_0x45d29d?_0x45d29d['content']!==_0x596c7d['content']&&_0x45d29d['update']({'content':_0x596c7d['content'],'isFromAdapter':!0x0}):_0x401184['addComment'](Object['assign'](S(_0x596c7d),{'isFromAdapter':!0x0}));}}}['_getService'](_0xa58c65){if(!this['_services']['has'](_0xa58c65))throw new _0x41a852('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xa58c65});return this['_services']['get'](_0xa58c65);}async['_fetchMissingUsersForThreads'](_0x492ee3){const _0x314dab=this['context']['plugins']['get'](_0x287641),{connection:_0x53c0b5}=this['context']['plugins']['get'](n),_0x2340e2=new Set();for(const {resolvedBy:_0x58591f,comments:_0x35c57b}of _0x492ee3){_0x58591f&&!_0x314dab['getUser'](_0x58591f)&&_0x2340e2['add'](_0x58591f);for(const {userId:_0x589315}of _0x35c57b)_0x314dab['getUser'](_0x589315)||_0x2340e2['add'](_0x589315);}if(0x0===_0x2340e2['size'])return;const _0x280719=await lt['getMany'](_0x53c0b5,Array['from'](_0x2340e2));for(const _0x2908ca of _0x280719)_0x314dab['getUser'](_0x2908ca['id'])||_0x314dab['addUser'](_0x2908ca);}}async function F(_0xc3edbb){if('404'!==_0xc3edbb['code'])throw _0xc3edbb;}function dt(_0x171126){if((_0x303263=_0x171126)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x303263['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x303263['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x303263;throw _0x171126;}function S(_0x1c1f7c){return{'threadId':_0x1c1f7c['commentThreadId'],'commentId':_0x1c1f7c['commentId'],'content':_0x1c1f7c['content'],'createdAt':_0x1c1f7c['createdAt'],'authorId':_0x1c1f7c['userId'],'attributes':_0x1c1f7c['attributes']||{}};}class m extends _0x374ea5{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x52c215){super(_0x52c215);const _0x3d39f8=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3d39f8);}['init'](){const _0xff305b=this['editor']['plugins']['get'](n),_0x25b27d=this['editor']['plugins']['get']('TrackChangesEditing');return _0x25b27d['adapter']={'getSuggestion':async _0x75bc2b=>{await this['_waitForServiceReady']();const _0x29c503=await this['_trackChangesService']['get'](_0x75bc2b)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x29c503]),_0x29c503;},'addSuggestion':async({id:_0x4c255e,type:_0x4748a1,data:_0x4b44de,originalSuggestionId:_0xbb1501,attributes:_0x3adba0})=>{await this['_waitForServiceReady']();const _0xd6f611={'id':_0x4c255e,'type':_0x4748a1,'data':_0x4b44de,'originalSuggestionId':_0xbb1501,'attributes':_0x3adba0},_0x17c221=await this['_trackChangesService']['add'](_0x4c255e,_0x4748a1,_0x4b44de,_0xbb1501,_0x3adba0)['catch'](_0x32eb38=>{if(ut(_0x32eb38))return new Promise(_0x52a324=>{this['_bufferedRequests']['set'](_0x4c255e,{'resolve':_0x52a324,'suggestionData':_0xd6f611});});throw _0x32eb38;});return this['_bufferedRequests']['delete'](_0x4c255e),_0x17c221;},'updateSuggestion':async(_0x5cb7fd,_0x1cfe05)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1cfe05['state'])return this['_trackChangesService']['update'](_0x5cb7fd,_0x1cfe05)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x6ee9e8,_0x52f159)=>{_0x25b27d['hasSuggestion'](_0x52f159['id'])&&(_0x25b27d['getSuggestion'](_0x52f159['id'])['attributes']=_0x52f159['attributes']);}),this['_trackChangesService']['connect'](_0xff305b['connection'])['then'](_0x52ef7f=>(_0xff305b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x52ef7f)['then'](()=>{for(const _0x455301 of _0x52ef7f){_0x25b27d['addSuggestionData'](_0x455301)['_saved']=!0x0;}})));}async['reconnect'](){const _0x76d338=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x57409a}=this['editor']['plugins']['get'](n),_0xf641a8=await this['_trackChangesService']['connect'](_0x57409a);await this['_fetchMissingUsersForThreads'](_0xf641a8);for(const {suggestionData:_0x3b1173,resolve:_0x57d8d6}of this['_bufferedRequests']['values']()){let _0x468a11=_0xf641a8['find'](_0xff2a5f=>_0xff2a5f['id']===_0x3b1173['id']);_0x468a11||(_0x468a11=await this['_trackChangesService']['add'](_0x3b1173['id'],_0x3b1173['type'],_0x3b1173['data'],_0x3b1173['originalSuggestionId'])),_0x57d8d6(_0x468a11);}for(const _0x489d57 of _0xf641a8)_0x76d338['hasSuggestion'](_0x489d57['id'])||_0x76d338['addSuggestionData'](_0x489d57);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1c29d8=>{this['listenTo'](this['_trackChangesService'],'connected',_0x39ae2b=>{_0x39ae2b['off'](),_0x1c29d8();});});}async['_fetchMissingUsersForThreads'](_0x229efd){const _0x43adeb=this['editor']['plugins']['get'](_0x287641),{connection:_0x5a8e6f}=this['editor']['plugins']['get'](n),_0x3a07ac=new Set();for(const {authorId:_0x4712d6}of _0x229efd)_0x43adeb['getUser'](_0x4712d6)||_0x3a07ac['add'](_0x4712d6);if(0x0===_0x3a07ac['size'])return;const _0x42c230=await lt['getMany'](_0x5a8e6f,Array['from'](_0x3a07ac));for(const _0x2b5ddc of _0x42c230)_0x43adeb['getUser'](_0x2b5ddc['id'])||_0x43adeb['addUser'](_0x2b5ddc);}}function k(_0x236c76){if(ut(_0x236c76))return new Promise(()=>{});throw _0x236c76;}function ut(_0x4d0fec){return _0x4d0fec['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4d0fec['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x374ea5{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 _0x3dc4b1=this['editor']['plugins']['get'](n),_0x3e9a1d=this['editor']['plugins']['get']('CommentsEditing'),_0x577b0a=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3dc4b1,'change:state',(_0x444dda,_0x1972c3,_0x2332f5)=>{_0x3e9a1d['isThreadsLoadingPaused']='connected'!==_0x2332f5;});}),this['listenTo'](_0x3dc4b1,'change:state',(_0x346484,_0x1747ed,_0x3434cf)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x3434cf);}),_0x577b0a['_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 _0x374ea5{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 _0x374ea5{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x287641];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c38a9){super(_0x1c38a9);const _0x2625d4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x2625d4);}async['init'](){const _0x5160f2=this['editor']['plugins']['get'](l),_0x1807ad=_0x5160f2['serverHistory'],_0x2c9397=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1807ad,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5160f2['sessionId']});const _0x518086=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x24d70d=await tt['isBundleUploaded'](_0x2c9397['connection'],_0x518086);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4d863f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4d863f)),'updateRevisions':async _0x30cb6d=>{await this['_waitForServiceReady']();const _0x47aee9=this['_revisionTracker']['currentRevision'];if(_0x24d70d&&0x1===_0x30cb6d['length']&&_0x30cb6d[0x0]['id']===_0x47aee9['id'])return _0x30cb6d;for(const _0x21901d of _0x30cb6d)_0x21901d['id']===_0x47aee9['id']&&(_0x21901d['isEmptyCurrent']=_0x21901d['fromVersion']===_0x21901d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x30cb6d,this['_lastRequestId'])['then'](_0x1b80b1=>(this['_lastRequestId']=_0x1b80b1,_0x30cb6d))['catch'](_0x380603=>{if(st(_0x380603)||'400'===_0x380603['code']&&void 0x0!==_0x380603['data']['wrongRequestId']){for(const _0x18d8b7 of _0x30cb6d){!this['_revisionTracker']['repository']['getRevision'](_0x18d8b7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x18d8b7['id'],_0x18d8b7,!0x1);}if(st(_0x380603))throw _0x380603;return _0x30cb6d;}throw _0x380603;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5b5955,{revisionsData:_0x3cd496,requestId:_0x11dad2})=>{Math['max'](..._0x3cd496['map'](_0x51dfce=>_0x51dfce['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3cd496,_0x11dad2);}):this['_handleRevisionsUpdate'](_0x3cd496,_0x11dad2);});const {revisions:_0x24fd52,requestId:_0x345102}=await this['_revisionHistoryService']['connect'](_0x2c9397['connection']);_0x2c9397['addToReconnectionStack'](this),this['_lastRequestId']=_0x345102,await this['_fetchMissingUsers'](_0x24fd52);for(const _0x1e9cb6 of _0x24fd52)this['_revisionTracker']['addRevisionData'](_0x1e9cb6);this['listenTo'](_0x5160f2,'change:_isConnected',(_0x164f7d,_0x4e6b36,_0x3c1928)=>{_0x3c1928&&(this['_oldOffset']=_0x5160f2['_offset'],_0x164f7d['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c9397,'state',_0x4c78d0=>_0x4c78d0===te['CONNECTED']);}async['reconnect'](){const _0x23650b=this['editor']['plugins']['get'](n),_0x208e99=this['editor']['plugins']['get'](l),_0x3ca25a=async()=>{const _0x69fec4=this['_revisionTracker']['currentRevision'],_0x4a596f=_0x69fec4['id'],_0x367b4e=_0x4a596f!==_0x208e99['sessionId'];if(_0x367b4e){const _0x247fa2=_0x208e99['_offset']-this['_oldOffset'],_0x1d7f68=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x69fec4['toVersion']+_0x247fa2!==_0x1d7f68){const _0x5adf96=_0x69fec4['fromVersion']+_0x247fa2,_0x59f4ce=this['editor']['plugins']['get'](_0x287641),_0x58ae5a=this['_revisionTracker']['buildRevisionData']({'revision':_0x69fec4,'from':_0x5adf96,'to':_0x1d7f68});_0x58ae5a['id']=_0x69fec4['id'];const _0x3fda78=_0x58ae5a['authorsIds']['map'](_0x481a73=>_0x59f4ce['getUser'](_0x481a73));_0x69fec4['_update']({..._0x58ae5a,'authors':_0x3fda78},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x69fec4['id'],_0x58ae5a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1d7f68,(_0x69fec4['toVersion']===_0x69fec4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4a596f)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4a596f),this['_revisionTracker']['_createCurrentRevision'](_0x1d7f68));}const {revisions:_0x12b78c,requestId:_0x53ef7f}=await this['_revisionHistoryService']['reconnect'](_0x23650b['connection'],this['_lastRequestId']);_0x367b4e&&_0x12b78c['length']>0x0?_0x208e99['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x12b78c),this['_handleRevisionsUpdate'](_0x12b78c,_0x53ef7f),this['_revisionTracker']['sendBufferedUpdates']());};return _0x208e99['_isConnected']?_0x3ca25a():new Promise((_0x902b26,_0x52ac13)=>{_0x208e99['once']('change:_isConnected',()=>{_0x3ca25a()['then'](_0x902b26)['catch'](_0x52ac13);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x13315a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4a081d=>{_0x4a081d['off'](),_0x13315a();});});}['_getLatestVersionFromServerOperations'](){const _0x14a82a=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1c4691 of _0x14a82a)if('marker'!==_0x1c4691['type']||_0x1c4691['affectsData'])return _0x1c4691['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4f138b=this['editor']['plugins']['get'](l);return new Promise(_0x2fe522=>{_0x4f138b['_isPendingUpdate']?_0x4f138b['once']('change:_isPendingUpdate',()=>{_0x2fe522(this['_getLatestVersionFromServerOperations']());}):_0x2fe522(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x33ce7d,_0x3ef696){const _0x1d4087=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3ef696;for(const _0x20667e of _0x33ce7d){const _0x50a70f=_0x1d4087['getRevision'](_0x20667e['id']);if(_0x50a70f){if((_0x20667e['fromVersion']||_0x20667e['toVersion'])&&(_0x20667e['diffData']=null),_0x50a70f===this['_revisionTracker']['currentRevision']){const _0x6785aa=Math['max'](_0x50a70f['toVersion'],_0x20667e['toVersion']),_0x357b71=Math['max'](_0x50a70f['fromVersion'],_0x20667e['fromVersion']);let _0x864e70;_0x50a70f['toVersion']===_0x20667e['toVersion']&&_0x50a70f['fromVersion']===_0x20667e['fromVersion']?(_0x864e70=!0x0,this['_preventResendingRevisionData'](_0x20667e)):_0x20667e['toVersion']===_0x6785aa&&_0x20667e['fromVersion']===_0x357b71?_0x864e70=!0x1:(_0x50a70f['toVersion']===_0x6785aa&&_0x50a70f['fromVersion']===_0x357b71||this['_fixRevision']({'revision':_0x50a70f,'from':_0x357b71,'to':_0x6785aa}),_0x864e70=!0x0),_0x864e70&&(delete _0x20667e['fromVersion'],delete _0x20667e['toVersion'],delete _0x20667e['diffData'],delete _0x20667e['createdAt'],delete _0x20667e['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x20667e),this['_preventResendingRevisionData'](_0x20667e);}else this['_revisionTracker']['addRevisionData'](_0x20667e);}const _0xaf5379=_0x1d4087['getRevisions']();_0xaf5379['reverse']();for(let _0x14c2f8=0x0;_0x14c2f8<_0xaf5379['length']-0x1;_0x14c2f8++){const _0x2e4b1c=_0xaf5379[_0x14c2f8],_0x1a7ee3=_0xaf5379[_0x14c2f8+0x1];if(_0x2e4b1c['fromVersion']<_0x1a7ee3['toVersion']){const _0x4fb8bb=_0x1a7ee3['toVersion'],_0x72260d=Math['max'](_0x4fb8bb,_0x2e4b1c['toVersion']);this['_fixRevision']({'revision':_0x2e4b1c,'from':_0x4fb8bb,'to':_0x72260d});}}}['_fixRevision']({revision:_0x16c4eb,from:_0x49dcc0,to:_0x110918}={}){const _0x305442=this['editor']['plugins']['get'](_0x287641),_0x42ae0b=this['_revisionTracker']['buildRevisionData']({'revision':_0x16c4eb,'from':_0x49dcc0,'to':_0x110918});_0x42ae0b['authors']=_0x42ae0b['authorsIds']['map'](_0x54606f=>_0x305442['getUser'](_0x54606f)),_0x16c4eb['_update'](_0x42ae0b);}['_preventResendingRevisionData'](_0x1c09b2){const _0x3130b8={};_0x3130b8['id']=_0x1c09b2['id'];for(const _0x56cb85 of Object['keys'](_0x1c09b2))'id'!==_0x56cb85&&(_0x3130b8[_0x56cb85]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3130b8['id'],_0x3130b8,!0x0);}async['_fetchMissingUsers'](_0x20c58f){const _0x415b14=this['editor']['plugins']['get'](_0x287641),{connection:_0x2c236a}=this['editor']['plugins']['get'](n),_0x29a0b2=new Set();for(const _0x2414af of _0x20c58f){for(const _0x31637e of _0x2414af['authorsIds'])_0x4c3753(_0x31637e);_0x2414af['creatorId']&&_0x4c3753(_0x2414af['creatorId']);}if(0x0===_0x29a0b2['size'])return;const _0x267a4c=await lt['getMany'](_0x2c236a,Array['from'](_0x29a0b2));for(const _0x32877e of _0x267a4c)_0x415b14['getUser'](_0x32877e['id'])||_0x415b14['addUser'](_0x32877e);function _0x4c3753(_0x49186e){_0x415b14['getUser'](_0x49186e)||_0x29a0b2['add'](_0x49186e);}}}function st(_0x5c1702){return _0x5c1702['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5c1702['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c1702['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x374ea5{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 _0x379f83{['_collapseAt'];constructor(_0x4a5219,_0x25690e=0x6){super(_0x4a5219);const _0x245ba2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x25690e,this['bind']('isHidden')['to'](this,'usersCount',_0x1efaa5=>_0x1efaa5<_0x25690e),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x245ba2['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':_0x245ba2['to']('usersCount',_0x4652b2=>'+'+(_0x4652b2-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x379f83{['items'];['keystrokes'];constructor(_0x43ba99){super(_0x43ba99);const _0x2c9dda=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4bff21(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2c9dda['if']('hasPopup'),'aria-expanded':_0x2c9dda['to']('isExpanded',_0x1082e3=>this['hasPopup']&&String(_0x1082e3)),'aria-label':_0x2c9dda['to']('hasPopup',_0x28f471=>V(_0x43ba99,_0x28f471?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2c9dda['to']('hasPopup',_0x2aab3a=>!!_0x2aab3a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2c9dda['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2c9dda['to'](_0x2d277e=>{const _0x2e0571=_0x2d277e,_0x584d66=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4eebfb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x584d66?.['contains'](_0x2e0571['relatedTarget'])||_0x4eebfb?.['contains'](_0x2e0571['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x471241,_0x280e38,_0x23ba4c)=>{this['element']&&(_0x23ba4c?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 _0x379f83{['counterView'];['inlineListView'];constructor(_0x3a1663,_0x4dd351=0x6){super(_0x3a1663);const _0x2f710f=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x4dd351),this['inlineListView']=new is(_0x3a1663),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3a5fb3 of this['inlineListView']['items'])_0x3a5fb3['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',_0x2f710f['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x379f83{['listWrapperView'];constructor(_0x34d69e,_0x372cd7){super(_0x34d69e);const _0x35d97c=this['bindTemplate'];this['listWrapperView']=new pt(_0x34d69e,_0x372cd7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x34d69e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x35d97c['to'](_0x1416b3=>{const _0x4952d0=_0x1416b3,_0x558a4d=document['querySelector']('.ck-presence-list__list'),_0x1b0422=document['querySelector']('.ck-balloon-panel_with-arrow');_0x558a4d?.['contains'](_0x4952d0['relatedTarget'])||_0x1b0422?.['contains'](_0x4952d0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x2ae42c{constructor(_0x5ce51c,_0x7846ab){super(_0x5ce51c);const _0x1d0a65=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7846ab?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1d0a65['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1d0a65['to']('role'),'aria-label':_0x1d0a65['to']('ariaLabel'),'aria-labelledby':_0x1d0a65['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3cf216['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2b72b1=this['element'];_0x2b72b1&&(this['_isScrollable']=Math['max'](_0x2b72b1['scrollHeight'],_0x2b72b1['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x1968a2,_0x5c8da0,_0x34bd1c){super(_0x1968a2);const _0x2e4c74=this['bindTemplate'];this['userView']=new ct(_0x1968a2,_0x5c8da0);const _0x3580f7={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c8da0['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c8da0['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c8da0['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x34bd1c&&(_0x3580f7['tag']='button',_0x3580f7['on']={'click':_0x2e4c74['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3580f7);}['focus'](){this['element']['focus']();}}class A extends _0x379f83{['userView'];['markerView'];constructor(_0x19d8ba,_0x18bc42,_0x3568f4){super(_0x19d8ba);const _0x2dfbc9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x19d8ba,_0x18bc42),this['markerView']=new at(_0x19d8ba,_0x18bc42);const _0x33aae5=new ot(_0x19d8ba);_0x33aae5['template']['tag']='span',_0x33aae5['text']=_0x18bc42['name'];const _0x53bfc5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2dfbc9['to']('isFocusable',_0x314f21=>!!_0x314f21&&0x0),'aria-labelledby':_0x33aae5['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2dfbc9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2dfbc9['to']('hasTooltip',_0x407b52=>!_0x407b52),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x33aae5]};_0x3568f4&&(_0x53bfc5['tag']='button',_0x53bfc5['on']={'click':_0x2dfbc9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x53bfc5);}}class at extends _0x379f83{constructor(_0x293c0e,_0x3e0b95){super(_0x293c0e),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3e0b95['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x558e27{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x41f81e){super(_0x41f81e),this['context']['config']['define']('presenceList',x);const _0x1416e3=_0x41f81e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1416e3)throw new _0x41a852('presencelist-collapseat-invalid-format',this);if(_0x1416e3<0x1)throw new _0x41a852('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x294023(),this['balloonPanelView']=new _0xda1005(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x52c476 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x52c476);this['listenTo'](this['_allConnectedUsers'],'add',(_0x15385f,_0x465e1e)=>{this['_handleUserAdd'](_0x465e1e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x43cb24,_0xcfac1)=>{this['_handleUserRemove'](_0xcfac1);});}['_createView'](){const _0x155fda=this['context'],_0x5771fb=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x17733b=this['balloonPanelView'];if(!_0x5a6ee3(_0x155fda['config']['get']('presenceList.container')))throw new _0x41a852('presencelist-missing-container',this);return _0x5771fb['counterView']['bind']('usersCount')['to'](this),_0x5771fb['bind']('isCollapsed')['to'](this,'usersCount',_0x54ba6c=>{const {collapseAt:_0x251808}=_0x155fda['config']['get']('presenceList'),_0x15673e=_0x54ba6c>=_0x251808;if(_0x15673e&&!_0x5771fb['inlineListView']['items']['find'](_0x2153ab=>_0x2153ab instanceof b)){const _0x144dfc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x144dfc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5771fb['inlineListView']['items']['add'](_0x5771fb['counterView']);}return _0x15673e||this['hideDropdown'](),_0x15673e;}),_0x5771fb['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4c052f=>{const _0x5db6b6=_0x155fda['config']['get']('presenceList'),_0x2b4e14=new A(_0x155fda['locale'],_0x4c052f,!!_0x5db6b6['onClick']);return _0x2b4e14['bind']('hasTooltip')['to'](_0x5771fb,'isCollapsed',_0x454f32=>!_0x454f32),_0x2b4e14['bind']('isFocusable')['to'](_0x5771fb,'isCollapsed',_0x5ca4de=>!_0x5ca4de),_0x5db6b6['onClick']&&this['listenTo'](_0x2b4e14,'execute',()=>{this['view']['isCollapsed']||_0x5db6b6['onClick'](_0x4c052f,_0x2b4e14['element']);}),_0x2b4e14;}),this['listenTo'](_0x5771fb['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5771fb['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5771fb['inlineListView']['keystrokes']['set']('Enter',(_0x4e2c71,_0x5d8b20)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5d8b20());}),_0x5771fb['render'](),_0x17733b['render'](),_0x170790({'emitter':_0x5771fb,'activator':()=>_0x17733b['isVisible'],'contextElements':[_0x17733b['element'],_0x5771fb['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x155fda['config']['get']('presenceList.container')['appendChild'](_0x5771fb['element']),this['_bodyCollection']=new _0xbf9b25(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5771fb;}['_handleUserAdd'](_0x51b1e5){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x51b1e5['isMe'])return;const _0x2e6151=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2e6151-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x531452=_0x51b1e5['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x51b1e5,_0x531452);}['_handleUserRemove'](_0x4f9699){this['usersCount']--;const {collapseAt:_0x22a870}=this['context']['config']['get']('presenceList'),_0x47cc3b=this['usersCount']>=_0x22a870;if(this['currentDisplayedUsers']['get'](_0x4f9699['id']))this['currentDisplayedUsers']['remove'](_0x4f9699['id']);else{if(_0x47cc3b&&this['currentDisplayedUsers']['length']+0x1===_0x22a870-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x47cc3b?0x1:0x0)<this['usersCount']){for(const _0x192326 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x192326['id'])&&(this['currentDisplayedUsers']['add'](_0x192326,Math['min'](this['currentDisplayedUsers']['length']-(_0x47cc3b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x47cc3b?0x1:0x0)===_0x22a870-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5a4256=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x5a4256['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xcbaf4}=this['presenceDropdownView'];_0xcbaf4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x363e15=>{if(!_0x5a4256['displayMe']&&_0x363e15['isMe'])return null;const _0x41e207=new j(this['context']['locale'],_0x363e15,!!_0x5a4256['onClick']);return _0x5a4256['onClick']&&this['listenTo'](_0x41e207,'execute',()=>{_0x5a4256['onClick'](_0x363e15,_0x41e207['element']);}),_0x41e207;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xcbaf4['focus'](),_0xcbaf4['checkIfScrollable']();const _0xc4aa13=(_0x5daf58,_0x2b9fd9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2b9fd9();};_0xcbaf4['keystrokes']['set']('Esc',_0xc4aa13),_0xcbaf4['keystrokes']['set']('Shift+Tab',_0xc4aa13),_0xcbaf4['keystrokes']['set']('Tab',(_0x53213b,_0x326ca6)=>{!function(_0x407efd){const _0x1a79fa=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xd7fd54=>_0xd7fd54+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x16e880=[...document['body']['querySelectorAll'](_0x1a79fa)]['filter'](_0x722b2c=>_0x722b2c===document['activeElement']||_0x722b2c['offsetWidth']+_0x722b2c['offsetHeight']>0x0)['sort']((_0x1e0457,_0x9809a2)=>(_0x1e0457['tabIndex']||0x0)-(_0x9809a2['tabIndex']||0x0)),_0x57a684=_0x16e880['indexOf'](_0x407efd),_0x175b58=_0x16e880[(_0x57a684+0x1)%_0x16e880['length']];_0x175b58&&_0x175b58['focus']();}(this['view']['element']),this['hideDropdown'](),_0x326ca6();}),_0xcbaf4['focusTracker']['add'](this['view']['element']),_0xcbaf4['focusTracker']['on']('change:isFocused',(_0x3af136,_0x12dd1d,_0x2e7a43)=>{_0x2e7a43||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 _0x558e27{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};