@ckeditor/ckeditor5-real-time-collaboration 43.1.0-alpha.3 → 43.1.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 _0x4094f3,Plugin as _0x399b4e,PendingActions as _0xa6ab4c,Context as _0x4095d1}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1f8cb4,CKEditorError as _0x33d818,Collection as _0xd9e3ba,global as _0x4b223b,version as nt,uid as _0x2ca2cd,KeystrokeHandler as _0x160ad3}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x38a67c,View as _0x2bd5ae,ListView as _0x28698d,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x780661,clickOutsideHandler as _0x1fb300,BodyCollection as _0x4c3f79}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x3e5ffd,NoOperation as _0x4f120b,InsertOperation as _0x5c872f,MarkerOperation as _0x8d7b39,RootAttributeOperation as _0x51d1ab,transformSets as _0x1f44c9,OperationFactory as _0x224f52}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x297bec,CollaborativeEditingService as _0x3e3ba6,User as lt,CommentsService as _0x17ad15,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3006d7,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4b3c4b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x56cf79}from'lodash-es';class c extends _0x4094f3{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x38a67c];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x238590){super(_0x238590),this['set']('state',_0x297bec['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x1f8cb4);}['init'](){const _0xbef334=this['context'],_0x3830bf=_0xbef334['plugins']['get']('CloudServices'),_0x4b5d61=_0xbef334['plugins']['get'](_0x38a67c);if(!_0x3830bf['token'])throw new _0x33d818('websocketgateway-missing-token',this);if(!_0x3830bf['webSocketUrl'])throw new _0x33d818('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x3830bf['token'],_0x3830bf['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4ddbac=>{if(this['connection']=_0x4ddbac,this['bind']('state')['to'](_0x4ddbac,'state',this,'_isBrowserOffline',(_0x2ba073,_0x44d05a)=>('connected'!==_0x2ba073&&(this['_shouldPluginsReconnect']=!0x0),_0x44d05a||_0x2ba073!==_0x297bec['CONNECTED']?_0x297bec['DISCONNECTED']:this['state']==_0x297bec['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x297bec['CONNECTING']):_0x297bec['CONNECTED'])),this['connection']['on']('error',(_0x213d27,_0x5755cc)=>{if('limitExceeded'!==_0x5755cc['code'])throw console['error'](_0x5755cc),new _0x33d818('cloudservices-init',null,{'originalError':_0x5755cc});_0x4b5d61['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'});}),!_0x4ddbac['me'])return new Promise(_0x5d1fd2=>_0x4ddbac['on']('change:me',_0x5d1fd2));})['catch'](_0x5615d2=>{throw console['error'](_0x5615d2),new _0x33d818('cloudservices-init',null,{'originalError':_0x5615d2});});}['addToReconnectionStack'](_0xf3f70b){if('function'!=typeof _0xf3f70b['reconnect'])throw new _0x33d818('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xf3f70b))throw new _0x33d818('websocketgateway-plugin-already-registered',this,{'name':_0xf3f70b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xf3f70b);}['removeFromReconnectionStack'](_0x7023af){this['_reconnectionStack']['delete'](_0x7023af);}['isInReconnectionStack'](_0x2e1d18){return this['_reconnectionStack']['has'](_0x2e1d18);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x502393=>_0x502393['reconnect']())))['then'](()=>this['state']=_0x297bec['CONNECTED'])['catch'](_0x4c6ddb=>{throw console['error'](_0x4c6ddb),new _0x33d818('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x297bec['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x4094f3{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x3006d7];}constructor(_0x11adc7){super(_0x11adc7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xd9e3ba(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3006d7);}['init'](){const _0x40b0da=this['context']['plugins']['get'](c);this['listenTo'](_0x40b0da,'change:state',(_0x5e6979,_0x311be8,_0xfbc231)=>{if('connected'!==_0xfbc231)this['channelSessions']['forEach'](_0x5ca393=>_0x5ca393['clear']()),this['channelConnectedUsers']['forEach'](_0x5a2911=>_0x5a2911['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x52bbfc,_0x15273a]of this['_registeredSessions'])for(const _0xc45bfb of _0x15273a)this['_handleSessionAdd'](_0x52bbfc,_0xc45bfb);}}),this['_createUser'](_0x40b0da['connection']['me'],!0x0);}['register'](_0x57a9e9,_0x53d3f9){if(this['_registeredSessions']['has'](_0x57a9e9))throw new _0x33d818('sessions-register-already-registered',null,{'channelId':_0x57a9e9});this['_registeredSessions']['set'](_0x57a9e9,_0x53d3f9),this['channelSessions']['set'](_0x57a9e9,new _0xd9e3ba()),this['channelConnectedUsers']['set'](_0x57a9e9,new _0xd9e3ba()),this['listenTo'](_0x53d3f9,'add',(_0x2aa1f5,_0x2c4f5d)=>this['_handleSessionAdd'](_0x57a9e9,_0x2c4f5d)),this['listenTo'](_0x53d3f9,'remove',(_0xce1200,_0x7261d2)=>this['_handleSessionRemove'](_0x57a9e9,_0x7261d2));for(const _0x39520e of _0x53d3f9)this['_handleSessionAdd'](_0x57a9e9,_0x39520e);}['unregister'](_0x4894d6){if(!this['_registeredSessions']['has'](_0x4894d6))throw new _0x33d818('sessions-unregister-not-exist',null,{'channelId':_0x4894d6});const _0x28d8a5=this['_registeredSessions']['get'](_0x4894d6);this['stopListening'](_0x28d8a5);for(const _0x42fa5e of _0x28d8a5)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x4894d6,_0x42fa5e);this['_registeredSessions']['delete'](_0x4894d6),this['channelSessions']['delete'](_0x4894d6),this['channelConnectedUsers']['delete'](_0x4894d6);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x142c8c){for(const _0x408c1b of this['channelSessions']['values']())for(const _0x28077a of _0x408c1b)if(_0x28077a['id']===_0x142c8c)return _0x28077a['user'];}['getUserSessions'](_0x4d7cba,_0x4923a8){const _0x323034=_0x4923a8?[this['channelSessions']['get'](_0x4923a8)]:this['channelSessions']['values'](),_0x59f1bc=new Set();for(const _0x3b088f of _0x323034)for(const _0x1bbf6d of _0x3b088f)_0x1bbf6d['user']['id']===_0x4d7cba['id']&&_0x59f1bc['add'](_0x1bbf6d['id']);return _0x59f1bc;}['getUserRole'](_0x2225ac){for(const _0x39838c of this['channelSessions']['values']())for(const _0x20c997 of _0x39838c)if(_0x20c997['user']===_0x2225ac)return _0x20c997['role'];}['_handleSessionAdd'](_0x178d83,_0x403d68){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x59032=_0x403d68['user'],_0x40596b=this['_users']['getUser'](_0x59032['id'])||this['_createUser'](_0x59032),_0x108ac3=Object['assign']({},_0x403d68,{'user':_0x40596b});this['channelSessions']['get'](_0x178d83)['add'](_0x108ac3);const _0x133913=this['channelConnectedUsers']['get'](_0x178d83);_0x133913['has'](_0x40596b['id'])||_0x133913['add'](_0x40596b),this['allConnectedUsers']['has'](_0x40596b['id'])||this['allConnectedUsers']['add'](_0x40596b,_0x40596b['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x178d83,{'channelId':_0x178d83,'session':_0x108ac3});}['_handleSessionRemove'](_0x36f152,_0xa090ec){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x44c67d=this['channelConnectedUsers']['get'](_0x36f152),_0x54be40=_0xa090ec['user'];_0x54be40['id']&&(this['channelSessions']['get'](_0x36f152)['remove'](_0xa090ec['id']),_0x44c67d['has'](_0x54be40['id'])&&!this['getUserSessions'](_0x54be40,_0x36f152)['size']&&_0x44c67d['remove'](_0x54be40['id']),this['allConnectedUsers']['get'](_0x54be40['id'])&&!this['getUserSessions'](_0x54be40)['size']&&this['allConnectedUsers']['remove'](_0x54be40['id']));}['_createUser'](_0x61635a,_0x332603){const _0x4dc8a3=this['_users']['addUser'](_0x61635a);return _0x332603&&this['_users']['defineMe'](_0x61635a['id']),_0x4dc8a3['orderNumber']=this['_uniqueUsersCount']++,_0x4dc8a3;}}class H extends _0x399b4e{['_domEmitter']=new(_0x1f8cb4())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x1b2d2f=this['editor'],_0x2d7073=_0x1b2d2f['plugins']['get'](r);_0x1b2d2f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x29d023,{writer:_0x107901})=>function(_0x51ec0a,_0x4ebf34,_0x2fe6d7,_0x3cb918){const _0x501ee1=_0x51ec0a['markerName']['split'](':')[0x2],_0xff51c0=_0x2fe6d7['getUserBySessionId'](_0x501ee1);if(!_0xff51c0||_0x501ee1===_0x2fe6d7['mySessionId'])return;if(!_0x3cb918['model']['schema']['checkChild'](_0x51ec0a['markerRange']['start'],'$text'))return;const _0x3f97e6={'class':'ck-user__marker\x20'+_0xff51c0['color']['getMarkerClass'](),'data-name':_0xff51c0['name'],'data-session-id':_0x501ee1},_0xc85ac7=_0x3cb918['model']['markers']['get'](_0x51ec0a['markerName']),_0x331217=_0xc85ac7['getStart'](),_0x317194=_0x331217['nodeAfter'],_0x227b83=_0x3cb918['model']['schema'];if(_0x317194&&_0x227b83['isObject'](_0x317194)&&_0x227b83['isInline'](_0x317194)&&!_0x3cb918['model']['markers']['get']('user:range:'+_0x501ee1)['getRange']()['isCollapsed'])return;const _0x42dab9=_0x331217['parent'];return _0x3cb918['model']['schema']['isLimit'](_0x42dab9)&&!_0x3cb918['model']['hasContent'](_0x42dab9)&&(_0x3f97e6['contenteditable']=!0x1),function(_0x154b0f,_0x41ce19,_0x4f4fbc){const _0x1ef44a=_0x154b0f['createUIElement']('span',_0x41ce19);return _0x154b0f['setCustomProperty']('userPositionMarker',!0x0,_0x1ef44a),_0x1ef44a['render']=function(_0x458996){const _0x53450d=this['toDomElement'](_0x458996);return _0x53450d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x4f4fbc['name']+'</span>⁠',_0x53450d['addEventListener']('mouseenter',()=>{_0x53450d['classList']['add']('ck-user__marker_hovered');}),_0x53450d['addEventListener']('mouseleave',()=>{_0x53450d['classList']['remove']('ck-user__marker_hovered');}),_0x53450d;},_0x1ef44a['isSimilar']=function(_0x5719cf){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5719cf['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5719cf['getAttribute']('data-session-id'));},_0x1ef44a;}(_0x4ebf34,_0x3f97e6,_0xff51c0);}(_0x29d023,_0x107901,_0x2d7073,_0x1b2d2f)}),_0x1b2d2f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x442d07=>function(_0x5b1330,_0x207131){const _0x35fe37=_0x5b1330['markerName']['split'](':')[0x2];if(_0x35fe37===_0x207131['mySessionId'])return null;const _0x18f144=_0x207131['getUserBySessionId'](_0x35fe37);if(!_0x18f144)return{'id':_0x35fe37,'classes':[]};return{'id':_0x35fe37,'classes':['ck-user__selection',_0x18f144['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x35fe37},'priority':0x7d0+_0x18f144['orderNumber']};}(_0x442d07,_0x2d7073)}),function(_0x2ecab0){const _0x5db2ea=_0x2ecab0['model'],_0x22bcff=new Map(),_0x2d7153=_0x2ecab0['plugins']['get'](r);_0x5db2ea['markers']['on']('update:user:range',(_0x9abc4f,_0x1095ec,_0x410406,_0x47711d)=>{if(!_0x47711d&&_0x22bcff['get'](_0x1095ec['name']))return _0x22bcff['get'](_0x1095ec['name'])['detach'](),void _0x22bcff['delete'](_0x1095ec['name']);const _0x510b7b=_0x1095ec['name']['split'](':')[0x2];if(_0x510b7b===_0x2d7153['mySessionId'])return;const _0x4a002a='user:position:'+_0x510b7b;_0x5db2ea['markers']['has'](_0x4a002a)&&_0x2ecab0['editing']['reconvertMarker'](_0x4a002a),_0x1095ec['on']('change:range',(_0x9d7968,_0x5b6fd2,_0x254c66)=>{if('$graveyard'!=_0x5b6fd2['root']['rootName']&&'$graveyard'==_0x1095ec['getRange']()['root']['rootName']&&!_0x22bcff['has'](_0x1095ec['name'])){const _0xb8aa8e=_0x5db2ea['schema']['getNearestSelectionRange'](_0x254c66['deletionPosition']);if(_0xb8aa8e){const _0x508ce5=ht['fromRange'](_0xb8aa8e);_0x22bcff['set'](_0x1095ec['name'],_0x508ce5),_0x508ce5['on']('change:range',(_0x43d7df,_0x3d430c,_0x559daa)=>{if('$graveyard'==_0x508ce5['root']['rootName']){const _0x27b346=_0x5db2ea['schema']['getNearestSelectionRange'](_0x559daa['deletionPosition']);_0x27b346?(_0x508ce5['start']=_0x27b346['start'],_0x508ce5['end']=_0x27b346['end']):(_0x22bcff['delete'](_0x1095ec['name']),_0x508ce5['detach']());}});}}});}),_0x5db2ea['document']['on']('change',()=>{_0x22bcff['size']>0x0&&_0x5db2ea['enqueueChange']({'isUndoable':!0x1},_0x2b203d=>{for(const [_0x537601,_0x33112e]of _0x22bcff)'$graveyard'==_0x5db2ea['markers']['get'](_0x537601)['getRange']()['root']['rootName']&&(re(_0x537601['split'](':')[0x2],_0x33112e['toRange'](),_0x5db2ea,_0x2b203d),_0x33112e['detach']());_0x22bcff['clear']();});});}(_0x1b2d2f),this['_domEmitter']['listenTo'](_0x4b223b['document'],'keydown',(_0xf8f45a,{key:_0x3cbc70})=>{'Escape'===_0x3cbc70&&function(_0x588d6a){_0x588d6a['editing']['view']['change'](_0x5a3f79=>{for(const _0x567861 of _0x588d6a['model']['markers']){if(!_0x567861['name']['startsWith']('user:position'))continue;const _0x5d7bec=_0x588d6a['editing']['mapper']['markerNameToElements'](_0x567861['name']);if(_0x5d7bec){for(const _0xae5343 of _0x5d7bec)_0x5a3f79['removeClass']('ck-user__marker_hovered',_0xae5343);}}});}(_0x1b2d2f);},{'useCapture':!0x0});}['afterInit'](){const _0x22feea=this['editor'],_0x1a182d=_0x22feea['commands']['get']('undo');_0x1a182d&&_0x22feea['model']['on']('applyOperation',(_0x430995,_0x17384c)=>{const _0x22fd05=_0x17384c[0x0];if('marker'!=_0x22fd05['type']||!_0x22fd05['name']['startsWith']('user:'))return;const _0x54668d=_0x22fd05['batch'];_0x1a182d['_createdBatches']['has'](_0x54668d)&&(_0x22fd05['newRange']=_0x22fd05['oldRange']?_0x22feea['model']['createRange'](_0x22fd05['oldRange']['start'],_0x22fd05['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5a20ac=this['editor'],_0x507d9e=_0x5a20ac['model']['document'],_0x4c28a1=_0x5a20ac['plugins']['get'](r);_0x5a20ac['model']['enqueueChange']({'isUndoable':!0x1},_0x50c7ac=>{const _0x46ff4f='user:range:'+_0x4c28a1['mySessionId'],_0x1ebfe6='user:position:'+_0x4c28a1['mySessionId'],_0x3a5e88=_0x5a20ac['model']['markers']['has'](_0x46ff4f);_0x5a20ac['editing']['view']['hasDomSelection']?re(_0x4c28a1['mySessionId'],_0x507d9e['selection']['getFirstRange'](),_0x5a20ac['model'],_0x50c7ac):_0x3a5e88&&(_0x50c7ac['removeMarker'](_0x46ff4f),_0x50c7ac['removeMarker'](_0x1ebfe6));});}}function re(_0x5b2427,_0x3eaf22,_0x5e5b44,_0x3c61ac){const _0x19f661='user:range:'+_0x5b2427,_0x41f78c='user:position:'+_0x5b2427,_0x45c285=_0x3eaf22['getContainedElement']();let _0x3e4b92=_0x3eaf22['start'];_0x45c285&&_0x45c285['is']('element','tableCell')&&(_0x3e4b92=function(_0x400b11,_0x33b4b4){for(const _0xeb9b7b of _0x400b11['getPositions']())if(_0x33b4b4['schema']['checkChild'](_0xeb9b7b,'$text'))return _0xeb9b7b;}(_0x3eaf22,_0x5e5b44),_0x3eaf22=_0x3c61ac['createRange'](_0x3e4b92));const _0x157ac6=_0x3c61ac['createRange'](_0x3e4b92);_0x5e5b44['markers']['has'](_0x19f661)?(_0x3c61ac['updateMarker'](_0x19f661,{'range':_0x3eaf22}),_0x3c61ac['updateMarker'](_0x41f78c,{'range':_0x157ac6})):(_0x3c61ac['addMarker'](_0x19f661,{'range':_0x3eaf22,'usingOperation':!0x0}),_0x3c61ac['addMarker'](_0x41f78c,{'range':_0x157ac6,'usingOperation':!0x0}));}function q(_0x57ef4d,_0x416f54,_0x5b9221){const t=_0x57ef4d['t'];switch(_0x416f54){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 t({'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'},_0x5b9221);default:return'';}}let K=0x1;class l extends _0x399b4e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3e3ba6)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,H,_0xa6ab4c,_0x3006d7,_0x38a67c];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x132eea=this['serverHistory']['getOperations']();for(let _0x3127c2=_0x132eea['length']-0x1;_0x3127c2>=0x0;_0x3127c2--){const _0x3bb22b=_0x132eea[_0x3127c2];if(!this['_disconnectionOperations']['has'](_0x3bb22b))return _0x3bb22b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x29e3e4){if(super(_0x29e3e4),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3e5ffd(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x33d818('collaboration-missing-channelid',this);const _0x21e00f=_0x29e3e4['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x21e00f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4b3c4b(),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 X(this['_disconnectionOperations']);}['init'](){const _0x27a14d=this['editor'],_0x2c2182=_0x27a14d['plugins']['get'](_0x3006d7),_0xdf23b0=_0x27a14d['plugins']['get'](c);this['listenTo'](_0x2c2182,'getOperationAuthor',(_0x5ebcb4,_0x96e8cb)=>{const _0x2d7fb1=_0x96e8cb[0x0];_0x2d7fb1['_authorId']&&(_0x5ebcb4['return']=_0x2c2182['getUser'](_0x2d7fb1['_authorId']),_0x5ebcb4['stop']()),null===_0x2d7fb1['_authorId']&&(_0x5ebcb4['return']=null,_0x5ebcb4['stop']());},{'priority':'high'}),this['listenTo'](_0x27a14d['model']['document']['selection'],'change:range',(_0x1a7cb9,_0x3355e2)=>{_0x3355e2['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x27a14d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x27a14d['model']['on']('applyOperation',(_0x501964,_0x1b06b7)=>{const _0x55993e=_0x1b06b7[0x0];_0x55993e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x55993e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xdf23b0,'state',this,'_hasSynchronizationProblem',(_0xc8a211,_0x1673d6)=>'connected'===_0xc8a211&&!_0x1673d6),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x27a14d['disableReadOnlyMode']('rtc-offline'):_0x27a14d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x27a14d['disableReadOnlyMode']('rtc-offline'):_0x27a14d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x109bdc=this['editor']['plugins']['get'](r),_0x32648c=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x109bdc['unregister'](this['_channelId']);const _0x318762=await this['_service']['reconnect'](_0x32648c['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x318762)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5e6ff3=await this['_service']['getConnectedSessions']();_0x109bdc['register'](this['_channelId'],_0x5e6ff3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x34ccb2){if(function(_0x48815f){return'404'===_0x48815f['code'];}(_0x34ccb2)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x28cc07){return'409'===_0x28cc07['code'];}(_0x34ccb2)){const _0x5bcc86=q(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x5bcc86);}else{if(!(_0x34ccb2 instanceof J))throw _0x34ccb2;this['_handleReconnectionError']();}}}}['destroy'](){const _0x534837=this['editor']['plugins']['get'](c),_0x4acd34=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4acd34['channelSessions']['has'](this['_channelId'])&&_0x4acd34['unregister'](this['_channelId']),_0x534837['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x46ccce){if(this['sessionId']!==_0x46ccce['sessionId']&&this['_lastSyncedOperationId']!==_0x46ccce['lastOperationId'])throw new J();return this['sessionId']=_0x46ccce['sessionId'],this['_handleServerResponse']([],{..._0x46ccce,'wereChangesApplied':!0x1,'data':_0x46ccce['data']},'reconnect');}async['_connectService'](_0x45fc9b,_0x570cca=!0x1){const {connection:_0x2b1bf5}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x2b1bf5,this['_channelId'])['then'](_0x26d1ec=>this['_initSessionsHandling'](_0x26d1ec))['catch'](_0xf411e0=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xf411e0);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5d9b89,_0x5e40b4)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x5e40b4);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x446dea=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x45fc9b);this['_isPendingUpdate']=!0x0;const _0x68d456=await this['_service']['connect'](_0x2b1bf5,this['_compressOperations'](_0x45fc9b),_0x446dea);if(this['sessionId']=_0x68d456['sessionId'],_0x570cca){if(!_0x68d456['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x68d456['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x45fc9b,_0x68d456,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x68d456,_0x45fc9b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x40ce9e=this['editor']['plugins']['get'](r),_0x49b952=this['editor']['plugins']['get'](H),_0x5e98ac=_0x40ce9e['channelSessions']['get'](this['_channelId']);_0x5e98ac&&_0x5e98ac['length']>0x1?_0x49b952['createUserMarkerOperations']():this['listenTo'](_0x40ce9e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x40ce9e['channelSessions']['get'](this['_channelId'])['length']&&_0x49b952['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x330da5,_0x166a42,_0x1beca1,_0xb97254){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x166a42){const _0x1e269b=this['_decompressOperations'](_0x1beca1,_0xb97254);await this['_fetchMissingUsers'](_0x1e269b),this['_handleExternalOperations'](_0x1e269b,_0x166a42,_0x1beca1['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x22cd66}=this['editor'];let _0x2433f5;try{_0x2433f5=await this['_service']['getDocumentDetails']();}catch(_0x3e70be){const _0x12aace=q(_0x22cd66,'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'](_0x12aace);}const _0x1656bd=_0x2433f5['currentDocumentSession']||_0x2433f5['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x1656bd['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x2399fe=q(_0x22cd66,'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.');this['_handleReconnectionError'](_0x2399fe);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x53930e){const _0x4f3353=this['editor']['plugins']['get'](r);this['listenTo'](_0x4f3353,'sessionAdd:'+this['_channelId'],(_0x5da9ab,{session:_0x502c78})=>{if(_0x502c78['id']===_0x4f3353['mySessionId']){_0x5da9ab['off']();const _0x1bae99=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3d51a8=_0x502c78['permissions'];_0x1bae99&&_0x1bae99['isEnabled']&&(_0x3d51a8=_0x3d51a8['filter'](_0x5c5a33=>'document:write'!==_0x5c5a33)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3d51a8,this['_channelId']);}}),_0x4f3353['register'](this['_channelId'],_0x53930e);}['_initThrowingOnDataSet'](){const _0x1d5359=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x46cf2b)=>{if(!_0x46cf2b[_0x46cf2b['length']-0x1]['suppressErrorInCollaboration'])throw new _0x33d818('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1d5359['apply'](this['editor']['data'],_0x46cf2b);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1e5e2e,[_0x35b827])=>{if(this['_document']['version'])throw new _0x33d818('realtimecollaborationclient-init-document-already-initialized',this);_0x1e5e2e['stop'](),this['_setPendingAction']();const _0x34ba0c=this['editor']['config']['get']('rootsAttributes'),_0x23ee96=this['_getOperationsFromInitData'](_0x35b827,_0x34ba0c);0x0==_0x23ee96['length']&&_0x23ee96['push'](new _0x4f120b(0x0)),_0x1e5e2e['return']=this['_connectService'](_0x23ee96)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4749f5=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4749f5))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x570641,[_0x2f80ba,_0x297b80])=>{_0x570641['stop']();const _0x343c3b=this['editor']['model']['document']['getRoot'](_0x2f80ba);if(!this['_knownRootNames']['has'](_0x2f80ba)){const _0x320892=_0x297b80&&_0x297b80['data']?_0x297b80['data']:'',_0x4fd86e=_0x297b80&&_0x297b80['attributes']?_0x297b80['attributes']:{};await this['_loadRoot'](_0x2f80ba,_0x320892,_0x4fd86e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x343c3b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x343c3b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x19408f){const _0x513269=this['editor']['plugins']['get'](_0x3006d7),{connection:_0x1eddf9}=this['editor']['plugins']['get'](c),_0x189343=new Set();for(const _0x474ef6 of _0x19408f){const _0x38eb88=_0x474ef6['_authorId'];_0x38eb88&&!_0x513269['getUser'](_0x38eb88)&&_0x189343['add'](_0x38eb88);}if(0x0===_0x189343['size'])return;const _0x2e1198=await lt['getMany'](_0x1eddf9,Array['from'](_0x189343));for(const _0x254d8c of _0x2e1198)_0x513269['getUser'](_0x254d8c['id'])||_0x513269['addUser'](_0x254d8c);}['_getOperationsFromInitData'](_0x4fbe90,_0x5a42f9={}){const _0x1bb934=this['editor']['model'],_0x1622ca=[];let _0x46766e=0x0;const _0x568d4b='string'==typeof _0x4fbe90?{'main':_0x4fbe90}:_0x4fbe90;for(const _0xaf280b of Object['keys'](_0x568d4b)){if(!this['_document']['roots']['has'](_0xaf280b))throw new _0x33d818('realtimecollaborationclient-init-non-existent-root',this);const _0x41b99e=this['editor']['data']['parse'](_0x568d4b[_0xaf280b]),_0x23162b=this['_document']['getRoot'](_0xaf280b),_0xdc560b=new _0x5c872f(_0x1bb934['createPositionAt'](_0x23162b,0x0),_0x41b99e,_0x46766e++);_0x1622ca['push'](_0xdc560b);for(const [_0x24b3a9,_0x49a0b5]of _0x41b99e['markers']){const _0x445b59=_0x1bb934['createRange'](_0x1bb934['createPositionFromPath'](_0x23162b,_0x49a0b5['start']['path']['slice']()),_0x1bb934['createPositionFromPath'](_0x23162b,_0x49a0b5['end']['path']['slice']())),_0xe8b063=new _0x8d7b39(_0x24b3a9,null,_0x445b59,_0x1bb934['markers'],!0x0,_0x46766e++);_0x1622ca['push'](_0xe8b063);}}if(_0x5a42f9)for(const [_0x3d2412,_0x2633f1]of Object['entries'](_0x5a42f9)){const _0x1962b6=_0x1bb934['document']['getRoot'](_0x3d2412);if(!_0x1962b6)throw new _0x33d818('multi-root-editor-root-attributes-no-root',null);for(const [_0x592f28,_0x4df79e]of Object['entries'](_0x2633f1))if(null!==_0x4df79e){const _0x3f089b=new _0x51d1ab(_0x1962b6,_0x592f28,null,_0x4df79e,_0x46766e++);_0x1622ca['push'](_0x3f089b);}}return _0x1622ca;}async['_loadRoot'](_0x281bfd,_0x2c8c8e,_0x77abfe){this['_getOperationsFromInitData']({[_0x281bfd]:_0x2c8c8e},{[_0x281bfd]:_0x77abfe})['forEach']((_0x4d5290,_0x5ed96d)=>{_0x4d5290['baseVersion']=this['_document']['version']+_0x5ed96d,_0x4d5290['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4d5290);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x57432b,_0x13ff9b){let _0x299e64;this['_offset']=_0x57432b['offset'];const _0x5ea8ea=_0x57432b['wereChangesApplied']&&!_0x57432b['initData'],_0x728eb9=_0x5ea8ea?0x0:_0x57432b['data']['baseVersion'];if(_0x13ff9b['forEach'](_0x2e54ec=>{_0x2e54ec['_isInit']=!0x0,_0x2e54ec['createdAt']=_0x57432b['sessionCreatedAt'],_0x2e54ec['_authorId']=null;}),_0x5ea8ea)_0x299e64=_0x13ff9b,this['_applyOperationsSet'](_0x299e64,_0x5ea8ea);else{if(_0x57432b['initData']){const _0x216244=this['_getOperationsFromInitData'](_0x57432b['initData']);this['_document']['history']['version']=-_0x216244['length'],_0x216244['forEach'](_0xc5fa98=>{_0xc5fa98['baseVersion']-=_0x216244['length'],_0xc5fa98['createdAt']=_0x57432b['sessionCreatedAt'],_0xc5fa98['_isInit']=!0x0,_0xc5fa98['_authorId']=null;}),this['_applyOperationsSet'](_0x216244,!0x0),this['serverHistory']['version']=-_0x216244['length']+this['_offset'],this['_updateServerHistory'](_0x216244);}this['_document']['history']['version']=_0x728eb9,_0x299e64=this['_decompressOperations'](_0x57432b['data'],_0x57432b['metadata']),await this['_fetchMissingUsers'](_0x299e64),this['_applyOperationsSet'](_0x299e64,_0x5ea8ea);}_0x57432b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x299e64,_0x57432b['lastOperationId']),this['_lastSyncedOperationId']=_0x57432b['lastOperationId']),this['serverHistory']['version']=_0x728eb9+this['_offset'],this['_updateServerHistory'](_0x299e64),_0x13ff9b['filter'](_0x2c144c=>{const _0x210187=this['_getAffectedRoot'](_0x2c144c);return _0x210187&&!this['_knownRootNames']['has'](_0x210187);})['forEach']((_0x3e5bf7,_0x120b59)=>{_0x3e5bf7['baseVersion']=this['_document']['version']+_0x120b59,this['_saveOperationInBuffer'](_0x3e5bf7);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4afba4,_0x145b1c){throw this['_isPendingUpdate']=!0x0,_0x145b1c&&console['error'](_0x145b1c),new _0x33d818(_0x4afba4,this['editor']);}['_saveOperationInBuffer'](_0xab3936){this['_knownOperations']['has'](_0xab3936)||(this['_knownOperations']['add'](_0xab3936),this['_bufferedOperations']['push'](_0xab3936),this['_pendingAction']||'marker'==_0xab3936['type']&&!_0xab3936['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x298ec0=!0x1){!_0x298ec0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x54dd85=>{_0x54dd85&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4f62da=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x28dfaa){return _0x28dfaa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x28dfaa['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x28dfaa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4f62da))throw _0x4f62da;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x442a4d=>{this['on']('change:_isPendingUpdate',()=>{_0x442a4d();});});}async['_sendBufferedOperations'](){const _0x4111ef=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x4111ef['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1adc6e=[...this['_bufferedOperations']];for(const _0x5a236d of _0x1adc6e)_0x5a236d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5a236d);const _0x3a7a04=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1adc6e),_0x37959a=K++,_0x131742=this['_compressOperations'](_0x1adc6e),_0x2935cb=await this['_service']['sendOperations'](_0x131742,_0x131742['baseVersion'],_0x3a7a04);try{return await this['_handleServerResponse'](_0x1adc6e,_0x2935cb,_0x37959a);}catch(_0x37bb29){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x37bb29);}}async['_handleServerResponse'](_0x20965a,_0x1ab977,_0x4751f5){if('error'in _0x1ab977)throw _0x1ab977['error'];let _0x16e4f5=!0x1;if(_0x1ab977['wereChangesApplied']){_0x1ab977['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1ab977['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfe2542=>!_0x20965a['includes'](_0xfe2542));for(const _0xf169b4 of _0x20965a)_0xf169b4['createdAt']='lastOperationAcceptedAt'in _0x1ab977&&_0x1ab977['lastOperationAcceptedAt']||void 0x0;Q(_0x20965a,_0x1ab977['version']-_0x20965a['length']),this['_updateServerHistory'](_0x20965a);const _0x5c714a=_0x20965a['filter'](_0x267796=>{if(!_0x267796['_isInit'])return!0x1;const _0x1d955a=this['_getAffectedRoot'](_0x267796);return _0x1d955a&&!this['_knownRootNames']['has'](_0x1d955a);});Q(_0x5c714a,this['_document']['version']),this['_applyOperationsSet'](_0x5c714a),_0x16e4f5=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1111cb=this['_decompressOperations'](_0x1ab977['data'],_0x1ab977['metadata'])['filter'](_0x1f2bb4=>_0x1f2bb4['baseVersion']>=this['_lastServerVersion']);_0x1111cb['forEach'](_0x421409=>this['_addKnownRoot'](_0x421409)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x564c52=>!_0x564c52['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x564c52))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1111cb),_0x16e4f5=this['_handleExternalOperations'](_0x1111cb,_0x1ab977['version'],_0x1ab977['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x16e4f5?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x435b90,_0x1bac2e,_0x22165f){try{const _0x35f138={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xede89e,operationsB:_0x5473eb,originalOperations:_0xde89b}=_0x1f44c9(_0x435b90,this['_bufferedOperations'],_0x35f138);Q(_0xede89e,this['_document']['version']),Q(_0x5473eb,_0x1bac2e);for(const _0x17c522 of _0xede89e){const _0x3a1513=_0xde89b['get'](_0x17c522);_0x17c522['_authorId']=_0x3a1513?_0x3a1513['_authorId']:null;}_0x22165f&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x435b90,_0x22165f),this['_lastSyncedOperationId']=_0x22165f),this['_bufferedOperations']=[..._0x5473eb],this['_applyOperationsSet'](_0xede89e),this['_updateServerHistory'](_0x435b90);}catch(_0x5650cf){return console['error'](_0x5650cf),!0x1;}return!0x0;}['_applyOperationsSet'](_0xcefd3b,_0x1274d8=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x142bd0=>{for(const _0xd75a67 of _0xcefd3b)this['_knownOperations']['add'](_0xd75a67),this['_addKnownRoot'](_0xd75a67),_0x142bd0['batch']['addOperation'](_0xd75a67),this['editor']['model']['applyOperation'](_0xd75a67);});}['_addKnownRoot'](_0x5c42f2){const _0x5c4ca1=this['_getAffectedRoot'](_0x5c42f2);_0x5c4ca1&&this['_knownRootNames']['add'](_0x5c4ca1);}['_getAffectedRoot'](_0x4e9479){let _0x3bfb83,_0xff9c6d;switch(_0x4e9479['type']){case'insert':_0x3bfb83=_0x4e9479['position']['root'];break;case'marker':if(_0xff9c6d=_0x4e9479['newRange'],!_0xff9c6d)return null;_0x3bfb83=_0xff9c6d['root'];break;case'addRootAttribute':_0x3bfb83=_0x4e9479['root'];break;case'addRoot':_0x3bfb83=_0x4e9479['affectedSelectable'];break;case'move':_0x3bfb83=_0x4e9479['targetPosition']['root'];break;default:return null;}return _0x3bfb83['rootName'];}['_updateServerHistory'](_0x45ce4f){_0x45ce4f['forEach'](_0x4dab73=>{const _0x14e4d6=_0x4dab73['clone']();_0x14e4d6['_authorId']=_0x4dab73['_authorId'],_0x14e4d6['_isInit']=!!_0x4dab73['_isInit'],_0x14e4d6['createdAt']=_0x4dab73['createdAt'],_0x14e4d6['baseVersion']+=this['_offset'],_0x4dab73['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x14e4d6),this['serverHistory']['addOperation'](_0x14e4d6);});}['_handleReconnectionError'](_0x5d6c82){const _0x41ed29=this['editor']['plugins']['get']('Notification'),_0x3f82e9=this['editor']['locale'];_0x5d6c82||(_0x5d6c82=q(_0x3f82e9,'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.')),_0x41ed29['showWarning'](_0x5d6c82,{'title':q(_0x3f82e9,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0xa6ab4c)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xa6ab4c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x11e7a3){const _0x338c18=_0x11e7a3['map'](_0x1fa51e=>_0x1fa51e['toJSON']());return this['_compressor']['compress'](_0x338c18);}['_decompressOperations'](_0x530be5,_0x2404fa){return this['_compressor']['decompress'](_0x530be5)['map']((_0x6f5585,_0x4c2956)=>{const _0x14844b='init'==_0x2404fa[_0x4c2956]['type'];if('InsertOperation'==_0x6f5585['__className']){const _0x253357=_0x6f5585['position']['root'];!this['_document']['getRoot'](_0x253357)&&(this['_document']['createRoot']('$root',_0x253357)['_isAttached']=!0x1);}const _0x45d214=_0x224f52['fromJSON'](_0x6f5585,this['_document']);return _0x45d214['wasUndone']=_0x6f5585['wasUndone'],_0x45d214['_isInit']=_0x14844b,_0x45d214['_authorId']=_0x14844b?null:_0x2404fa[_0x4c2956]['userId'],_0x45d214['_isDisconnection']='cs:removeUser'===_0x2404fa[_0x4c2956]['type'],_0x45d214['createdAt']=_0x2404fa[_0x4c2956]['createdAt'],_0x45d214;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x107aec=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x107aec&&_0x107aec['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x2b8e3a,_0x867694){for(const _0x3d3cf5 of _0x2b8e3a)_0x3d3cf5['baseVersion']=_0x867694++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x321c8a){this['_ignoredOperations']=_0x321c8a,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x344b43){let _0x3e843c=_0x344b43['length'];for(;_0x3e843c--;){const _0x2c8285=_0x344b43[_0x3e843c];if(!this['_ignoredOperations']['has'](_0x2c8285)){if(!this['_operationToId']['has'](_0x2c8285)){const _0x29f334=_0x2ca2cd()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2c8285,_0x29f334);}return this['_operationToId']['get'](_0x2c8285);}}}['setIdForTheLastOperation'](_0x241445,_0x7dba71){if(!_0x7dba71)return;let _0xdf9d35=_0x241445['length'];for(;_0xdf9d35--;){const _0x243145=_0x241445[_0xdf9d35];this['_ignoredOperations']['has'](_0x243145)||this['_operationToId']['set'](_0x243145,_0x7dba71);}}}class n extends _0x399b4e{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x4094f3{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x17ad15)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x3006d7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x10dbd5){super(_0x10dbd5),this['_services']=new Map();}async['init'](){const _0x874813=this['context'],_0x5431e5=_0x874813['plugins']['get']('CommentsRepository');if(_0x874813['plugins']['get'](c)['addToReconnectionStack'](this),_0x5431e5['adapter']={'addCommentThread':async({channelId:_0x17c48e,threadId:_0x2c5dbe,comments:_0x2f9dfa,resolvedAt:_0x1a8b03,resolvedBy:_0x16aa8e,context:_0x3e0acf,attributes:_0x51f353})=>{const _0x4befa4=await this['_getService'](_0x17c48e)['addCommentThread']({'commentThreadId':_0x2c5dbe,'comments':_0x2f9dfa['map'](_0x4fe9f1=>function(_0x3afe92,_0x4b499a,_0xe2b349){return{'commentThreadId':_0xe2b349,'commentId':_0x3afe92['commentId'],'userId':_0x3afe92['authorId'],'content':_0x3afe92['content'],'documentId':_0x4b499a,'createdAt':_0x3afe92['createdAt'],'attributes':_0x3afe92['attributes']||{}};}(_0x4fe9f1,_0x17c48e,_0x2c5dbe)),'resolvedAt':_0x1a8b03,'resolvedBy':_0x16aa8e,'context':_0x3e0acf,'attributes':_0x51f353})['catch'](ut);return{'threadId':_0x4befa4['commentThreadId'],'comments':_0x4befa4['comments']};},'getCommentThread':async({channelId:_0x421925,threadId:_0x245b08})=>{const _0x2425fa=await this['_getService'](_0x421925)['getCommentThread'](_0x245b08)['catch'](ut);return _0x2425fa['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2425fa]),{'threadId':_0x2425fa['commentThreadId'],'comments':_0x2425fa['comments']['map'](S),'context':_0x2425fa['context'],'resolvedAt':_0x2425fa['resolvedAt'],'resolvedBy':_0x2425fa['resolvedBy'],'attributes':_0x2425fa['attributes']||{}});},'updateCommentThread':async({channelId:_0x5b4c83,threadId:_0x3294d7,context:_0x100d23,unlinkedAt:_0x298a16,attributes:_0x53d771})=>this['_getService'](_0x5b4c83)['updateCommentThread']({'commentThreadId':_0x3294d7,'context':_0x100d23,'attributes':_0x53d771,'unlinkedAt':_0x298a16})['catch'](B)['catch'](ut),'resolveCommentThread':async({channelId:_0x3105f5,threadId:_0x1279a7})=>{const _0x509c8b=await this['_getService'](_0x3105f5)['resolveCommentThread'](_0x1279a7)['catch'](B)['catch'](ut);return{'threadId':_0x509c8b['commentThreadId'],'resolvedAt':_0x509c8b['resolvedAt'],'resolvedBy':_0x509c8b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x216d12,threadId:_0x493e02})=>this['_getService'](_0x216d12)['reopenCommentThread'](_0x493e02)['catch'](B)['catch'](ut),'removeCommentThread':({channelId:_0x5580d9,threadId:_0x325ee4})=>this['_getService'](_0x5580d9)['removeCommentThread'](_0x325ee4)['catch'](B)['catch'](ut),'addComment':({channelId:_0x2fc092,threadId:_0x2f6142,commentId:_0x195464,content:_0x2ed45e,attributes:_0xd4d47d})=>this['_getService'](_0x2fc092)['addComment'](_0x2f6142,_0x195464,_0x2ed45e,_0xd4d47d)['catch'](ut),'updateComment':({channelId:_0x180b0a,threadId:_0x124615,commentId:_0xbfe516,content:_0x4f9a07,attributes:_0x5f2a0a})=>this['_getService'](_0x180b0a)['updateComment'](_0x124615,_0xbfe516,_0x4f9a07,_0x5f2a0a)['catch'](B)['catch'](ut),'removeComment':({channelId:_0x3638a9,threadId:_0x12d6db,commentId:_0x53a06a})=>this['_getService'](_0x3638a9)['removeComment'](_0x12d6db,_0x53a06a)['catch'](B)['catch'](ut)},_0x874813 instanceof _0x4095d1){const _0x199eac=_0x874813['config']['get']('collaboration.channelId'),_0x22feaf=_0x874813['plugins']['get'](r);await this['_setUpService'](_0x199eac);const _0x40e587=await this['_services']['get'](_0x199eac)['getConnectedSessions']();this['listenTo'](_0x22feaf,'sessionAdd:'+_0x199eac,(_0x7f8670,{session:_0x285977})=>{_0x285977['id']===_0x22feaf['mySessionId']&&(_0x7f8670['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x285977['permissions'],_0x199eac));}),_0x22feaf['register'](_0x199eac,_0x40e587);}}async['_setUpService'](_0x361105){if(this['_services']['has'](_0x361105))throw new _0x33d818('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x361105});const _0x1673ce=this['context']['plugins']['get']('CommentsRepository'),_0x316f41=new a['CommentsService'](_0x361105);this['_services']['set'](_0x361105,_0x316f41),this['listenTo'](_0x316f41,'commentThreadAdded',(_0x862167,_0x5b3269)=>{const {commentThreadId:_0x491b6d,documentId:_0x21fa9a,context:_0x35203f,attributes:_0x59a546,resolvedAt:_0x2ca8b2,resolvedBy:_0x10ded2,comments:_0x30bcac}=_0x5b3269;_0x1673ce['getCommentThread'](_0x491b6d)||_0x1673ce['addCommentThread']({'threadId':_0x491b6d,'channelId':_0x21fa9a,'comments':_0x30bcac?_0x30bcac['map'](S):[],'context':_0x35203f,'attributes':_0x59a546,'resolvedAt':_0x2ca8b2,'resolvedBy':_0x10ded2,'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadUpdated',(_0x590d76,{commentThreadId:_0x1b0671,documentId:_0x170519,context:_0x4f806f,unlinkedAt:_0x28d7cf,attributes:_0x2e9736})=>{_0x1673ce['getCommentThread'](_0x1b0671)&&_0x1673ce['updateCommentThread']({'threadId':_0x1b0671,'channelId':_0x170519,'context':_0x4f806f,'unlinkedAt':_0x28d7cf,'attributes':_0x2e9736,'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadResolved',(_0x1a3f1f,{commentThreadId:_0x4733c3,resolvedBy:_0x16ba42,resolvedAt:_0x2b206c})=>{const _0x4884aa=_0x1673ce['getCommentThread'](_0x4733c3);_0x4884aa&&_0x4884aa['resolve']({'resolvedBy':_0x16ba42,'resolvedAt':_0x2b206c,'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadReopened',(_0x51ce25,{commentThreadId:_0x5328c6})=>{const _0x2c10ac=_0x1673ce['getCommentThread'](_0x5328c6);_0x2c10ac&&_0x2c10ac['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadRemoved',(_0x7a50d,{commentThreadId:_0x58dec9})=>{const _0x2cbc89=_0x1673ce['getCommentThread'](_0x58dec9);_0x2cbc89&&_0x2cbc89['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentAdded',(_0x5a48a9,_0x23cf1b)=>{const _0x53b22d=_0x23cf1b['commentThreadId'],_0x427277=_0x1673ce['getCommentThread'](_0x53b22d);_0x427277&&_0x427277['addComment']({...S(_0x23cf1b),'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentUpdated',(_0xc60a7b,{commentThreadId:_0x1e085c,commentId:_0x164c44,content:_0x510fce,attributes:_0x10e50f})=>{const _0x5c6f46=_0x1673ce['getCommentThread'](_0x1e085c);if(_0x5c6f46){const _0x1a3dc0=_0x5c6f46['getComment'](_0x164c44);_0x1a3dc0&&_0x1a3dc0['update']({'content':_0x510fce,'attributes':_0x10e50f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x316f41,'commentRemoved',(_0x3d02b9,{commentThreadId:_0x61aa41,commentId:_0x1b371f})=>{const _0x57fdb2=_0x1673ce['getCommentThread'](_0x61aa41);if(_0x57fdb2){const _0x5ea8e1=_0x57fdb2['getComment'](_0x1b371f);_0x5ea8e1&&_0x5ea8e1['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x361105);}['destroy'](){if(this['context']instanceof _0x4095d1){const _0x5dc524=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5dc524);}}['_terminateService'](_0x59c294){if(!this['_services']['has'](_0x59c294))throw new _0x33d818('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59c294});this['_getService'](_0x59c294)['disconnect'](),this['_services']['delete'](_0x59c294);}async['reconnect'](){for(const _0x3f2f29 of this['_services']['keys']())await this['_connectService'](_0x3f2f29);if(this['context']instanceof _0x4095d1){const _0xcf2789=this['context']['config']['get']('collaboration.channelId'),_0x164a3a=this['context']['plugins']['get'](r);_0x164a3a['unregister'](_0xcf2789);const _0x27df46=await this['_services']['get'](_0xcf2789)['getConnectedSessions']();_0x164a3a['register'](_0xcf2789,_0x27df46);}}async['_connectService'](_0x402157){const {connection:_0x403343}=this['context']['plugins']['get'](c),_0xe2c927=this['context']['plugins']['get']('CommentsRepository'),_0x3ae176=this['_services']['get'](_0x402157),_0x16893e=await _0x3ae176['connect'](_0x403343);await this['_fetchMissingUsersForThreads'](_0x16893e);const _0xad6e5f=new Set(Array['from'](_0xe2c927['getCommentThreads']({'channelId':_0x402157}),_0x1a58d4=>_0x1a58d4['id']));for(const _0x4968e5 of _0x16893e)_0x4968e5['deletedAt']||_0xad6e5f['delete'](_0x4968e5['commentThreadId']);for(const _0x3fda1b of _0xad6e5f)_0xe2c927['getCommentThread'](_0x3fda1b)['remove']({'isFromAdapter':!0x0});for(const _0x196749 of _0x16893e){let _0x207156=_0xe2c927['getCommentThread'](_0x196749['commentThreadId']);const {commentThreadId:_0x3e71af,context:_0x279e8d,attributes:_0x3575e7,resolvedBy:_0x27f5a6,resolvedAt:_0x3d2067,unlinkedAt:_0x2bf5bd,deletedAt:_0x49bff2}=_0x196749;if(_0x49bff2)continue;_0x207156||(_0x207156=_0xe2c927['addCommentThread']({'channelId':_0x402157,'threadId':_0x3e71af,'context':_0x279e8d,'attributes':_0x3575e7||{},'resolvedBy':_0x27f5a6,'resolvedAt':_0x3d2067,'unlinkedAt':_0x2bf5bd,'isFromAdapter':!0x0}));const _0x1cc8d3=new Set(Array['from'](_0x207156['comments'],_0x3c6545=>_0x3c6545['id']));for(const _0x405472 of _0x196749['comments'])_0x1cc8d3['delete'](_0x405472['commentId']);for(const _0x231252 of _0x1cc8d3)_0x207156['getComment'](_0x231252)['remove']({'isFromAdapter':!0x0});for(const _0x4b3f03 of _0x196749['comments']){const _0x538107=_0x207156['getComment'](_0x4b3f03['commentId']);_0x538107?_0x538107['content']!==_0x4b3f03['content']&&_0x538107['update']({'content':_0x4b3f03['content'],'isFromAdapter':!0x0}):_0x207156['addComment'](Object['assign'](S(_0x4b3f03),{'isFromAdapter':!0x0}));}}}['_getService'](_0x273dfe){if(!this['_services']['has'](_0x273dfe))throw new _0x33d818('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x273dfe});return this['_services']['get'](_0x273dfe);}async['_fetchMissingUsersForThreads'](_0x2bc53e){const _0x16ae52=this['context']['plugins']['get'](_0x3006d7),{connection:_0x2f9f6a}=this['context']['plugins']['get'](c),_0x502ce8=new Set();for(const {resolvedBy:_0x144f0a,comments:_0x4c0562}of _0x2bc53e){_0x144f0a&&!_0x16ae52['getUser'](_0x144f0a)&&_0x502ce8['add'](_0x144f0a);for(const {userId:_0x4feeeb}of _0x4c0562)_0x16ae52['getUser'](_0x4feeeb)||_0x502ce8['add'](_0x4feeeb);}if(0x0===_0x502ce8['size'])return;const _0x3d29ec=await lt['getMany'](_0x2f9f6a,Array['from'](_0x502ce8));for(const _0x3db18f of _0x3d29ec)_0x16ae52['getUser'](_0x3db18f['id'])||_0x16ae52['addUser'](_0x3db18f);}}async function B(_0x24bc1d){if('404'!==_0x24bc1d['code'])throw _0x24bc1d;}function ut(_0x8f598e){if((_0x3c59f8=_0x8f598e)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3c59f8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3c59f8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3c59f8;throw _0x8f598e;}function S(_0x333970){return{'threadId':_0x333970['commentThreadId'],'commentId':_0x333970['commentId'],'content':_0x333970['content'],'createdAt':_0x333970['createdAt'],'authorId':_0x333970['userId'],'attributes':_0x333970['attributes']||{}};}class g extends _0x399b4e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x562ad3){super(_0x562ad3);const _0x5b6285=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x5b6285);}['init'](){const _0x2a3a99=this['editor']['plugins']['get'](c),_0x4bd6ed=this['editor']['plugins']['get']('TrackChangesEditing');return _0x4bd6ed['adapter']={'getSuggestion':async _0x5d3963=>{await this['_waitForServiceReady']();const _0x3da9ac=await this['_trackChangesService']['get'](_0x5d3963)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x3da9ac]),_0x3da9ac;},'addSuggestion':async({id:_0x2d30dc,type:_0x17b9e1,data:_0x3962d2,originalSuggestionId:_0x1e459b,attributes:_0x150616})=>{await this['_waitForServiceReady']();const _0x1d217e={'id':_0x2d30dc,'type':_0x17b9e1,'data':_0x3962d2,'originalSuggestionId':_0x1e459b,'attributes':_0x150616},_0x6dabfb=await this['_trackChangesService']['add'](_0x2d30dc,_0x17b9e1,_0x3962d2,_0x1e459b,_0x150616)['catch'](_0xf50d2=>{if(ft(_0xf50d2))return new Promise(_0x330d09=>{this['_bufferedRequests']['set'](_0x2d30dc,{'resolve':_0x330d09,'suggestionData':_0x1d217e});});throw _0xf50d2;});return this['_bufferedRequests']['delete'](_0x2d30dc),_0x6dabfb;},'updateSuggestion':async(_0x2369a8,_0x355a81)=>{if(await this['_waitForServiceReady'](),'open'!==_0x355a81['state'])return this['_trackChangesService']['update'](_0x2369a8,_0x355a81)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2061f7,_0x3a26f8)=>{_0x4bd6ed['hasSuggestion'](_0x3a26f8['id'])&&(_0x4bd6ed['getSuggestion'](_0x3a26f8['id'])['attributes']=_0x3a26f8['attributes']);}),this['_trackChangesService']['connect'](_0x2a3a99['connection'])['then'](_0x4362d8=>(_0x2a3a99['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4362d8)['then'](()=>{for(const _0x4cfc5d of _0x4362d8){_0x4bd6ed['addSuggestionData'](_0x4cfc5d)['_saved']=!0x0;}})));}async['reconnect'](){const _0x47bf03=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x40a86a}=this['editor']['plugins']['get'](c),_0x3be276=await this['_trackChangesService']['connect'](_0x40a86a);await this['_fetchMissingUsersForThreads'](_0x3be276);for(const {suggestionData:_0x38510b,resolve:_0x1be4cd}of this['_bufferedRequests']['values']()){let _0x2c6253=_0x3be276['find'](_0x4b905a=>_0x4b905a['id']===_0x38510b['id']);_0x2c6253||(_0x2c6253=await this['_trackChangesService']['add'](_0x38510b['id'],_0x38510b['type'],_0x38510b['data'],_0x38510b['originalSuggestionId'])),_0x1be4cd(_0x2c6253);}for(const _0x257eaf of _0x3be276)_0x47bf03['hasSuggestion'](_0x257eaf['id'])||_0x47bf03['addSuggestionData'](_0x257eaf);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3fc3fa=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3ffeff=>{_0x3ffeff['off'](),_0x3fc3fa();});});}async['_fetchMissingUsersForThreads'](_0x23a02c){const _0x375a47=this['editor']['plugins']['get'](_0x3006d7),{connection:_0x4e9e1e}=this['editor']['plugins']['get'](c),_0x5049fa=new Set();for(const {authorId:_0x1eae3c}of _0x23a02c)_0x375a47['getUser'](_0x1eae3c)||_0x5049fa['add'](_0x1eae3c);if(0x0===_0x5049fa['size'])return;const _0x273e80=await lt['getMany'](_0x4e9e1e,Array['from'](_0x5049fa));for(const _0x5d2d86 of _0x273e80)_0x375a47['getUser'](_0x5d2d86['id'])||_0x375a47['addUser'](_0x5d2d86);}}function R(_0x99c34d){if(ft(_0x99c34d))return new Promise(()=>{});throw _0x99c34d;}function ft(_0x42acd2){return _0x42acd2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x42acd2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x399b4e{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x1d3807=this['editor']['plugins']['get'](c),_0x170a38=this['editor']['plugins']['get']('CommentsEditing'),_0x496b6d=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1d3807,'change:state',(_0x283904,_0x419230,_0x1b23d6)=>{_0x170a38['isThreadsLoadingPaused']='connected'!==_0x1b23d6;});}),this['listenTo'](_0x1d3807,'change:state',(_0x2a6268,_0x8c7bc9,_0x433f1a)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x433f1a);}),_0x496b6d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x399b4e{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0x399b4e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x3006d7];}constructor(_0x41a24e){super(_0x41a24e);const _0x5f8b76=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x5f8b76);}async['init'](){const _0x211cc4=this['editor']['plugins']['get'](l),_0x3a60ca=_0x211cc4['serverHistory'],_0x4eec15=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3a60ca,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x211cc4['sessionId']});const _0xcfa064=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x31f5c2=await tt['isBundleUploaded'](_0x4eec15['connection'],_0xcfa064);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0xfe6c78})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xfe6c78)),'updateRevisions':async _0x53963a=>{await this['_waitForServiceReady']();const _0x199b5a=this['_revisionTracker']['currentRevision'];if(_0x31f5c2&&0x1===_0x53963a['length']&&_0x53963a[0x0]['id']===_0x199b5a['id'])return _0x53963a;for(const _0x2360fb of _0x53963a)_0x2360fb['id']===_0x199b5a['id']&&(_0x2360fb['isEmptyCurrent']=_0x2360fb['fromVersion']===_0x2360fb['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x53963a,this['_lastRequestId'])['then'](_0x13dd35=>(this['_lastRequestId']=_0x13dd35,_0x53963a))['catch'](_0x488b84=>{if(st(_0x488b84)||'400'===_0x488b84['code']&&void 0x0!==_0x488b84['data']['wrongRequestId']){for(const _0x55abf5 of _0x53963a){!this['_revisionTracker']['repository']['getRevision'](_0x55abf5['id'])||this['_revisionTracker']['_bufferUpdate'](_0x55abf5['id'],_0x55abf5,!0x1);}if(st(_0x488b84))throw _0x488b84;return _0x53963a;}throw _0x488b84;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5a7060,{revisionsData:_0xac3f8b,requestId:_0x34e7f2})=>{Math['max'](..._0xac3f8b['map'](_0x2a0b64=>_0x2a0b64['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xac3f8b,_0x34e7f2);}):this['_handleRevisionsUpdate'](_0xac3f8b,_0x34e7f2);});const {revisions:_0x373d2d,requestId:_0x1a58c8}=await this['_revisionHistoryService']['connect'](_0x4eec15['connection']);_0x4eec15['addToReconnectionStack'](this),this['_lastRequestId']=_0x1a58c8,await this['_fetchMissingUsers'](_0x373d2d);for(const _0x2f8894 of _0x373d2d)this['_revisionTracker']['addRevisionData'](_0x2f8894);this['listenTo'](_0x211cc4,'change:_isConnected',(_0x3c3783,_0x5d57a9,_0x3dd93a)=>{_0x3dd93a&&(this['_oldOffset']=_0x211cc4['_offset'],_0x3c3783['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4eec15,'state',_0x1f41e2=>_0x1f41e2===_0x297bec['CONNECTED']);}async['reconnect'](){const _0x31be8b=this['editor']['plugins']['get'](c),_0x35e048=this['editor']['plugins']['get'](l),_0x380250=async()=>{const _0x20c250=this['_revisionTracker']['currentRevision'],_0xb8da99=_0x20c250['id'],_0x28be51=_0xb8da99!==_0x35e048['sessionId'];if(_0x28be51){const _0x3fab01=_0x35e048['_offset']-this['_oldOffset'],_0x1b1b41=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x20c250['toVersion']+_0x3fab01!==_0x1b1b41){const _0x3f0963=_0x20c250['fromVersion']+_0x3fab01,_0x2ba417=this['editor']['plugins']['get'](_0x3006d7),_0x1927c6=this['_revisionTracker']['buildRevisionData']({'revision':_0x20c250,'from':_0x3f0963,'to':_0x1b1b41});_0x1927c6['id']=_0x20c250['id'];const _0x290f24=_0x1927c6['authorsIds']['map'](_0x247348=>_0x2ba417['getUser'](_0x247348));_0x20c250['_update']({..._0x1927c6,'authors':_0x290f24},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x20c250['id'],_0x1927c6,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1b1b41,(_0x20c250['toVersion']===_0x20c250['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xb8da99)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xb8da99),this['_revisionTracker']['_createCurrentRevision'](_0x1b1b41));}const {revisions:_0x311a92,requestId:_0x3b7de0}=await this['_revisionHistoryService']['reconnect'](_0x31be8b['connection'],this['_lastRequestId']);_0x28be51&&_0x311a92['length']>0x0?_0x35e048['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x311a92),this['_handleRevisionsUpdate'](_0x311a92,_0x3b7de0),this['_revisionTracker']['sendBufferedUpdates']());};return _0x35e048['_isConnected']?_0x380250():new Promise((_0x205995,_0x27c74a)=>{_0x35e048['once']('change:_isConnected',()=>{_0x380250()['then'](_0x205995)['catch'](_0x27c74a);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xfcfce1=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x12afbc=>{_0x12afbc['off'](),_0xfcfce1();});});}['_getLatestVersionFromServerOperations'](){const _0x50a20c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xf110b9 of _0x50a20c)if('marker'!==_0xf110b9['type']||_0xf110b9['affectsData'])return _0xf110b9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1f49c5=this['editor']['plugins']['get'](l);return new Promise(_0x2e12b2=>{_0x1f49c5['_isPendingUpdate']?_0x1f49c5['once']('change:_isPendingUpdate',()=>{_0x2e12b2(this['_getLatestVersionFromServerOperations']());}):_0x2e12b2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1813a9,_0x2eb632){const _0x1447d8=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2eb632;for(const _0x3d0dc1 of _0x1813a9){const _0xd4e596=_0x1447d8['getRevision'](_0x3d0dc1['id']);if(_0xd4e596){if((_0x3d0dc1['fromVersion']||_0x3d0dc1['toVersion'])&&(_0x3d0dc1['diffData']=null),_0xd4e596===this['_revisionTracker']['currentRevision']){const _0x411213=Math['max'](_0xd4e596['toVersion'],_0x3d0dc1['toVersion']),_0x56390e=Math['max'](_0xd4e596['fromVersion'],_0x3d0dc1['fromVersion']);let _0x465887;_0xd4e596['toVersion']===_0x3d0dc1['toVersion']&&_0xd4e596['fromVersion']===_0x3d0dc1['fromVersion']?(_0x465887=!0x0,this['_preventResendingRevisionData'](_0x3d0dc1)):_0x3d0dc1['toVersion']===_0x411213&&_0x3d0dc1['fromVersion']===_0x56390e?_0x465887=!0x1:(_0xd4e596['toVersion']===_0x411213&&_0xd4e596['fromVersion']===_0x56390e||this['_fixRevision']({'revision':_0xd4e596,'from':_0x56390e,'to':_0x411213}),_0x465887=!0x0),_0x465887&&(delete _0x3d0dc1['fromVersion'],delete _0x3d0dc1['toVersion'],delete _0x3d0dc1['diffData'],delete _0x3d0dc1['createdAt'],delete _0x3d0dc1['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3d0dc1),this['_preventResendingRevisionData'](_0x3d0dc1);}else this['_revisionTracker']['addRevisionData'](_0x3d0dc1);}const _0x29e88e=_0x1447d8['getRevisions']();_0x29e88e['reverse']();for(let _0x37d23b=0x0;_0x37d23b<_0x29e88e['length']-0x1;_0x37d23b++){const _0x8f6966=_0x29e88e[_0x37d23b],_0x412bbf=_0x29e88e[_0x37d23b+0x1];if(_0x8f6966['fromVersion']<_0x412bbf['toVersion']){const _0x4d9957=_0x412bbf['toVersion'],_0x22e419=Math['max'](_0x4d9957,_0x8f6966['toVersion']);this['_fixRevision']({'revision':_0x8f6966,'from':_0x4d9957,'to':_0x22e419});}}}['_fixRevision']({revision:_0x4e8a74,from:_0x1a97be,to:_0x570cb4}={}){const _0x1dbd6a=this['editor']['plugins']['get'](_0x3006d7),_0x40fbd7=this['_revisionTracker']['buildRevisionData']({'revision':_0x4e8a74,'from':_0x1a97be,'to':_0x570cb4});_0x40fbd7['authors']=_0x40fbd7['authorsIds']['map'](_0x367a11=>_0x1dbd6a['getUser'](_0x367a11)),_0x4e8a74['_update'](_0x40fbd7);}['_preventResendingRevisionData'](_0x6cea0e){const _0x463e9a={};_0x463e9a['id']=_0x6cea0e['id'];for(const _0x453f99 of Object['keys'](_0x6cea0e))'id'!==_0x453f99&&(_0x463e9a[_0x453f99]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x463e9a['id'],_0x463e9a,!0x0);}async['_fetchMissingUsers'](_0x1f81a1){const _0x320428=this['editor']['plugins']['get'](_0x3006d7),{connection:_0x107446}=this['editor']['plugins']['get'](c),_0x557cff=new Set();for(const _0x28c2fa of _0x1f81a1){for(const _0x1ab480 of _0x28c2fa['authorsIds'])_0x2dc5ca(_0x1ab480);_0x28c2fa['creatorId']&&_0x2dc5ca(_0x28c2fa['creatorId']);}if(0x0===_0x557cff['size'])return;const _0x215ce1=await lt['getMany'](_0x107446,Array['from'](_0x557cff));for(const _0x580ef6 of _0x215ce1)_0x320428['getUser'](_0x580ef6['id'])||_0x320428['addUser'](_0x580ef6);function _0x2dc5ca(_0x4f5ea8){_0x320428['getUser'](_0x4f5ea8)||_0x557cff['add'](_0x4f5ea8);}}}function st(_0x21aeae){return _0x21aeae['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x21aeae['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x21aeae['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x399b4e{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x2bd5ae{constructor(_0x46a405){super(_0x46a405);const _0x3cd77d=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x3cd77d['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x3cd77d['to']('usersCount',_0x27c319=>q(_0x46a405,'CONNECTED_USERS',_0x27c319))}]});}}class es extends _0x2bd5ae{['items'];['keystrokes'];constructor(_0x1055e8){super(_0x1055e8);const _0x44e8b6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x160ad3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x44e8b6['if']('hasPopup'),'aria-expanded':_0x44e8b6['to']('isExpanded',_0x213a38=>this['hasPopup']&&String(_0x213a38)),'aria-label':_0x44e8b6['to']('hasPopup',_0x3e8ed4=>q(_0x1055e8,_0x3e8ed4?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x44e8b6['to']('hasPopup',_0x3d1fd0=>!!_0x3d1fd0&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x44e8b6['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x1510e3,_0x3a7b9c,_0x4540e2)=>{this['element']&&(_0x4540e2?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 L extends _0x2bd5ae{['counterView'];['inlineListView'];constructor(_0x578ff2){super(_0x578ff2);const _0x13920b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x578ff2),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2f115b of this['inlineListView']['items'])_0x2f115b['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',_0x13920b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x2bd5ae{['listWrapperView'];constructor(_0xaa7408,_0x49641b){super(_0xaa7408),this['listWrapperView']=new mt(_0xaa7408,_0x49641b),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0xaa7408,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x28698d{constructor(_0xe12d90,_0x41b410){super(_0xe12d90);const _0x3c24f5=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x41b410?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3c24f5['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3c24f5['to']('role'),'aria-label':_0x3c24f5['to']('ariaLabel'),'aria-labelledby':_0x3c24f5['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4b223b['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4bbac0=this['element'];_0x4bbac0&&(this['_isScrollable']=Math['max'](_0x4bbac0['scrollHeight'],_0x4bbac0['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x217a9c,_0x26e748,_0x336a50){super(_0x217a9c);const _0x15cd67=this['bindTemplate'];this['userView']=new ct(_0x217a9c,_0x26e748);const _0x538465={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x26e748['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x26e748['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x26e748['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x336a50&&(_0x538465['tag']='button',_0x538465['on']={'click':_0x15cd67['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x538465);}['focus'](){this['element']['focus']();}}class y extends _0x2bd5ae{['userView'];['markerView'];constructor(_0x1f1b71,_0x1b7553,_0x17c120){super(_0x1f1b71);const _0x35e94e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x1f1b71,_0x1b7553),this['markerView']=new at(_0x1f1b71,_0x1b7553);const _0x374dff=new ot(_0x1f1b71);_0x374dff['template']['tag']='span',_0x374dff['text']=_0x1b7553['name'];const _0x152dbb={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x35e94e['to']('isFocusable',_0x45fbca=>!!_0x45fbca&&0x0),'aria-labelledby':_0x374dff['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x35e94e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x35e94e['to']('hasTooltip',_0x212fe6=>!_0x212fe6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x374dff]};_0x17c120&&(_0x152dbb['tag']='button',_0x152dbb['on']={'click':_0x35e94e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x152dbb);}}class at extends _0x2bd5ae{constructor(_0x4262ec,_0x3ec93e){super(_0x4262ec),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3ec93e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x4094f3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x583196){super(_0x583196),this['context']['config']['define']('presenceList',A);const _0x1a32a7=_0x583196['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1a32a7)throw new _0x33d818('presencelist-collapseat-invalid-format',this);if(_0x1a32a7<0x1)throw new _0x33d818('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xd9e3ba(),this['balloonPanelView']=new _0x780661(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x532041 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x532041);this['listenTo'](this['_allConnectedUsers'],'add',(_0x165a22,_0x58cb8e)=>{this['_handleUserAdd'](_0x58cb8e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5442f0,_0x2c9835)=>{this['_handleUserRemove'](_0x2c9835);});}['_createView'](){const _0x20082e=this['context'],_0x28f255=new L(this['context']['locale']),_0x2aa48e=this['balloonPanelView'];if(!_0x56cf79(_0x20082e['config']['get']('presenceList.container')))throw new _0x33d818('presencelist-missing-container',this);return _0x28f255['counterView']['bind']('usersCount')['to'](this),_0x28f255['bind']('isCollapsed')['to'](this,'usersCount',_0x3e6ef6=>{const {collapseAt:_0x5dca8d,displayMe:_0x3a95d3}=_0x20082e['config']['get']('presenceList'),_0x421544=_0x3e6ef6>=_0x5dca8d;return _0x28f255['counterView']['isHidden']=!(0x1==_0x3e6ef6&&_0x3a95d3||_0x421544),_0x421544||this['hideDropdown'](),_0x421544;}),_0x28f255['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x531a29=>{const _0x5447e4=_0x20082e['config']['get']('presenceList'),_0x20b8bf=new y(_0x20082e['locale'],_0x531a29,!!_0x5447e4['onClick']);return _0x20b8bf['bind']('hasTooltip')['to'](_0x28f255,'isCollapsed',_0x38f75b=>!_0x38f75b),_0x20b8bf['bind']('isFocusable')['to'](_0x28f255,'isCollapsed',_0x220b86=>!_0x220b86),_0x5447e4['onClick']&&this['listenTo'](_0x20b8bf,'execute',()=>{this['view']['isCollapsed']||_0x5447e4['onClick'](_0x531a29,_0x20b8bf['element']);}),_0x20b8bf;}),this['listenTo'](_0x28f255['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x28f255['inlineListView']['keystrokes']['set']('Enter',(_0x2a0a49,_0x5488d7)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5488d7());}),_0x28f255['render'](),_0x2aa48e['render'](),_0x1fb300({'emitter':_0x28f255,'activator':()=>_0x2aa48e['isVisible'],'contextElements':[_0x2aa48e['element'],_0x28f255['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x20082e['config']['get']('presenceList.container')['appendChild'](_0x28f255['element']),this['_bodyCollection']=new _0x4c3f79(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x28f255;}['_handleUserAdd'](_0x5055f7){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5055f7['isMe'])return;const _0x4b8458=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x4b8458&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0xd3d37e=_0x5055f7['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5055f7,_0xd3d37e);}['_handleUserRemove'](_0x26a307){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x26a307['id'])&&(this['currentDisplayedUsers']['remove'](_0x26a307['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x143079 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x143079['id']))return void this['currentDisplayedUsers']['add'](_0x143079,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x18b4df=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x18b4df['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x172dbb}=this['presenceDropdownView'];_0x172dbb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xc2a9bd=>{if(!_0x18b4df['displayMe']&&_0xc2a9bd['isMe'])return null;const _0x505623=new k(this['context']['locale'],_0xc2a9bd,!!_0x18b4df['onClick']);return _0x18b4df['onClick']&&this['listenTo'](_0x505623,'execute',()=>{_0x18b4df['onClick'](_0xc2a9bd,_0x505623['element']);}),_0x505623;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x172dbb['focus'](),_0x172dbb['checkIfScrollable']();const _0xe316af=(_0x4c8a1c,_0x25ce8f)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x25ce8f();};_0x172dbb['keystrokes']['set']('Esc',_0xe316af),_0x172dbb['keystrokes']['set']('Shift+Tab',_0xe316af),_0x172dbb['keystrokes']['set']('Tab',(_0x4bfb18,_0x4eb532)=>{!function(_0x2ae9a5){const _0x13e13d=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x528c44=>_0x528c44+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x3867ed=[...document['body']['querySelectorAll'](_0x13e13d)]['filter'](_0x16e50b=>_0x16e50b===document['activeElement']||_0x16e50b['offsetWidth']+_0x16e50b['offsetHeight']>0x0)['sort']((_0x1223ac,_0x5e0a1e)=>(_0x1223ac['tabIndex']||0x0)-(_0x5e0a1e['tabIndex']||0x0)),_0xaad997=_0x3867ed['indexOf'](_0x2ae9a5),_0x28193e=_0x3867ed[(_0xaad997+0x1)%_0x3867ed['length']];_0x28193e&&_0x28193e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4eb532();}),_0x172dbb['focusTracker']['add'](this['view']['element']),_0x172dbb['focusTracker']['on']('change:isFocused',(_0x4c3019,_0x49a93a,_0x53191b)=>{_0x53191b||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 i extends _0x4094f3{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x4da67b,Plugin as _0x447feb,PendingActions as _0x3a8740,Context as _0x58c730}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x469dda,CKEditorError as _0x32a172,Collection as _0x3d8231,global as _0x5c2f10,version as nt,uid as _0x2efd84,KeystrokeHandler as _0x289003}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5c50b4,View as _0x492637,ListView as _0x29505a,ListItemView as et,LabelView as ot,BalloonPanelView as _0x34ab26,clickOutsideHandler as _0xe2b371,BodyCollection as _0x56bcda}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as at,History as _0x227ed0,NoOperation as _0x11f525,InsertOperation as _0x1017dd,MarkerOperation as _0x5cb22a,RootAttributeOperation as _0x49bfd9,transformSets as _0xa91ba8,OperationFactory as _0x319f1b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as _0x21eb19,CollaborativeEditingService as _0x39a984,User as dt,CommentsService as _0x4b45f5,TrackChangesService as st,RevisionHistoryService as _0x42f4d4,EditorService as _0x57fffd}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x333c9d,UserView as rt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x14d01b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x43594e}from'lodash-es';class c extends _0x4da67b{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5c50b4];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x474f8c){super(_0x474f8c),this['set']('state',_0x21eb19['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x469dda);}['init'](){const _0x5e86a9=this['context'],_0x358710=_0x5e86a9['plugins']['get']('CloudServices'),_0x442bf0=_0x5e86a9['plugins']['get'](_0x5c50b4);if(!_0x358710['token'])throw new _0x32a172('websocketgateway-missing-token',this);if(!_0x358710['webSocketUrl'])throw new _0x32a172('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x358710['token'],_0x358710['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x18d49b=>{if(this['connection']=_0x18d49b,this['bind']('state')['to'](_0x18d49b,'state',this,'_isBrowserOffline',(_0x3d4f0f,_0x4638b7)=>('connected'!==_0x3d4f0f&&(this['_shouldPluginsReconnect']=!0x0),_0x4638b7||_0x3d4f0f!==_0x21eb19['CONNECTED']?_0x21eb19['DISCONNECTED']:this['state']==_0x21eb19['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x21eb19['CONNECTING']):_0x21eb19['CONNECTED'])),this['connection']['on']('error',(_0x246bc3,_0x1b2670)=>{if('limitExceeded'!==_0x1b2670['code'])throw console['error'](_0x1b2670),new _0x32a172('cloudservices-init',null,{'originalError':_0x1b2670});_0x442bf0['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'});}),!_0x18d49b['me'])return new Promise(_0x53ad44=>_0x18d49b['on']('change:me',_0x53ad44));})['catch'](_0x2d3663=>{throw console['error'](_0x2d3663),new _0x32a172('cloudservices-init',null,{'originalError':_0x2d3663});});}['addToReconnectionStack'](_0x1bf656){if('function'!=typeof _0x1bf656['reconnect'])throw new _0x32a172('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1bf656))throw new _0x32a172('websocketgateway-plugin-already-registered',this,{'name':_0x1bf656['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1bf656);}['removeFromReconnectionStack'](_0x27ba5c){this['_reconnectionStack']['delete'](_0x27ba5c);}['isInReconnectionStack'](_0x236807){return this['_reconnectionStack']['has'](_0x236807);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x42693e=>_0x42693e['reconnect']())))['then'](()=>this['state']=_0x21eb19['CONNECTED'])['catch'](_0x4539a8=>{throw console['error'](_0x4539a8),new _0x32a172('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x21eb19['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x4da67b{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x333c9d];}constructor(_0x1f4ef6){super(_0x1f4ef6),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3d8231(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x333c9d);}['init'](){const _0x137cb5=this['context']['plugins']['get'](c);this['listenTo'](_0x137cb5,'change:state',(_0x9128bd,_0xb5442a,_0x3859ce)=>{if('connected'!==_0x3859ce)this['channelSessions']['forEach'](_0x1ca435=>_0x1ca435['clear']()),this['channelConnectedUsers']['forEach'](_0x45edf2=>_0x45edf2['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2415cc,_0x397cb6]of this['_registeredSessions'])for(const _0x5d017a of _0x397cb6)this['_handleSessionAdd'](_0x2415cc,_0x5d017a);}}),this['_createUser'](_0x137cb5['connection']['me'],!0x0);}['register'](_0x549c10,_0x1c3c4b){if(this['_registeredSessions']['has'](_0x549c10))throw new _0x32a172('sessions-register-already-registered',null,{'channelId':_0x549c10});this['_registeredSessions']['set'](_0x549c10,_0x1c3c4b),this['channelSessions']['set'](_0x549c10,new _0x3d8231()),this['channelConnectedUsers']['set'](_0x549c10,new _0x3d8231()),this['listenTo'](_0x1c3c4b,'add',(_0x4aee5b,_0x4d333e)=>this['_handleSessionAdd'](_0x549c10,_0x4d333e)),this['listenTo'](_0x1c3c4b,'remove',(_0x10ddaa,_0x5b50a7)=>this['_handleSessionRemove'](_0x549c10,_0x5b50a7));for(const _0x186efc of _0x1c3c4b)this['_handleSessionAdd'](_0x549c10,_0x186efc);}['unregister'](_0x5c66fd){if(!this['_registeredSessions']['has'](_0x5c66fd))throw new _0x32a172('sessions-unregister-not-exist',null,{'channelId':_0x5c66fd});const _0xbed3c6=this['_registeredSessions']['get'](_0x5c66fd);this['stopListening'](_0xbed3c6);for(const _0x4429b9 of _0xbed3c6)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x5c66fd,_0x4429b9);this['_registeredSessions']['delete'](_0x5c66fd),this['channelSessions']['delete'](_0x5c66fd),this['channelConnectedUsers']['delete'](_0x5c66fd);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x17ea34){for(const _0x13aa20 of this['channelSessions']['values']())for(const _0x1a3585 of _0x13aa20)if(_0x1a3585['id']===_0x17ea34)return _0x1a3585['user'];}['getUserSessions'](_0x2b57c7,_0x29feda){const _0x304de3=_0x29feda?[this['channelSessions']['get'](_0x29feda)]:this['channelSessions']['values'](),_0x1b8cde=new Set();for(const _0x4b1ce1 of _0x304de3)for(const _0x3aea20 of _0x4b1ce1)_0x3aea20['user']['id']===_0x2b57c7['id']&&_0x1b8cde['add'](_0x3aea20['id']);return _0x1b8cde;}['getUserRole'](_0x119318){for(const _0x4880d7 of this['channelSessions']['values']())for(const _0x302fb7 of _0x4880d7)if(_0x302fb7['user']===_0x119318)return _0x302fb7['role'];}['_handleSessionAdd'](_0x3eb90a,_0x59b424){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x16137e=_0x59b424['user'],_0x1a4d2a=this['_users']['getUser'](_0x16137e['id'])||this['_createUser'](_0x16137e),_0x4ea138=Object['assign']({},_0x59b424,{'user':_0x1a4d2a});this['channelSessions']['get'](_0x3eb90a)['add'](_0x4ea138);const _0x242dc5=this['channelConnectedUsers']['get'](_0x3eb90a);_0x242dc5['has'](_0x1a4d2a['id'])||_0x242dc5['add'](_0x1a4d2a),this['allConnectedUsers']['has'](_0x1a4d2a['id'])||this['allConnectedUsers']['add'](_0x1a4d2a,_0x1a4d2a['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3eb90a,{'channelId':_0x3eb90a,'session':_0x4ea138});}['_handleSessionRemove'](_0x141d88,_0x4c013f){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xf66d96=this['channelConnectedUsers']['get'](_0x141d88),_0x3e00b0=_0x4c013f['user'];_0x3e00b0['id']&&(this['channelSessions']['get'](_0x141d88)['remove'](_0x4c013f['id']),_0xf66d96['has'](_0x3e00b0['id'])&&!this['getUserSessions'](_0x3e00b0,_0x141d88)['size']&&_0xf66d96['remove'](_0x3e00b0['id']),this['allConnectedUsers']['get'](_0x3e00b0['id'])&&!this['getUserSessions'](_0x3e00b0)['size']&&this['allConnectedUsers']['remove'](_0x3e00b0['id']));}['_createUser'](_0x3fa143,_0x2adfe2){const _0x23e0fd=this['_users']['addUser'](_0x3fa143);return _0x2adfe2&&this['_users']['defineMe'](_0x3fa143['id']),_0x23e0fd['orderNumber']=this['_uniqueUsersCount']++,_0x23e0fd;}}class K extends _0x447feb{['_domEmitter']=new(_0x469dda())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x4d7263=this['editor'],_0x557c7a=_0x4d7263['plugins']['get'](r);_0x4d7263['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x22fb2c,{writer:_0x27abe3})=>function(_0x447a7b,_0x4f7603,_0xe3d299,_0x59e33b){const _0x523e30=_0x447a7b['markerName']['split'](':')[0x2],_0x246069=_0xe3d299['getUserBySessionId'](_0x523e30);if(!_0x246069||_0x523e30===_0xe3d299['mySessionId'])return;if(!_0x59e33b['model']['schema']['checkChild'](_0x447a7b['markerRange']['start'],'$text'))return;const _0x2ea1f9={'class':'ck-user__marker\x20'+_0x246069['color']['getMarkerClass'](),'data-name':_0x246069['name'],'data-session-id':_0x523e30},_0x3efb5f=_0x59e33b['model']['markers']['get'](_0x447a7b['markerName']),_0x219cf8=_0x3efb5f['getStart'](),_0x441f8=_0x219cf8['nodeAfter'],_0xec13d2=_0x59e33b['model']['schema'];if(_0x441f8&&_0xec13d2['isObject'](_0x441f8)&&_0xec13d2['isInline'](_0x441f8)&&!_0x59e33b['model']['markers']['get']('user:range:'+_0x523e30)['getRange']()['isCollapsed'])return;const _0xea1802=_0x219cf8['parent'];return _0x59e33b['model']['schema']['isLimit'](_0xea1802)&&!_0x59e33b['model']['hasContent'](_0xea1802)&&(_0x2ea1f9['contenteditable']=!0x1),function(_0x3efdb8,_0x2c114e,_0x190ab5){const _0x45acec=_0x3efdb8['createUIElement']('span',_0x2c114e);return _0x3efdb8['setCustomProperty']('userPositionMarker',!0x0,_0x45acec),_0x45acec['render']=function(_0x29e1d3){const _0x5e49dc=this['toDomElement'](_0x29e1d3);return _0x5e49dc['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x190ab5['name']+'</span>⁠',_0x5e49dc['addEventListener']('mouseenter',()=>{_0x5e49dc['classList']['add']('ck-user__marker_hovered');}),_0x5e49dc['addEventListener']('mouseleave',()=>{_0x5e49dc['classList']['remove']('ck-user__marker_hovered');}),_0x5e49dc;},_0x45acec['isSimilar']=function(_0x58b9f8){return!(!this['getCustomProperty']('userPositionMarker')||!_0x58b9f8['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x58b9f8['getAttribute']('data-session-id'));},_0x45acec;}(_0x4f7603,_0x2ea1f9,_0x246069);}(_0x22fb2c,_0x27abe3,_0x557c7a,_0x4d7263)}),_0x4d7263['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x14a6a6=>function(_0x2caf75,_0x34f662){const _0x45495c=_0x2caf75['markerName']['split'](':')[0x2];if(_0x45495c===_0x34f662['mySessionId'])return null;const _0x32a13b=_0x34f662['getUserBySessionId'](_0x45495c);if(!_0x32a13b)return{'id':_0x45495c,'classes':[]};return{'id':_0x45495c,'classes':['ck-user__selection',_0x32a13b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x45495c},'priority':0x7d0+_0x32a13b['orderNumber']};}(_0x14a6a6,_0x557c7a)}),function(_0x3a7f0f){const _0x3a2465=_0x3a7f0f['model'],_0x4176dc=new Map(),_0x3c5728=_0x3a7f0f['plugins']['get'](r);_0x3a2465['markers']['on']('update:user:range',(_0x265842,_0x1fc704,_0x1835f8,_0x25c48d)=>{if(!_0x25c48d&&_0x4176dc['get'](_0x1fc704['name']))return _0x4176dc['get'](_0x1fc704['name'])['detach'](),void _0x4176dc['delete'](_0x1fc704['name']);const _0x244289=_0x1fc704['name']['split'](':')[0x2];if(_0x244289===_0x3c5728['mySessionId'])return;const _0x33106f='user:position:'+_0x244289;_0x3a2465['markers']['has'](_0x33106f)&&_0x3a7f0f['editing']['reconvertMarker'](_0x33106f),_0x1fc704['on']('change:range',(_0x294715,_0xa5b21b,_0x5aa965)=>{if('$graveyard'!=_0xa5b21b['root']['rootName']&&'$graveyard'==_0x1fc704['getRange']()['root']['rootName']&&!_0x4176dc['has'](_0x1fc704['name'])){const _0x33e2de=_0x3a2465['schema']['getNearestSelectionRange'](_0x5aa965['deletionPosition']);if(_0x33e2de){const _0x1c867b=at['fromRange'](_0x33e2de);_0x4176dc['set'](_0x1fc704['name'],_0x1c867b),_0x1c867b['on']('change:range',(_0x6b3ebb,_0x1c457b,_0x4ca70f)=>{if('$graveyard'==_0x1c867b['root']['rootName']){const _0x443a9a=_0x3a2465['schema']['getNearestSelectionRange'](_0x4ca70f['deletionPosition']);_0x443a9a?(_0x1c867b['start']=_0x443a9a['start'],_0x1c867b['end']=_0x443a9a['end']):(_0x4176dc['delete'](_0x1fc704['name']),_0x1c867b['detach']());}});}}});}),_0x3a2465['document']['on']('change',()=>{_0x4176dc['size']>0x0&&_0x3a2465['enqueueChange']({'isUndoable':!0x1},_0x3eeaad=>{for(const [_0x2179d7,_0x148649]of _0x4176dc)'$graveyard'==_0x3a2465['markers']['get'](_0x2179d7)['getRange']()['root']['rootName']&&(te(_0x2179d7['split'](':')[0x2],_0x148649['toRange'](),_0x3a2465,_0x3eeaad),_0x148649['detach']());_0x4176dc['clear']();});});}(_0x4d7263),this['_domEmitter']['listenTo'](_0x5c2f10['document'],'keydown',(_0x1d54c4,{key:_0x7c6920})=>{'Escape'===_0x7c6920&&function(_0x546672){_0x546672['editing']['view']['change'](_0x2d948a=>{for(const _0x27eb42 of _0x546672['model']['markers']){if(!_0x27eb42['name']['startsWith']('user:position'))continue;const _0x22f8ce=_0x546672['editing']['mapper']['markerNameToElements'](_0x27eb42['name']);if(_0x22f8ce){for(const _0x287cad of _0x22f8ce)_0x2d948a['removeClass']('ck-user__marker_hovered',_0x287cad);}}});}(_0x4d7263);},{'useCapture':!0x0});}['afterInit'](){const _0x5c0841=this['editor'],_0x9611d1=_0x5c0841['commands']['get']('undo');_0x9611d1&&_0x5c0841['model']['on']('applyOperation',(_0x416732,_0x54a376)=>{const _0x2c7eea=_0x54a376[0x0];if('marker'!=_0x2c7eea['type']||!_0x2c7eea['name']['startsWith']('user:'))return;const _0x31dcff=_0x2c7eea['batch'];_0x9611d1['_createdBatches']['has'](_0x31dcff)&&(_0x2c7eea['newRange']=_0x2c7eea['oldRange']?_0x5c0841['model']['createRange'](_0x2c7eea['oldRange']['start'],_0x2c7eea['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x41862f=this['editor'],_0x2eee70=_0x41862f['model']['document'],_0x3b38fc=_0x41862f['plugins']['get'](r);_0x41862f['model']['enqueueChange']({'isUndoable':!0x1},_0x10324e=>{const _0x129a3a='user:range:'+_0x3b38fc['mySessionId'],_0x27e7e2='user:position:'+_0x3b38fc['mySessionId'],_0x42cb85=_0x41862f['model']['markers']['has'](_0x129a3a);_0x41862f['editing']['view']['hasDomSelection']?te(_0x3b38fc['mySessionId'],_0x2eee70['selection']['getFirstRange'](),_0x41862f['model'],_0x10324e):_0x42cb85&&(_0x10324e['removeMarker'](_0x129a3a),_0x10324e['removeMarker'](_0x27e7e2));});}}function te(_0x53b8fa,_0x3a0d02,_0x2f4145,_0x3ae79f){const _0x412e5c='user:range:'+_0x53b8fa,_0x2667e6='user:position:'+_0x53b8fa,_0x490108=_0x3a0d02['getContainedElement']();let _0x3394eb=_0x3a0d02['start'];_0x490108&&_0x490108['is']('element','tableCell')&&(_0x3394eb=function(_0x5ed382,_0x436a62){for(const _0x2fa2b8 of _0x5ed382['getPositions']())if(_0x436a62['schema']['checkChild'](_0x2fa2b8,'$text'))return _0x2fa2b8;}(_0x3a0d02,_0x2f4145),_0x3a0d02=_0x3ae79f['createRange'](_0x3394eb));const _0x2c4deb=_0x3ae79f['createRange'](_0x3394eb);_0x2f4145['markers']['has'](_0x412e5c)?(_0x3ae79f['updateMarker'](_0x412e5c,{'range':_0x3a0d02}),_0x3ae79f['updateMarker'](_0x2667e6,{'range':_0x2c4deb})):(_0x3ae79f['addMarker'](_0x412e5c,{'range':_0x3a0d02,'usingOperation':!0x0}),_0x3ae79f['addMarker'](_0x2667e6,{'range':_0x2c4deb,'usingOperation':!0x0}));}function J(_0x5ed9a0,_0x4d29bb,_0x3a91ba){const t=_0x5ed9a0['t'];switch(_0x4d29bb){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 t({'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'},_0x3a91ba);default:return'';}}let Y=0x1;class l extends _0x447feb{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x39a984)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,K,_0x3a8740,_0x333c9d,_0x5c50b4];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x22ed67=this['serverHistory']['getOperations']();for(let _0x5661b7=_0x22ed67['length']-0x1;_0x5661b7>=0x0;_0x5661b7--){const _0xe11040=_0x22ed67[_0x5661b7];if(!this['_disconnectionOperations']['has'](_0xe11040))return _0xe11040['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xf8f190){if(super(_0xf8f190),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x227ed0(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x32a172('collaboration-missing-channelid',this);const _0x1752a8=_0xf8f190['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x1752a8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x14d01b(),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 it(this['_disconnectionOperations']);}['init'](){const _0x2c388d=this['editor'],_0x47a944=_0x2c388d['plugins']['get'](_0x333c9d),_0x134749=_0x2c388d['plugins']['get'](c);this['listenTo'](_0x47a944,'getOperationAuthor',(_0x3b6bc9,_0x4279a8)=>{const _0x3b8aae=_0x4279a8[0x0];_0x3b8aae['_authorId']&&(_0x3b6bc9['return']=_0x47a944['getUser'](_0x3b8aae['_authorId']),_0x3b6bc9['stop']()),null===_0x3b8aae['_authorId']&&(_0x3b6bc9['return']=null,_0x3b6bc9['stop']());},{'priority':'high'}),this['listenTo'](_0x2c388d['model']['document']['selection'],'change:range',(_0x164485,_0x2a0846)=>{_0x2a0846['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2c388d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2c388d['model']['on']('applyOperation',(_0x37ab1a,_0x4e5778)=>{const _0x34ca35=_0x4e5778[0x0];_0x34ca35['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x34ca35),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x134749,'state',this,'_hasSynchronizationProblem',(_0x1cdb0a,_0xb4e16c)=>'connected'===_0x1cdb0a&&!_0xb4e16c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2c388d['disableReadOnlyMode']('rtc-offline'):_0x2c388d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2c388d['disableReadOnlyMode']('rtc-offline'):_0x2c388d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x8897d=this['editor']['plugins']['get'](r),_0x192d48=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x8897d['unregister'](this['_channelId']);const _0x527247=await this['_service']['reconnect'](_0x192d48['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x527247)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47da86=await this['_service']['getConnectedSessions']();_0x8897d['register'](this['_channelId'],_0x47da86),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x37b21f){if(function(_0x37a4c4){return'404'===_0x37a4c4['code'];}(_0x37b21f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xbc3c78){return'409'===_0xbc3c78['code'];}(_0x37b21f)){const _0x42a3df=J(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'](_0x42a3df);}else{if(!(_0x37b21f instanceof Z))throw _0x37b21f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1c79d4=this['editor']['plugins']['get'](c),_0x3e6119=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3e6119['channelSessions']['has'](this['_channelId'])&&_0x3e6119['unregister'](this['_channelId']),_0x1c79d4['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4b553f){if(this['sessionId']!==_0x4b553f['sessionId']&&this['_lastSyncedOperationId']!==_0x4b553f['lastOperationId'])throw new Z();return this['sessionId']=_0x4b553f['sessionId'],this['_handleServerResponse']([],{..._0x4b553f,'wereChangesApplied':!0x1,'data':_0x4b553f['data']},'reconnect');}async['_connectService'](_0x195e7e,_0x171e10=!0x1){const {connection:_0x44bcdf}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x44bcdf,this['_channelId'])['then'](_0xaba3b9=>this['_initSessionsHandling'](_0xaba3b9))['catch'](_0x2341e3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2341e3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4cff02,_0x2e650b)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x2e650b);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x533da4=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x195e7e);this['_isPendingUpdate']=!0x0;const _0x2bee83=await this['_service']['connect'](_0x44bcdf,this['_compressOperations'](_0x195e7e),_0x533da4);if(this['sessionId']=_0x2bee83['sessionId'],_0x171e10){if(!_0x2bee83['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2bee83['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x195e7e,_0x2bee83,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2bee83,_0x195e7e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x51bcee=this['editor']['plugins']['get'](r),_0x43e5e1=this['editor']['plugins']['get'](K),_0x1de6a5=_0x51bcee['channelSessions']['get'](this['_channelId']);_0x1de6a5&&_0x1de6a5['length']>0x1?_0x43e5e1['createUserMarkerOperations']():this['listenTo'](_0x51bcee,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x51bcee['channelSessions']['get'](this['_channelId'])['length']&&_0x43e5e1['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x496a41,_0x23c90e,_0xdd40b9,_0x4bbb84){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x23c90e){const _0x2f67cc=this['_decompressOperations'](_0xdd40b9,_0x4bbb84);await this['_fetchMissingUsers'](_0x2f67cc),this['_handleExternalOperations'](_0x2f67cc,_0x23c90e,_0xdd40b9['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2cd8c7}=this['editor'];let _0x769296;try{_0x769296=await this['_service']['getDocumentDetails']();}catch(_0x10e52e){const _0x32b8cb=J(_0x2cd8c7,'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'](_0x32b8cb);}const _0x53eeaa=_0x769296['currentDocumentSession']||_0x769296['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x53eeaa['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x13fc51=J(_0x2cd8c7,'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.');this['_handleReconnectionError'](_0x13fc51);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xabfb7a){const _0x40bbdd=this['editor']['plugins']['get'](r);this['listenTo'](_0x40bbdd,'sessionAdd:'+this['_channelId'],(_0x2baee1,{session:_0xfecbf5})=>{if(_0xfecbf5['id']===_0x40bbdd['mySessionId']){_0x2baee1['off']();const _0x50f55a=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x6a7ba7=_0xfecbf5['permissions'];_0x50f55a&&_0x50f55a['isEnabled']&&(_0x6a7ba7=_0x6a7ba7['filter'](_0x2f2d18=>'document:write'!==_0x2f2d18)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x6a7ba7,this['_channelId']);}}),_0x40bbdd['register'](this['_channelId'],_0xabfb7a);}['_initThrowingOnDataSet'](){const _0x2902ff=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x27b167)=>{if(!_0x27b167[_0x27b167['length']-0x1]['suppressErrorInCollaboration'])throw new _0x32a172('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2902ff['apply'](this['editor']['data'],_0x27b167);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x32ba41,[_0x6e4ec4])=>{if(this['_document']['version'])throw new _0x32a172('realtimecollaborationclient-init-document-already-initialized',this);_0x32ba41['stop'](),this['_setPendingAction']();const _0x25a797=this['editor']['config']['get']('rootsAttributes'),_0x3f6413=this['_getOperationsFromInitData'](_0x6e4ec4,_0x25a797);0x0==_0x3f6413['length']&&_0x3f6413['push'](new _0x11f525(0x0)),_0x32ba41['return']=this['_connectService'](_0x3f6413)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1fbba5=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1fbba5))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1fa917,[_0x37c9e6,_0x33070c])=>{_0x1fa917['stop']();const _0x53537e=this['editor']['model']['document']['getRoot'](_0x37c9e6);if(!this['_knownRootNames']['has'](_0x37c9e6)){const _0x4c367a=_0x33070c&&_0x33070c['data']?_0x33070c['data']:'',_0x57152e=_0x33070c&&_0x33070c['attributes']?_0x33070c['attributes']:{};await this['_loadRoot'](_0x37c9e6,_0x4c367a,_0x57152e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x53537e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x53537e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5bcdb9){const _0x3dd8d5=this['editor']['plugins']['get'](_0x333c9d),{connection:_0x4b6e7a}=this['editor']['plugins']['get'](c),_0x1e959c=new Set();for(const _0x3a4063 of _0x5bcdb9){const _0x30df35=_0x3a4063['_authorId'];_0x30df35&&!_0x3dd8d5['getUser'](_0x30df35)&&_0x1e959c['add'](_0x30df35);}if(0x0===_0x1e959c['size'])return;const _0x2e90a1=await dt['getMany'](_0x4b6e7a,Array['from'](_0x1e959c));for(const _0x1e62b7 of _0x2e90a1)_0x3dd8d5['getUser'](_0x1e62b7['id'])||_0x3dd8d5['addUser'](_0x1e62b7);}['_getOperationsFromInitData'](_0x42c47f,_0x430806={}){const _0x433be5=this['editor']['model'],_0x491a47=[];let _0x352a0a=0x0;const _0x203a19='string'==typeof _0x42c47f?{'main':_0x42c47f}:_0x42c47f;for(const _0x2d5314 of Object['keys'](_0x203a19)){if(!this['_document']['roots']['has'](_0x2d5314))throw new _0x32a172('realtimecollaborationclient-init-non-existent-root',this);const _0x18b263=this['editor']['data']['parse'](_0x203a19[_0x2d5314]),_0x37c9cc=this['_document']['getRoot'](_0x2d5314),_0x3bcb2a=new _0x1017dd(_0x433be5['createPositionAt'](_0x37c9cc,0x0),_0x18b263,_0x352a0a++);_0x491a47['push'](_0x3bcb2a);for(const [_0x50aa44,_0x3ebc69]of _0x18b263['markers']){const _0xda431e=_0x433be5['createRange'](_0x433be5['createPositionFromPath'](_0x37c9cc,_0x3ebc69['start']['path']['slice']()),_0x433be5['createPositionFromPath'](_0x37c9cc,_0x3ebc69['end']['path']['slice']())),_0xe5070e=new _0x5cb22a(_0x50aa44,null,_0xda431e,_0x433be5['markers'],!0x0,_0x352a0a++);_0x491a47['push'](_0xe5070e);}}if(_0x430806)for(const [_0x52bf2c,_0x87439e]of Object['entries'](_0x430806)){const _0x22ab56=_0x433be5['document']['getRoot'](_0x52bf2c);if(!_0x22ab56)throw new _0x32a172('multi-root-editor-root-attributes-no-root',null);for(const [_0xabf36e,_0xfde1af]of Object['entries'](_0x87439e))if(null!==_0xfde1af){const _0x40a7a3=new _0x49bfd9(_0x22ab56,_0xabf36e,null,_0xfde1af,_0x352a0a++);_0x491a47['push'](_0x40a7a3);}}return _0x491a47;}async['_loadRoot'](_0x5e6e85,_0x38f3cc,_0x1670bf){this['_getOperationsFromInitData']({[_0x5e6e85]:_0x38f3cc},{[_0x5e6e85]:_0x1670bf})['forEach']((_0x179dc2,_0x49f890)=>{_0x179dc2['baseVersion']=this['_document']['version']+_0x49f890,_0x179dc2['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x179dc2);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x433aa2,_0x29196e){let _0x44516b;this['_offset']=_0x433aa2['offset'];const _0x264c30=_0x433aa2['wereChangesApplied']&&!_0x433aa2['initData'],_0x336c9a=_0x264c30?0x0:_0x433aa2['data']['baseVersion'];if(_0x29196e['forEach'](_0x23c06f=>{_0x23c06f['_isInit']=!0x0,_0x23c06f['createdAt']=_0x433aa2['sessionCreatedAt'],_0x23c06f['_authorId']=null;}),_0x264c30)_0x44516b=_0x29196e,this['_applyOperationsSet'](_0x44516b,_0x264c30);else{if(_0x433aa2['initData']){const _0x523e08=this['_getOperationsFromInitData'](_0x433aa2['initData']);this['_document']['history']['version']=-_0x523e08['length'],_0x523e08['forEach'](_0x26ebca=>{_0x26ebca['baseVersion']-=_0x523e08['length'],_0x26ebca['createdAt']=_0x433aa2['sessionCreatedAt'],_0x26ebca['_isInit']=!0x0,_0x26ebca['_authorId']=null;}),this['_applyOperationsSet'](_0x523e08,!0x0),this['serverHistory']['version']=-_0x523e08['length']+this['_offset'],this['_updateServerHistory'](_0x523e08);}this['_document']['history']['version']=_0x336c9a,_0x44516b=this['_decompressOperations'](_0x433aa2['data'],_0x433aa2['metadata']),await this['_fetchMissingUsers'](_0x44516b),this['_applyOperationsSet'](_0x44516b,_0x264c30);}_0x433aa2['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x44516b,_0x433aa2['lastOperationId']),this['_lastSyncedOperationId']=_0x433aa2['lastOperationId']),this['serverHistory']['version']=_0x336c9a+this['_offset'],this['_updateServerHistory'](_0x44516b),_0x29196e['filter'](_0x5da0a1=>{const _0x43728c=this['_getAffectedRoot'](_0x5da0a1);return _0x43728c&&!this['_knownRootNames']['has'](_0x43728c);})['forEach']((_0x39a96e,_0x3e1b44)=>{_0x39a96e['baseVersion']=this['_document']['version']+_0x3e1b44,this['_saveOperationInBuffer'](_0x39a96e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x350d1c,_0x21b7c5){throw this['_isPendingUpdate']=!0x0,_0x21b7c5&&console['error'](_0x21b7c5),new _0x32a172(_0x350d1c,this['editor']);}['_saveOperationInBuffer'](_0xf4b69){this['_knownOperations']['has'](_0xf4b69)||(this['_knownOperations']['add'](_0xf4b69),this['_bufferedOperations']['push'](_0xf4b69),this['_pendingAction']||'marker'==_0xf4b69['type']&&!_0xf4b69['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4f17f0=!0x1){!_0x4f17f0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x62f3d=>{_0x62f3d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x557b94=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x370daa){return _0x370daa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x370daa['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x370daa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x557b94))throw _0x557b94;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x14d9d1=>{this['on']('change:_isPendingUpdate',()=>{_0x14d9d1();});});}async['_sendBufferedOperations'](){const _0x36ddba=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x36ddba['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3a6ec0=[...this['_bufferedOperations']];for(const _0x3d21c5 of _0x3a6ec0)_0x3d21c5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3d21c5);const _0x212354=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3a6ec0),_0x4dc967=Y++,_0x79a400=this['_compressOperations'](_0x3a6ec0),_0x1e0523=await this['_service']['sendOperations'](_0x79a400,_0x79a400['baseVersion'],_0x212354);try{return await this['_handleServerResponse'](_0x3a6ec0,_0x1e0523,_0x4dc967);}catch(_0x36e29b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x36e29b);}}async['_handleServerResponse'](_0x35ce27,_0x29bfb3,_0x34a9c6){if('error'in _0x29bfb3)throw _0x29bfb3['error'];let _0x2a34b5=!0x1;if(_0x29bfb3['wereChangesApplied']){_0x29bfb3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x29bfb3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x219455=>!_0x35ce27['includes'](_0x219455));for(const _0x5a845c of _0x35ce27)_0x5a845c['createdAt']='lastOperationAcceptedAt'in _0x29bfb3&&_0x29bfb3['lastOperationAcceptedAt']||void 0x0;tt(_0x35ce27,_0x29bfb3['version']-_0x35ce27['length']),this['_updateServerHistory'](_0x35ce27);const _0x318f33=_0x35ce27['filter'](_0x122842=>{if(!_0x122842['_isInit'])return!0x1;const _0x5314ab=this['_getAffectedRoot'](_0x122842);return _0x5314ab&&!this['_knownRootNames']['has'](_0x5314ab);});tt(_0x318f33,this['_document']['version']),this['_applyOperationsSet'](_0x318f33),_0x2a34b5=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4a2e53=this['_decompressOperations'](_0x29bfb3['data'],_0x29bfb3['metadata'])['filter'](_0x4e5abf=>_0x4e5abf['baseVersion']>=this['_lastServerVersion']);_0x4a2e53['forEach'](_0x1b20af=>this['_addKnownRoot'](_0x1b20af)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x19dfb6=>!_0x19dfb6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x19dfb6))),this['_bufferedOperations']['length']&&tt(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4a2e53),_0x2a34b5=this['_handleExternalOperations'](_0x4a2e53,_0x29bfb3['version'],_0x29bfb3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2a34b5?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x52f6b7,_0x23dc17,_0x4f9c89){try{const _0x569c72={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5d5348,operationsB:_0x428ad9,originalOperations:_0x2f99dc}=_0xa91ba8(_0x52f6b7,this['_bufferedOperations'],_0x569c72);tt(_0x5d5348,this['_document']['version']),tt(_0x428ad9,_0x23dc17);for(const _0x5a0a2b of _0x5d5348){const _0x4a6e03=_0x2f99dc['get'](_0x5a0a2b);_0x5a0a2b['_authorId']=_0x4a6e03?_0x4a6e03['_authorId']:null;}_0x4f9c89&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x52f6b7,_0x4f9c89),this['_lastSyncedOperationId']=_0x4f9c89),this['_bufferedOperations']=[..._0x428ad9],this['_applyOperationsSet'](_0x5d5348),this['_updateServerHistory'](_0x52f6b7);}catch(_0x587d86){return console['error'](_0x587d86),!0x1;}return!0x0;}['_applyOperationsSet'](_0x6f2a8a,_0x4747cd=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1d6774=>{for(const _0xe017ad of _0x6f2a8a)this['_knownOperations']['add'](_0xe017ad),this['_addKnownRoot'](_0xe017ad),_0x1d6774['batch']['addOperation'](_0xe017ad),this['editor']['model']['applyOperation'](_0xe017ad);});}['_addKnownRoot'](_0x5d2c8e){const _0x574ff1=this['_getAffectedRoot'](_0x5d2c8e);_0x574ff1&&this['_knownRootNames']['add'](_0x574ff1);}['_getAffectedRoot'](_0x4670a3){let _0x3936f7,_0x49d45f;switch(_0x4670a3['type']){case'insert':_0x3936f7=_0x4670a3['position']['root'];break;case'marker':if(_0x49d45f=_0x4670a3['newRange'],!_0x49d45f)return null;_0x3936f7=_0x49d45f['root'];break;case'addRootAttribute':_0x3936f7=_0x4670a3['root'];break;case'addRoot':_0x3936f7=_0x4670a3['affectedSelectable'];break;case'move':_0x3936f7=_0x4670a3['targetPosition']['root'];break;default:return null;}return _0x3936f7['rootName'];}['_updateServerHistory'](_0x2bb963){_0x2bb963['forEach'](_0xa710f8=>{const _0x181218=_0xa710f8['clone']();_0x181218['_authorId']=_0xa710f8['_authorId'],_0x181218['_isInit']=!!_0xa710f8['_isInit'],_0x181218['createdAt']=_0xa710f8['createdAt'],_0x181218['baseVersion']+=this['_offset'],_0xa710f8['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x181218),this['serverHistory']['addOperation'](_0x181218);});}['_handleReconnectionError'](_0x907b1a){const _0x303607=this['editor']['plugins']['get']('Notification'),_0x18e291=this['editor']['locale'];_0x907b1a||(_0x907b1a=J(_0x18e291,'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.')),_0x303607['showWarning'](_0x907b1a,{'title':J(_0x18e291,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3a8740)['add'](J(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3a8740)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4273e9){const _0x49bdcd=_0x4273e9['map'](_0x42a391=>_0x42a391['toJSON']());return this['_compressor']['compress'](_0x49bdcd);}['_decompressOperations'](_0x149df2,_0x2a805d){return this['_compressor']['decompress'](_0x149df2)['map']((_0x1c497b,_0xb41b88)=>{const _0x1805d6='init'==_0x2a805d[_0xb41b88]['type'];if('InsertOperation'==_0x1c497b['__className']){const _0x32ae4c=_0x1c497b['position']['root'];!this['_document']['getRoot'](_0x32ae4c)&&(this['_document']['createRoot']('$root',_0x32ae4c)['_isAttached']=!0x1);}const _0x1109dc=_0x319f1b['fromJSON'](_0x1c497b,this['_document']);return _0x1109dc['wasUndone']=_0x1c497b['wasUndone'],_0x1109dc['_isInit']=_0x1805d6,_0x1109dc['_authorId']=_0x1805d6?null:_0x2a805d[_0xb41b88]['userId'],_0x1109dc['_isDisconnection']='cs:removeUser'===_0x2a805d[_0xb41b88]['type'],_0x1109dc['createdAt']=_0x2a805d[_0xb41b88]['createdAt'],_0x1109dc;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4ede09=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4ede09&&_0x4ede09['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Z extends Error{}function tt(_0x15a6b5,_0x2d3fba){for(const _0x12b553 of _0x15a6b5)_0x12b553['baseVersion']=_0x2d3fba++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x1ccc74){this['_ignoredOperations']=_0x1ccc74,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1dec2c){let _0x53b3fc=_0x1dec2c['length'];for(;_0x53b3fc--;){const _0x546a8e=_0x1dec2c[_0x53b3fc];if(!this['_ignoredOperations']['has'](_0x546a8e)){if(!this['_operationToId']['has'](_0x546a8e)){const _0x5e7359=_0x2efd84()['slice'](0x1,0x12);this['_operationToId']['set'](_0x546a8e,_0x5e7359);}return this['_operationToId']['get'](_0x546a8e);}}}['setIdForTheLastOperation'](_0x4ed143,_0x319da7){if(!_0x319da7)return;let _0x157be8=_0x4ed143['length'];for(;_0x157be8--;){const _0x179c35=_0x4ed143[_0x157be8];this['_ignoredOperations']['has'](_0x179c35)||this['_operationToId']['set'](_0x179c35,_0x319da7);}}}class n extends _0x447feb{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x4da67b{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x4b45f5)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x333c9d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0xbbe7c4){super(_0xbbe7c4),this['_services']=new Map();}async['init'](){const _0x156eec=this['context'],_0x4fc654=_0x156eec['plugins']['get']('CommentsRepository');if(_0x156eec['plugins']['get'](c)['addToReconnectionStack'](this),_0x4fc654['adapter']={'addCommentThread':async({channelId:_0x5d12a0,threadId:_0x24e62b,comments:_0x349e86,resolvedAt:_0x17c46b,resolvedBy:_0xc8356b,context:_0x49de3b,attributes:_0x4000ad})=>{const _0x296a79=await this['_getService'](_0x5d12a0)['addCommentThread']({'commentThreadId':_0x24e62b,'comments':_0x349e86['map'](_0x1faa46=>function(_0x261006,_0x5ad066,_0xcc5772){return{'commentThreadId':_0xcc5772,'commentId':_0x261006['commentId'],'userId':_0x261006['authorId'],'content':_0x261006['content'],'documentId':_0x5ad066,'createdAt':_0x261006['createdAt'],'attributes':_0x261006['attributes']||{}};}(_0x1faa46,_0x5d12a0,_0x24e62b)),'resolvedAt':_0x17c46b,'resolvedBy':_0xc8356b,'context':_0x49de3b,'attributes':_0x4000ad})['catch'](lt);return{'threadId':_0x296a79['commentThreadId'],'comments':_0x296a79['comments']};},'getCommentThread':async({channelId:_0x325bdd,threadId:_0x1cc753})=>{const _0x5151d7=await this['_getService'](_0x325bdd)['getCommentThread'](_0x1cc753)['catch'](lt);return _0x5151d7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5151d7]),{'threadId':_0x5151d7['commentThreadId'],'comments':_0x5151d7['comments']['map'](S),'context':_0x5151d7['context'],'resolvedAt':_0x5151d7['resolvedAt'],'resolvedBy':_0x5151d7['resolvedBy'],'attributes':_0x5151d7['attributes']||{}});},'updateCommentThread':async({channelId:_0x29d3c1,threadId:_0xf8b55f,context:_0x2e8df9,unlinkedAt:_0x4d8be0,attributes:_0x4f193d})=>this['_getService'](_0x29d3c1)['updateCommentThread']({'commentThreadId':_0xf8b55f,'context':_0x2e8df9,'attributes':_0x4f193d,'unlinkedAt':_0x4d8be0})['catch'](B)['catch'](lt),'resolveCommentThread':async({channelId:_0x1be52a,threadId:_0x2fc89a})=>{const _0xbb2b4b=await this['_getService'](_0x1be52a)['resolveCommentThread'](_0x2fc89a)['catch'](B)['catch'](lt);return{'threadId':_0xbb2b4b['commentThreadId'],'resolvedAt':_0xbb2b4b['resolvedAt'],'resolvedBy':_0xbb2b4b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x111ef2,threadId:_0x49d6b6})=>this['_getService'](_0x111ef2)['reopenCommentThread'](_0x49d6b6)['catch'](B)['catch'](lt),'removeCommentThread':({channelId:_0x41887c,threadId:_0x297237})=>this['_getService'](_0x41887c)['removeCommentThread'](_0x297237)['catch'](B)['catch'](lt),'addComment':({channelId:_0x9fc81e,threadId:_0x8de6e2,commentId:_0x239a4f,content:_0x2af570,attributes:_0x42a184})=>this['_getService'](_0x9fc81e)['addComment'](_0x8de6e2,_0x239a4f,_0x2af570,_0x42a184)['catch'](lt),'updateComment':({channelId:_0x50a0a6,threadId:_0x3302c4,commentId:_0x4d1474,content:_0x301fd0,attributes:_0x57b870})=>this['_getService'](_0x50a0a6)['updateComment'](_0x3302c4,_0x4d1474,_0x301fd0,_0x57b870)['catch'](B)['catch'](lt),'removeComment':({channelId:_0x62e2d5,threadId:_0x5bb7ff,commentId:_0x53cff1})=>this['_getService'](_0x62e2d5)['removeComment'](_0x5bb7ff,_0x53cff1)['catch'](B)['catch'](lt)},_0x156eec instanceof _0x58c730){const _0x4f11c5=_0x156eec['config']['get']('collaboration.channelId'),_0x520405=_0x156eec['plugins']['get'](r);await this['_setUpService'](_0x4f11c5);const _0x4c0a9f=await this['_services']['get'](_0x4f11c5)['getConnectedSessions']();this['listenTo'](_0x520405,'sessionAdd:'+_0x4f11c5,(_0x28283e,{session:_0x531e77})=>{_0x531e77['id']===_0x520405['mySessionId']&&(_0x28283e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x531e77['permissions'],_0x4f11c5));}),_0x520405['register'](_0x4f11c5,_0x4c0a9f);}}async['_setUpService'](_0x30b3f5){if(this['_services']['has'](_0x30b3f5))throw new _0x32a172('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x30b3f5});const _0x5a672a=this['context']['plugins']['get']('CommentsRepository'),_0x1452d2=new a['CommentsService'](_0x30b3f5);this['_services']['set'](_0x30b3f5,_0x1452d2),this['listenTo'](_0x1452d2,'commentThreadAdded',(_0x32a6ea,_0x39bd9c)=>{const {commentThreadId:_0x3e6b22,documentId:_0x4377ba,context:_0x499098,attributes:_0x2156cf,resolvedAt:_0x13756c,resolvedBy:_0xdb6b18,comments:_0x2211ef}=_0x39bd9c;_0x5a672a['getCommentThread'](_0x3e6b22)||_0x5a672a['addCommentThread']({'threadId':_0x3e6b22,'channelId':_0x4377ba,'comments':_0x2211ef?_0x2211ef['map'](S):[],'context':_0x499098,'attributes':_0x2156cf,'resolvedAt':_0x13756c,'resolvedBy':_0xdb6b18,'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadUpdated',(_0x4c4075,{commentThreadId:_0x2436fd,documentId:_0x45f8b1,context:_0x1739af,unlinkedAt:_0x2fe826,attributes:_0x3bc455})=>{_0x5a672a['getCommentThread'](_0x2436fd)&&_0x5a672a['updateCommentThread']({'threadId':_0x2436fd,'channelId':_0x45f8b1,'context':_0x1739af,'unlinkedAt':_0x2fe826,'attributes':_0x3bc455,'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadResolved',(_0x980725,{commentThreadId:_0x196259,resolvedBy:_0x46decd,resolvedAt:_0x30117e})=>{const _0x472b26=_0x5a672a['getCommentThread'](_0x196259);_0x472b26&&_0x472b26['resolve']({'resolvedBy':_0x46decd,'resolvedAt':_0x30117e,'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadReopened',(_0xabd67f,{commentThreadId:_0x8712e6})=>{const _0x428333=_0x5a672a['getCommentThread'](_0x8712e6);_0x428333&&_0x428333['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadRemoved',(_0x1a2c4b,{commentThreadId:_0x5261bb})=>{const _0x1b93b7=_0x5a672a['getCommentThread'](_0x5261bb);_0x1b93b7&&_0x1b93b7['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentAdded',(_0x4ec9dc,_0x3d5596)=>{const _0x25b099=_0x3d5596['commentThreadId'],_0x16a7af=_0x5a672a['getCommentThread'](_0x25b099);_0x16a7af&&_0x16a7af['addComment']({...S(_0x3d5596),'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentUpdated',(_0x45b09f,{commentThreadId:_0x5b05c3,commentId:_0x2de5dc,content:_0x3bafc2,attributes:_0x56941c})=>{const _0x3371d3=_0x5a672a['getCommentThread'](_0x5b05c3);if(_0x3371d3){const _0x5e4d3e=_0x3371d3['getComment'](_0x2de5dc);_0x5e4d3e&&_0x5e4d3e['update']({'content':_0x3bafc2,'attributes':_0x56941c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1452d2,'commentRemoved',(_0x572c10,{commentThreadId:_0x2917b7,commentId:_0xf78fc0})=>{const _0x4fe5d7=_0x5a672a['getCommentThread'](_0x2917b7);if(_0x4fe5d7){const _0x329536=_0x4fe5d7['getComment'](_0xf78fc0);_0x329536&&_0x329536['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x30b3f5);}['destroy'](){if(this['context']instanceof _0x58c730){const _0xb6ae77=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0xb6ae77);}}['_terminateService'](_0x5dfb99){if(!this['_services']['has'](_0x5dfb99))throw new _0x32a172('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5dfb99});this['_getService'](_0x5dfb99)['disconnect'](),this['_services']['delete'](_0x5dfb99);}async['reconnect'](){for(const _0x260a17 of this['_services']['keys']())await this['_connectService'](_0x260a17);if(this['context']instanceof _0x58c730){const _0x5b2b03=this['context']['config']['get']('collaboration.channelId'),_0x39faf3=this['context']['plugins']['get'](r);_0x39faf3['unregister'](_0x5b2b03);const _0x12910a=await this['_services']['get'](_0x5b2b03)['getConnectedSessions']();_0x39faf3['register'](_0x5b2b03,_0x12910a);}}async['_connectService'](_0x2fd3ec){const {connection:_0x383548}=this['context']['plugins']['get'](c),_0x309b84=this['context']['plugins']['get']('CommentsRepository'),_0x24a42a=this['_services']['get'](_0x2fd3ec),_0x1ce71c=await _0x24a42a['connect'](_0x383548);await this['_fetchMissingUsersForThreads'](_0x1ce71c);const _0x10cb12=new Set(Array['from'](_0x309b84['getCommentThreads']({'channelId':_0x2fd3ec}),_0x323056=>_0x323056['id']));for(const _0x34c21c of _0x1ce71c)_0x34c21c['deletedAt']||_0x10cb12['delete'](_0x34c21c['commentThreadId']);for(const _0x56e5bc of _0x10cb12)_0x309b84['getCommentThread'](_0x56e5bc)['remove']({'isFromAdapter':!0x0});for(const _0x1bd9dc of _0x1ce71c){let _0x20a364=_0x309b84['getCommentThread'](_0x1bd9dc['commentThreadId']);const {commentThreadId:_0x6e0104,context:_0x500f38,attributes:_0x8f7b91,resolvedBy:_0x557be2,resolvedAt:_0x9f6d8c,unlinkedAt:_0xe7b567,deletedAt:_0x174d55}=_0x1bd9dc;if(_0x174d55)continue;_0x20a364||(_0x20a364=_0x309b84['addCommentThread']({'channelId':_0x2fd3ec,'threadId':_0x6e0104,'context':_0x500f38,'attributes':_0x8f7b91||{},'resolvedBy':_0x557be2,'resolvedAt':_0x9f6d8c,'unlinkedAt':_0xe7b567,'isFromAdapter':!0x0}));const _0x34e691=new Set(Array['from'](_0x20a364['comments'],_0x522ec8=>_0x522ec8['id']));for(const _0x5a55df of _0x1bd9dc['comments'])_0x34e691['delete'](_0x5a55df['commentId']);for(const _0x19a75c of _0x34e691)_0x20a364['getComment'](_0x19a75c)['remove']({'isFromAdapter':!0x0});for(const _0x18d13a of _0x1bd9dc['comments']){const _0x12972b=_0x20a364['getComment'](_0x18d13a['commentId']);_0x12972b?_0x12972b['content']!==_0x18d13a['content']&&_0x12972b['update']({'content':_0x18d13a['content'],'isFromAdapter':!0x0}):_0x20a364['addComment'](Object['assign'](S(_0x18d13a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x119dca){if(!this['_services']['has'](_0x119dca))throw new _0x32a172('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x119dca});return this['_services']['get'](_0x119dca);}async['_fetchMissingUsersForThreads'](_0x2acf1e){const _0x4d6b12=this['context']['plugins']['get'](_0x333c9d),{connection:_0x11a4b0}=this['context']['plugins']['get'](c),_0x562a81=new Set();for(const {resolvedBy:_0x3ab54b,comments:_0x2771be}of _0x2acf1e){_0x3ab54b&&!_0x4d6b12['getUser'](_0x3ab54b)&&_0x562a81['add'](_0x3ab54b);for(const {userId:_0x633474}of _0x2771be)_0x4d6b12['getUser'](_0x633474)||_0x562a81['add'](_0x633474);}if(0x0===_0x562a81['size'])return;const _0x5ba9ee=await dt['getMany'](_0x11a4b0,Array['from'](_0x562a81));for(const _0x2d2c9e of _0x5ba9ee)_0x4d6b12['getUser'](_0x2d2c9e['id'])||_0x4d6b12['addUser'](_0x2d2c9e);}}async function B(_0x2cda46){if('404'!==_0x2cda46['code'])throw _0x2cda46;}function lt(_0x18e5e0){if((_0x9a802c=_0x18e5e0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x9a802c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x9a802c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x9a802c;throw _0x18e5e0;}function S(_0x1bc4e2){return{'threadId':_0x1bc4e2['commentThreadId'],'commentId':_0x1bc4e2['commentId'],'content':_0x1bc4e2['content'],'createdAt':_0x1bc4e2['createdAt'],'authorId':_0x1bc4e2['userId'],'attributes':_0x1bc4e2['attributes']||{}};}class g extends _0x447feb{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>st)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x2f800d){super(_0x2f800d);const _0x4dc9cd=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x4dc9cd);}['init'](){const _0x5e9055=this['editor']['plugins']['get'](c),_0x5c8893=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5c8893['adapter']={'getSuggestion':async _0x576c7a=>{await this['_waitForServiceReady']();const _0x509d48=await this['_trackChangesService']['get'](_0x576c7a)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x509d48]),_0x509d48;},'addSuggestion':async({id:_0x12db6a,type:_0x542192,data:_0x2a6bda,originalSuggestionId:_0x55eafe,attributes:_0x81947a})=>{await this['_waitForServiceReady']();const _0x3d13a0={'id':_0x12db6a,'type':_0x542192,'data':_0x2a6bda,'originalSuggestionId':_0x55eafe,'attributes':_0x81947a},_0x1c7023=await this['_trackChangesService']['add'](_0x12db6a,_0x542192,_0x2a6bda,_0x55eafe,_0x81947a)['catch'](_0x97ed2=>{if(ut(_0x97ed2))return new Promise(_0x578396=>{this['_bufferedRequests']['set'](_0x12db6a,{'resolve':_0x578396,'suggestionData':_0x3d13a0});});throw _0x97ed2;});return this['_bufferedRequests']['delete'](_0x12db6a),_0x1c7023;},'updateSuggestion':async(_0x1b85c4,_0x5542dc)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5542dc['state'])return this['_trackChangesService']['update'](_0x1b85c4,_0x5542dc)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5dffb4,_0x3fd467)=>{_0x5c8893['hasSuggestion'](_0x3fd467['id'])&&(_0x5c8893['getSuggestion'](_0x3fd467['id'])['attributes']=_0x3fd467['attributes']);}),this['_trackChangesService']['connect'](_0x5e9055['connection'])['then'](_0x474620=>(_0x5e9055['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x474620)['then'](()=>{for(const _0x1e6477 of _0x474620){_0x5c8893['addSuggestionData'](_0x1e6477)['_saved']=!0x0;}})));}async['reconnect'](){const _0x202acf=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x494cf4}=this['editor']['plugins']['get'](c),_0x226516=await this['_trackChangesService']['connect'](_0x494cf4);await this['_fetchMissingUsersForThreads'](_0x226516);for(const {suggestionData:_0x195f63,resolve:_0x2dbdc6}of this['_bufferedRequests']['values']()){let _0x9d8219=_0x226516['find'](_0x112712=>_0x112712['id']===_0x195f63['id']);_0x9d8219||(_0x9d8219=await this['_trackChangesService']['add'](_0x195f63['id'],_0x195f63['type'],_0x195f63['data'],_0x195f63['originalSuggestionId'])),_0x2dbdc6(_0x9d8219);}for(const _0x2866ac of _0x226516)_0x202acf['hasSuggestion'](_0x2866ac['id'])||_0x202acf['addSuggestionData'](_0x2866ac);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2cbe6f=>{this['listenTo'](this['_trackChangesService'],'connected',_0x126d3d=>{_0x126d3d['off'](),_0x2cbe6f();});});}async['_fetchMissingUsersForThreads'](_0x135180){const _0x15e64d=this['editor']['plugins']['get'](_0x333c9d),{connection:_0xf354e0}=this['editor']['plugins']['get'](c),_0x4a01f4=new Set();for(const {authorId:_0x3f7ee4}of _0x135180)_0x15e64d['getUser'](_0x3f7ee4)||_0x4a01f4['add'](_0x3f7ee4);if(0x0===_0x4a01f4['size'])return;const _0x2226f1=await dt['getMany'](_0xf354e0,Array['from'](_0x4a01f4));for(const _0x4c954e of _0x2226f1)_0x15e64d['getUser'](_0x4c954e['id'])||_0x15e64d['addUser'](_0x4c954e);}}function R(_0x126b77){if(ut(_0x126b77))return new Promise(()=>{});throw _0x126b77;}function ut(_0x45f695){return _0x45f695['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x45f695['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x447feb{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x5f2d6b=this['editor']['plugins']['get'](c),_0x125adb=this['editor']['plugins']['get']('CommentsEditing'),_0x10395c=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5f2d6b,'change:state',(_0x3879e1,_0x251fdf,_0x482024)=>{_0x125adb['isThreadsLoadingPaused']='connected'!==_0x482024;});}),this['listenTo'](_0x5f2d6b,'change:state',(_0x2cb229,_0xd27b64,_0x52c502)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x52c502);}),_0x10395c['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x447feb{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0x447feb{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x42f4d4)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x333c9d];}constructor(_0x2b46ca){super(_0x2b46ca);const _0x3e3a56=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x3e3a56);}async['init'](){const _0x1464c4=this['editor']['plugins']['get'](l),_0x3dc5ae=_0x1464c4['serverHistory'],_0x176025=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3dc5ae,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1464c4['sessionId']});const _0x496296=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x65b7bb=await _0x57fffd['isBundleUploaded'](_0x176025['connection'],_0x496296);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x32b8f4})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x32b8f4)),'updateRevisions':async _0x529708=>{await this['_waitForServiceReady']();const _0xb4ef30=this['_revisionTracker']['currentRevision'];if(_0x65b7bb&&0x1===_0x529708['length']&&_0x529708[0x0]['id']===_0xb4ef30['id'])return _0x529708;for(const _0xe795eb of _0x529708)_0xe795eb['id']===_0xb4ef30['id']&&(_0xe795eb['isEmptyCurrent']=_0xe795eb['fromVersion']===_0xe795eb['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x529708,this['_lastRequestId'])['then'](_0x252b6d=>(this['_lastRequestId']=_0x252b6d,_0x529708))['catch'](_0x150865=>{if(P(_0x150865)||'400'===_0x150865['code']&&void 0x0!==_0x150865['data']['wrongRequestId']){for(const _0x25515f of _0x529708){!this['_revisionTracker']['repository']['getRevision'](_0x25515f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x25515f['id'],_0x25515f,!0x1);}if(P(_0x150865))throw _0x150865;return _0x529708;}throw _0x150865;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x56020b,{revisionsData:_0x4993fc,requestId:_0x3a9cef})=>{Math['max'](..._0x4993fc['map'](_0x42f651=>_0x42f651['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4993fc,_0x3a9cef);}):this['_handleRevisionsUpdate'](_0x4993fc,_0x3a9cef);});const {revisions:_0x49bab9,requestId:_0x467229}=await this['_revisionHistoryService']['connect'](_0x176025['connection']);_0x176025['addToReconnectionStack'](this),this['_lastRequestId']=_0x467229,await this['_fetchMissingUsers'](_0x49bab9);for(const _0xb2e1c0 of _0x49bab9)this['_revisionTracker']['addRevisionData'](_0xb2e1c0);this['listenTo'](_0x1464c4,'change:_isConnected',(_0x3d40ce,_0x44a7cd,_0x1feefd)=>{_0x1feefd&&(this['_oldOffset']=_0x1464c4['_offset'],_0x3d40ce['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x176025,'state',_0x3175c4=>_0x3175c4===_0x21eb19['CONNECTED']);}async['reconnect'](){const _0x4d7722=this['editor']['plugins']['get'](c),_0x3afc7f=this['editor']['plugins']['get'](l),_0x51ebfd=async()=>{const _0x403bb0=this['_revisionTracker']['currentRevision'],_0x12c7bf=_0x403bb0['id'],_0x3a4f34=_0x12c7bf!==_0x3afc7f['sessionId'];if(_0x3a4f34){const _0x23f15e=_0x3afc7f['_offset']-this['_oldOffset'],_0x99f3fb=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x403bb0['toVersion']+_0x23f15e!==_0x99f3fb){const _0x441721=_0x403bb0['fromVersion']+_0x23f15e,_0x4f0e05=this['editor']['plugins']['get'](_0x333c9d),_0x4b46b7=this['_revisionTracker']['buildRevisionData']({'revision':_0x403bb0,'from':_0x441721,'to':_0x99f3fb});_0x4b46b7['id']=_0x403bb0['id'];const _0x1c16ae=_0x4b46b7['authorsIds']['map'](_0x211593=>_0x4f0e05['getUser'](_0x211593));_0x403bb0['_update']({..._0x4b46b7,'authors':_0x1c16ae},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x403bb0['id'],_0x4b46b7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x99f3fb,(_0x403bb0['toVersion']===_0x403bb0['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x12c7bf)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x12c7bf),this['_revisionTracker']['_createCurrentRevision'](_0x99f3fb));}const {revisions:_0x138e5b,requestId:_0x38497e}=await this['_revisionHistoryService']['reconnect'](_0x4d7722['connection'],this['_lastRequestId']);_0x3a4f34&&_0x138e5b['length']>0x0?_0x3afc7f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x138e5b),this['_handleRevisionsUpdate'](_0x138e5b,_0x38497e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3afc7f['_isConnected']?_0x51ebfd():new Promise((_0x23ddc6,_0x174ae1)=>{_0x3afc7f['once']('change:_isConnected',()=>{_0x51ebfd()['then'](_0x23ddc6)['catch'](_0x174ae1);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4c857a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48d08=>{_0x48d08['off'](),_0x4c857a();});});}['_getLatestVersionFromServerOperations'](){const _0x17e286=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4ad68a of _0x17e286)if('marker'!==_0x4ad68a['type']||_0x4ad68a['affectsData'])return _0x4ad68a['baseVersion']+0x1;}['_getLatestVersion'](){const _0xdae53a=this['editor']['plugins']['get'](l);return new Promise(_0x3344ce=>{_0xdae53a['_isPendingUpdate']?_0xdae53a['once']('change:_isPendingUpdate',()=>{_0x3344ce(this['_getLatestVersionFromServerOperations']());}):_0x3344ce(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x539291,_0x406c22){const _0x30e088=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x406c22;for(const _0x2090b8 of _0x539291){const _0x58ab0c=_0x30e088['getRevision'](_0x2090b8['id']);if(_0x58ab0c){if((_0x2090b8['fromVersion']||_0x2090b8['toVersion'])&&(_0x2090b8['diffData']=null),_0x58ab0c===this['_revisionTracker']['currentRevision']){const _0xe7aa60=Math['max'](_0x58ab0c['toVersion'],_0x2090b8['toVersion']),_0x497b26=Math['max'](_0x58ab0c['fromVersion'],_0x2090b8['fromVersion']);let _0x44b419;_0x58ab0c['toVersion']===_0x2090b8['toVersion']&&_0x58ab0c['fromVersion']===_0x2090b8['fromVersion']?(_0x44b419=!0x0,this['_preventResendingRevisionData'](_0x2090b8)):_0x2090b8['toVersion']===_0xe7aa60&&_0x2090b8['fromVersion']===_0x497b26?_0x44b419=!0x1:(_0x58ab0c['toVersion']===_0xe7aa60&&_0x58ab0c['fromVersion']===_0x497b26||this['_fixRevision']({'revision':_0x58ab0c,'from':_0x497b26,'to':_0xe7aa60}),_0x44b419=!0x0),_0x44b419&&(delete _0x2090b8['fromVersion'],delete _0x2090b8['toVersion'],delete _0x2090b8['diffData'],delete _0x2090b8['createdAt'],delete _0x2090b8['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2090b8),this['_preventResendingRevisionData'](_0x2090b8);}else this['_revisionTracker']['addRevisionData'](_0x2090b8);}const _0x3383d8=_0x30e088['getRevisions']();_0x3383d8['reverse']();for(let _0x6b8700=0x0;_0x6b8700<_0x3383d8['length']-0x1;_0x6b8700++){const _0xe0b620=_0x3383d8[_0x6b8700],_0x355a3a=_0x3383d8[_0x6b8700+0x1];if(_0xe0b620['fromVersion']<_0x355a3a['toVersion']){const _0x48c340=_0x355a3a['toVersion'],_0x5b4665=Math['max'](_0x48c340,_0xe0b620['toVersion']);this['_fixRevision']({'revision':_0xe0b620,'from':_0x48c340,'to':_0x5b4665});}}}['_fixRevision']({revision:_0x4b462f,from:_0x5e80f5,to:_0x4483e5}={}){const _0x12186e=this['editor']['plugins']['get'](_0x333c9d),_0x8c30e8=this['_revisionTracker']['buildRevisionData']({'revision':_0x4b462f,'from':_0x5e80f5,'to':_0x4483e5});_0x8c30e8['authors']=_0x8c30e8['authorsIds']['map'](_0x5580b0=>_0x12186e['getUser'](_0x5580b0)),_0x4b462f['_update'](_0x8c30e8);}['_preventResendingRevisionData'](_0x3a42e0){const _0x5e999f={};_0x5e999f['id']=_0x3a42e0['id'];for(const _0x3b64f2 of Object['keys'](_0x3a42e0))'id'!==_0x3b64f2&&(_0x5e999f[_0x3b64f2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5e999f['id'],_0x5e999f,!0x0);}async['_fetchMissingUsers'](_0x1b920d){const _0xd55591=this['editor']['plugins']['get'](_0x333c9d),{connection:_0x1185b2}=this['editor']['plugins']['get'](c),_0xd69ab8=new Set();for(const _0x4014d9 of _0x1b920d){for(const _0x4f8f04 of _0x4014d9['authorsIds'])_0x1c325b(_0x4f8f04);_0x4014d9['creatorId']&&_0x1c325b(_0x4014d9['creatorId']);}if(0x0===_0xd69ab8['size'])return;const _0x206c80=await dt['getMany'](_0x1185b2,Array['from'](_0xd69ab8));for(const _0x29579e of _0x206c80)_0xd55591['getUser'](_0x29579e['id'])||_0xd55591['addUser'](_0x29579e);function _0x1c325b(_0x52abdc){_0xd55591['getUser'](_0x52abdc)||_0xd69ab8['add'](_0x52abdc);}}}function P(_0x298d34){return _0x298d34['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x298d34['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x298d34['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x447feb{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x492637{constructor(_0x582e11){super(_0x582e11);const _0x5d2ddf=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x5d2ddf['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x5d2ddf['to']('usersCount',_0x34bb04=>J(_0x582e11,'CONNECTED_USERS',_0x34bb04))}]});}}class es extends _0x492637{['items'];['keystrokes'];constructor(_0x233b1e){super(_0x233b1e);const _0x2b17fc=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x289003(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2b17fc['if']('hasPopup'),'aria-expanded':_0x2b17fc['to']('isExpanded',_0x709f1e=>this['hasPopup']&&String(_0x709f1e)),'aria-label':_0x2b17fc['to']('hasPopup',_0x364451=>J(_0x233b1e,_0x364451?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2b17fc['to']('hasPopup',_0x2a33eb=>!!_0x2a33eb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x2b17fc['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x2db240,_0x2b5402,_0x480cea)=>{this['element']&&(_0x480cea?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 L extends _0x492637{['counterView'];['inlineListView'];constructor(_0x5c210c){super(_0x5c210c);const _0x946469=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x5c210c),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x36b2ac of this['inlineListView']['items'])_0x36b2ac['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',_0x946469['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x492637{['listWrapperView'];constructor(_0x2c79b3,_0x4c6066){super(_0x2c79b3),this['listWrapperView']=new ft(_0x2c79b3,_0x4c6066),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':J(_0x2c79b3,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class ft extends _0x29505a{constructor(_0x50d831,_0x2ff711){super(_0x50d831);const _0x164e0e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2ff711?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x164e0e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x164e0e['to']('role'),'aria-label':_0x164e0e['to']('ariaLabel'),'aria-labelledby':_0x164e0e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5c2f10['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x318243=this['element'];_0x318243&&(this['_isScrollable']=Math['max'](_0x318243['scrollHeight'],_0x318243['clientHeight'])>0.8*window['innerHeight']);}}class k extends et{['userView'];constructor(_0xcb7b53,_0x40d396,_0x20493a){super(_0xcb7b53);const _0x50980a=this['bindTemplate'];this['userView']=new rt(_0xcb7b53,_0x40d396);const _0x3dee2f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x40d396['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x40d396['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x40d396['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x20493a&&(_0x3dee2f['tag']='button',_0x3dee2f['on']={'click':_0x50980a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3dee2f);}['focus'](){this['element']['focus']();}}class y extends _0x492637{['userView'];['markerView'];constructor(_0x1c481a,_0x2f1633,_0x112fec){super(_0x1c481a);const _0x43c315=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new rt(_0x1c481a,_0x2f1633),this['markerView']=new ct(_0x1c481a,_0x2f1633);const _0x48e6bc=new ot(_0x1c481a);_0x48e6bc['template']['tag']='span',_0x48e6bc['text']=_0x2f1633['name'];const _0x5ba6dc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x43c315['to']('isFocusable',_0x390a66=>!!_0x390a66&&0x0),'aria-labelledby':_0x48e6bc['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x43c315['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x43c315['to']('hasTooltip',_0x17514b=>!_0x17514b),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x48e6bc]};_0x112fec&&(_0x5ba6dc['tag']='button',_0x5ba6dc['on']={'click':_0x43c315['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5ba6dc);}}class ct extends _0x492637{constructor(_0x445a08,_0x57abb5){super(_0x445a08),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x57abb5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x4da67b{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x4aa517){super(_0x4aa517),this['context']['config']['define']('presenceList',A);const _0x525000=_0x4aa517['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x525000)throw new _0x32a172('presencelist-collapseat-invalid-format',this);if(_0x525000<0x1)throw new _0x32a172('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3d8231(),this['balloonPanelView']=new _0x34ab26(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x33f7f7 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x33f7f7);this['listenTo'](this['_allConnectedUsers'],'add',(_0x173e44,_0x403b1a)=>{this['_handleUserAdd'](_0x403b1a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5d2a93,_0x44347b)=>{this['_handleUserRemove'](_0x44347b);});}['_createView'](){const _0x6bd645=this['context'],_0x360026=new L(this['context']['locale']),_0x74cb5f=this['balloonPanelView'];if(!_0x43594e(_0x6bd645['config']['get']('presenceList.container')))throw new _0x32a172('presencelist-missing-container',this);return _0x360026['counterView']['bind']('usersCount')['to'](this),_0x360026['bind']('isCollapsed')['to'](this,'usersCount',_0x5de1b7=>{const {collapseAt:_0x50589e,displayMe:_0x5d8f0f}=_0x6bd645['config']['get']('presenceList'),_0x227828=_0x5de1b7>=_0x50589e;return _0x360026['counterView']['isHidden']=!(0x1==_0x5de1b7&&_0x5d8f0f||_0x227828),_0x227828||this['hideDropdown'](),_0x227828;}),_0x360026['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x337d88=>{const _0x276e8f=_0x6bd645['config']['get']('presenceList'),_0x17dc6c=new y(_0x6bd645['locale'],_0x337d88,!!_0x276e8f['onClick']);return _0x17dc6c['bind']('hasTooltip')['to'](_0x360026,'isCollapsed',_0x1f5eab=>!_0x1f5eab),_0x17dc6c['bind']('isFocusable')['to'](_0x360026,'isCollapsed',_0x11bf3e=>!_0x11bf3e),_0x276e8f['onClick']&&this['listenTo'](_0x17dc6c,'execute',()=>{this['view']['isCollapsed']||_0x276e8f['onClick'](_0x337d88,_0x17dc6c['element']);}),_0x17dc6c;}),this['listenTo'](_0x360026['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x360026['inlineListView']['keystrokes']['set']('Enter',(_0x31d0a9,_0x48a180)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x48a180());}),_0x360026['render'](),_0x74cb5f['render'](),_0xe2b371({'emitter':_0x360026,'activator':()=>_0x74cb5f['isVisible'],'contextElements':[_0x74cb5f['element'],_0x360026['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x6bd645['config']['get']('presenceList.container')['appendChild'](_0x360026['element']),this['_bodyCollection']=new _0x56bcda(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x360026;}['_handleUserAdd'](_0x300396){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x300396['isMe'])return;const _0x171e99=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x171e99&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0xaacccb=_0x300396['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x300396,_0xaacccb);}['_handleUserRemove'](_0x4b47a5){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x4b47a5['id'])&&(this['currentDisplayedUsers']['remove'](_0x4b47a5['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x412664 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x412664['id']))return void this['currentDisplayedUsers']['add'](_0x412664,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x421745=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x421745['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x3ae1d1}=this['presenceDropdownView'];_0x3ae1d1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2e41c5=>{if(!_0x421745['displayMe']&&_0x2e41c5['isMe'])return null;const _0x38456d=new k(this['context']['locale'],_0x2e41c5,!!_0x421745['onClick']);return _0x421745['onClick']&&this['listenTo'](_0x38456d,'execute',()=>{_0x421745['onClick'](_0x2e41c5,_0x38456d['element']);}),_0x38456d;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3ae1d1['focus'](),_0x3ae1d1['checkIfScrollable']();const _0x5b6fa1=(_0x216c56,_0x40c64c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x40c64c();};_0x3ae1d1['keystrokes']['set']('Esc',_0x5b6fa1),_0x3ae1d1['keystrokes']['set']('Shift+Tab',_0x5b6fa1),_0x3ae1d1['keystrokes']['set']('Tab',(_0x4b1dff,_0x3ba242)=>{!function(_0x32e5b2){const _0x52b9d0=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x24000f=>_0x24000f+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2a7236=[...document['body']['querySelectorAll'](_0x52b9d0)]['filter'](_0x564b2a=>_0x564b2a===document['activeElement']||_0x564b2a['offsetWidth']+_0x564b2a['offsetHeight']>0x0)['sort']((_0x3d3460,_0x4859e7)=>(_0x3d3460['tabIndex']||0x0)-(_0x4859e7['tabIndex']||0x0)),_0x4f41bd=_0x2a7236['indexOf'](_0x32e5b2),_0x37c555=_0x2a7236[(_0x4f41bd+0x1)%_0x2a7236['length']];_0x37c555&&_0x37c555['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3ba242();}),_0x3ae1d1['focusTracker']['add'](this['view']['element']),_0x3ae1d1['focusTracker']['on']('change:isFocused',(_0x35ea63,_0x1a6bdf,_0x49beb4)=>{_0x49beb4||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 i extends _0x4da67b{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-real-time-collaboration",
3
- "version": "43.1.0-alpha.3",
3
+ "version": "43.1.0-alpha.4",
4
4
  "description": "A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "CKSource (http://cksource.com/)",
@@ -42,14 +42,14 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@ckeditor/ckeditor-cloud-services-collaboration": "52.6.10",
45
- "@ckeditor/ckeditor5-core": "43.1.0-alpha.3",
46
- "@ckeditor/ckeditor5-engine": "43.1.0-alpha.3",
47
- "@ckeditor/ckeditor5-operations-compressor": "43.1.0-alpha.3",
48
- "@ckeditor/ckeditor5-theme-lark": "43.1.0-alpha.3",
49
- "@ckeditor/ckeditor5-ui": "43.1.0-alpha.3",
50
- "@ckeditor/ckeditor5-utils": "43.1.0-alpha.3",
51
- "ckeditor5": "43.1.0-alpha.3",
52
- "ckeditor5-collaboration": "43.1.0-alpha.3",
45
+ "@ckeditor/ckeditor5-core": "43.1.0-alpha.4",
46
+ "@ckeditor/ckeditor5-engine": "43.1.0-alpha.4",
47
+ "@ckeditor/ckeditor5-operations-compressor": "43.1.0-alpha.4",
48
+ "@ckeditor/ckeditor5-theme-lark": "43.1.0-alpha.4",
49
+ "@ckeditor/ckeditor5-ui": "43.1.0-alpha.4",
50
+ "@ckeditor/ckeditor5-utils": "43.1.0-alpha.4",
51
+ "ckeditor5": "43.1.0-alpha.4",
52
+ "ckeditor5-collaboration": "43.1.0-alpha.4",
53
53
  "lodash-es": "4.17.21"
54
54
  },
55
55
  "types": "src/index.d.ts",