@ckeditor/ckeditor5-real-time-collaboration 44.0.0-alpha.1 → 44.0.0-alpha.2

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 _0x375b1b,Plugin as _0x3b1a90,PendingActions as _0x491601,Context as _0x445727}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4ab1ad,CKEditorError as _0x3443e5,Collection as _0x2718c8,global as _0x3b8f5d,version as dt,uid as _0x3831d0,KeystrokeHandler as _0x23d333}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1dfc1e,View as _0x360a48,ListView as _0x5b2324,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x2ae021,clickOutsideHandler as _0x25d192,BodyCollection as tt}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x49f383,NoOperation as _0x51c15b,InsertOperation as _0x1b8f90,MarkerOperation as _0x17a7da,RootAttributeOperation as _0x44a68e,transformSets as _0x1790a5,OperationFactory as _0x540e13}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x51d08e,CollaborativeEditingService as _0xfd8b2a,User as mt,CommentsService as _0x3354a4,TrackChangesService as nt,RevisionHistoryService as _0x141eee,EditorService as _0x132f7f}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4fe278,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x481af2}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as st}from'lodash-es';class c extends _0x375b1b{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1dfc1e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1904e6){super(_0x1904e6),this['set']('state',_0x51d08e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x4ab1ad);}['init'](){const _0x2ce7b0=this['context'],_0x1d594e=_0x2ce7b0['plugins']['get']('CloudServices'),_0x22fc62=_0x2ce7b0['plugins']['get'](_0x1dfc1e);if(!_0x1d594e['token'])throw new _0x3443e5('websocketgateway-missing-token',this);if(!_0x1d594e['webSocketUrl'])throw new _0x3443e5('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'](_0x1d594e['token'],_0x1d594e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x40aed8=>{if(this['connection']=_0x40aed8,this['bind']('state')['to'](_0x40aed8,'state',this,'_isBrowserOffline',(_0x57eab6,_0x122a70)=>('connected'!==_0x57eab6&&(this['_shouldPluginsReconnect']=!0x0),_0x122a70||_0x57eab6!==_0x51d08e['CONNECTED']?_0x51d08e['DISCONNECTED']:this['state']==_0x51d08e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x51d08e['CONNECTING']):_0x51d08e['CONNECTED'])),this['connection']['on']('error',(_0x1241d9,_0x3ea848)=>{if('limitExceeded'!==_0x3ea848['code'])throw console['error'](_0x3ea848),new _0x3443e5('cloudservices-init',null,{'originalError':_0x3ea848});_0x22fc62['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'});}),!_0x40aed8['me'])return new Promise(_0x483e7b=>_0x40aed8['on']('change:me',_0x483e7b));})['catch'](_0x350102=>{throw console['error'](_0x350102),new _0x3443e5('cloudservices-init',null,{'originalError':_0x350102});});}['addToReconnectionStack'](_0x338a2c){if('function'!=typeof _0x338a2c['reconnect'])throw new _0x3443e5('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x338a2c))throw new _0x3443e5('websocketgateway-plugin-already-registered',this,{'name':_0x338a2c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x338a2c);}['removeFromReconnectionStack'](_0x7a4e11){this['_reconnectionStack']['delete'](_0x7a4e11);}['isInReconnectionStack'](_0x165f90){return this['_reconnectionStack']['has'](_0x165f90);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x302117=>_0x302117['reconnect']())))['then'](()=>this['state']=_0x51d08e['CONNECTED'])['catch'](_0x140ae2=>{throw console['error'](_0x140ae2),new _0x3443e5('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x51d08e['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x375b1b{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x4fe278];}constructor(_0x4fbfd9){super(_0x4fbfd9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2718c8(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4fe278);}['init'](){const _0x402cf9=this['context']['plugins']['get'](c);this['listenTo'](_0x402cf9,'change:state',(_0x4b06e6,_0x5da501,_0x22e4ef)=>{if('connected'!==_0x22e4ef)this['channelSessions']['forEach'](_0xe7fda1=>_0xe7fda1['clear']()),this['channelConnectedUsers']['forEach'](_0x376cc5=>_0x376cc5['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x47fcb6,_0x38bb05]of this['_registeredSessions'])for(const _0x20c486 of _0x38bb05)this['_handleSessionAdd'](_0x47fcb6,_0x20c486);}}),this['_createUser'](_0x402cf9['connection']['me'],!0x0);}['register'](_0x50a20c,_0x1976dc){if(this['_registeredSessions']['has'](_0x50a20c))throw new _0x3443e5('sessions-register-already-registered',null,{'channelId':_0x50a20c});this['_registeredSessions']['set'](_0x50a20c,_0x1976dc),this['channelSessions']['set'](_0x50a20c,new _0x2718c8()),this['channelConnectedUsers']['set'](_0x50a20c,new _0x2718c8()),this['listenTo'](_0x1976dc,'add',(_0x13f209,_0x13ba1f)=>this['_handleSessionAdd'](_0x50a20c,_0x13ba1f)),this['listenTo'](_0x1976dc,'remove',(_0x1def98,_0x5c197b)=>this['_handleSessionRemove'](_0x50a20c,_0x5c197b));for(const _0x562e7c of _0x1976dc)this['_handleSessionAdd'](_0x50a20c,_0x562e7c);}['unregister'](_0x6a1b4){if(!this['_registeredSessions']['has'](_0x6a1b4))throw new _0x3443e5('sessions-unregister-not-exist',null,{'channelId':_0x6a1b4});const _0x5e512b=this['_registeredSessions']['get'](_0x6a1b4);this['stopListening'](_0x5e512b);for(const _0x45e562 of _0x5e512b)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x6a1b4,_0x45e562);this['_registeredSessions']['delete'](_0x6a1b4),this['channelSessions']['delete'](_0x6a1b4),this['channelConnectedUsers']['delete'](_0x6a1b4);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x5bbf71){for(const _0x403c0c of this['channelSessions']['values']())for(const _0x6ac881 of _0x403c0c)if(_0x6ac881['id']===_0x5bbf71)return _0x6ac881['user'];}['getUserSessions'](_0x132bfc,_0x185cee){const _0x9e7810=_0x185cee?[this['channelSessions']['get'](_0x185cee)]:this['channelSessions']['values'](),_0x2a39a1=new Set();for(const _0x1665ff of _0x9e7810)for(const _0x56576e of _0x1665ff)_0x56576e['user']['id']===_0x132bfc['id']&&_0x2a39a1['add'](_0x56576e['id']);return _0x2a39a1;}['getUserRole'](_0x4dd2a8){for(const _0x47108f of this['channelSessions']['values']())for(const _0x46445d of _0x47108f)if(_0x46445d['user']===_0x4dd2a8)return _0x46445d['role'];}['_handleSessionAdd'](_0x46601a,_0x14d501){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5b8ef9=_0x14d501['user'],_0x4b0ee9=this['_users']['getUser'](_0x5b8ef9['id'])||this['_createUser'](_0x5b8ef9),_0x440214=Object['assign']({},_0x14d501,{'user':_0x4b0ee9});this['channelSessions']['get'](_0x46601a)['add'](_0x440214);const _0xeca01d=this['channelConnectedUsers']['get'](_0x46601a);_0xeca01d['has'](_0x4b0ee9['id'])||_0xeca01d['add'](_0x4b0ee9),this['allConnectedUsers']['has'](_0x4b0ee9['id'])||this['allConnectedUsers']['add'](_0x4b0ee9,_0x4b0ee9['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x46601a,{'channelId':_0x46601a,'session':_0x440214});}['_handleSessionRemove'](_0x4f02b3,_0x2a5ba2){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x55f764=this['channelConnectedUsers']['get'](_0x4f02b3),_0x4ba8ca=_0x2a5ba2['user'];_0x4ba8ca['id']&&(this['channelSessions']['get'](_0x4f02b3)['remove'](_0x2a5ba2['id']),_0x55f764['has'](_0x4ba8ca['id'])&&!this['getUserSessions'](_0x4ba8ca,_0x4f02b3)['size']&&_0x55f764['remove'](_0x4ba8ca['id']),this['allConnectedUsers']['get'](_0x4ba8ca['id'])&&!this['getUserSessions'](_0x4ba8ca)['size']&&this['allConnectedUsers']['remove'](_0x4ba8ca['id']));}['_createUser'](_0x29f76f,_0xf3f427){const _0x14b344=this['_users']['addUser'](_0x29f76f);return _0xf3f427&&this['_users']['defineMe'](_0x29f76f['id']),_0x14b344['orderNumber']=this['_uniqueUsersCount']++,_0x14b344;}}class N extends _0x3b1a90{['_domEmitter']=new(_0x4ab1ad())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x52b5a5=this['editor'],_0x2b6bd3=_0x52b5a5['plugins']['get'](i);_0x52b5a5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x566d65,{writer:_0x562c8c})=>function(_0x122a2c,_0xc7c3f2,_0x386885,_0x15b37f){const _0x298d15=_0x122a2c['markerName']['split'](':')[0x2],_0x581943=_0x386885['getUserBySessionId'](_0x298d15);if(!_0x581943||_0x298d15===_0x386885['mySessionId'])return;if(!_0x15b37f['model']['schema']['checkChild'](_0x122a2c['markerRange']['start'],'$text'))return;const _0x4de790={'class':'ck-user__marker\x20'+_0x581943['color']['getMarkerClass'](),'data-name':_0x581943['name'],'data-session-id':_0x298d15},_0x48de3a=_0x15b37f['model']['markers']['get'](_0x122a2c['markerName']),_0x7ed9ff=_0x48de3a['getStart'](),_0x42aee3=_0x7ed9ff['nodeAfter'],_0x2f2215=_0x15b37f['model']['schema'];if(_0x42aee3&&_0x2f2215['isObject'](_0x42aee3)&&_0x2f2215['isInline'](_0x42aee3)&&!_0x15b37f['model']['markers']['get']('user:range:'+_0x298d15)['getRange']()['isCollapsed'])return;const _0x47d683=_0x7ed9ff['parent'];return _0x15b37f['model']['schema']['isLimit'](_0x47d683)&&!_0x15b37f['model']['hasContent'](_0x47d683)&&(_0x4de790['contenteditable']=!0x1),function(_0x490139,_0x27c6df,_0x48a67d){const _0x4bd0bb=_0x490139['createUIElement']('span',_0x27c6df);return _0x490139['setCustomProperty']('userPositionMarker',!0x0,_0x4bd0bb),_0x4bd0bb['render']=function(_0x1f9db5){const _0xb81324=this['toDomElement'](_0x1f9db5);return _0xb81324['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>'+_0x48a67d['name']+'</span>⁠',_0xb81324['addEventListener']('mouseenter',()=>{_0xb81324['classList']['add']('ck-user__marker_hovered');}),_0xb81324['addEventListener']('mouseleave',()=>{_0xb81324['classList']['remove']('ck-user__marker_hovered');}),_0xb81324;},_0x4bd0bb['isSimilar']=function(_0x1f5ed3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1f5ed3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1f5ed3['getAttribute']('data-session-id'));},_0x4bd0bb;}(_0xc7c3f2,_0x4de790,_0x581943);}(_0x566d65,_0x562c8c,_0x2b6bd3,_0x52b5a5)}),_0x52b5a5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5ead90=>function(_0x3a0f14,_0x54084c){const _0x1734e8=_0x3a0f14['markerName']['split'](':')[0x2];if(_0x1734e8===_0x54084c['mySessionId'])return null;const _0x464a18=_0x54084c['getUserBySessionId'](_0x1734e8);if(!_0x464a18)return{'id':_0x1734e8,'classes':[]};return{'id':_0x1734e8,'classes':['ck-user__selection',_0x464a18['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1734e8},'priority':0x7d0+_0x464a18['orderNumber']};}(_0x5ead90,_0x2b6bd3)}),function(_0x2e8163){const _0x1aa15c=_0x2e8163['model'],_0x51dffa=new Map(),_0x259d2c=_0x2e8163['plugins']['get'](i);_0x1aa15c['markers']['on']('update:user:range',(_0x16c337,_0xc9ca47,_0x289b3e,_0x38444b)=>{if(!_0x38444b&&_0x51dffa['get'](_0xc9ca47['name']))return _0x51dffa['get'](_0xc9ca47['name'])['detach'](),void _0x51dffa['delete'](_0xc9ca47['name']);const _0x5616bd=_0xc9ca47['name']['split'](':')[0x2];if(_0x5616bd===_0x259d2c['mySessionId'])return;const _0x15b1d9='user:position:'+_0x5616bd;_0x1aa15c['markers']['has'](_0x15b1d9)&&_0x2e8163['editing']['reconvertMarker'](_0x15b1d9),_0xc9ca47['on']('change:range',(_0x29ed07,_0x3438a9,_0x2fcd42)=>{if('$graveyard'!=_0x3438a9['root']['rootName']&&'$graveyard'==_0xc9ca47['getRange']()['root']['rootName']&&!_0x51dffa['has'](_0xc9ca47['name'])){const _0x386abc=_0x1aa15c['schema']['getNearestSelectionRange'](_0x2fcd42['deletionPosition']);if(_0x386abc){const _0x1af3dc=ut['fromRange'](_0x386abc);_0x51dffa['set'](_0xc9ca47['name'],_0x1af3dc),_0x1af3dc['on']('change:range',(_0x230be7,_0xdee545,_0x253dca)=>{if('$graveyard'==_0x1af3dc['root']['rootName']){const _0x2d1f29=_0x1aa15c['schema']['getNearestSelectionRange'](_0x253dca['deletionPosition']);_0x2d1f29?(_0x1af3dc['start']=_0x2d1f29['start'],_0x1af3dc['end']=_0x2d1f29['end']):(_0x51dffa['delete'](_0xc9ca47['name']),_0x1af3dc['detach']());}});}}});}),_0x1aa15c['document']['on']('change',()=>{_0x51dffa['size']>0x0&&_0x1aa15c['enqueueChange']({'isUndoable':!0x1},_0x2d93f7=>{for(const [_0x2e9f0c,_0x224d66]of _0x51dffa)'$graveyard'==_0x1aa15c['markers']['get'](_0x2e9f0c)['getRange']()['root']['rootName']&&(G(_0x2e9f0c['split'](':')[0x2],_0x224d66['toRange'](),_0x1aa15c,_0x2d93f7),_0x224d66['detach']());_0x51dffa['clear']();});});}(_0x52b5a5),this['_domEmitter']['listenTo'](_0x3b8f5d['document'],'keydown',(_0x1609dd,{key:_0x29d335})=>{'Escape'===_0x29d335&&function(_0x19093b){_0x19093b['editing']['view']['change'](_0x4425b0=>{for(const _0x44b3dd of _0x19093b['model']['markers']){if(!_0x44b3dd['name']['startsWith']('user:position'))continue;const _0x5a0313=_0x19093b['editing']['mapper']['markerNameToElements'](_0x44b3dd['name']);if(_0x5a0313){for(const _0x3bbec8 of _0x5a0313)_0x4425b0['removeClass']('ck-user__marker_hovered',_0x3bbec8);}}});}(_0x52b5a5);},{'useCapture':!0x0});}['afterInit'](){const _0x1fb92a=this['editor'],_0x452b97=_0x1fb92a['commands']['get']('undo');_0x452b97&&_0x1fb92a['model']['on']('applyOperation',(_0x3798ae,_0x24c4dc)=>{const _0x3be09d=_0x24c4dc[0x0];if('marker'!=_0x3be09d['type']||!_0x3be09d['name']['startsWith']('user:'))return;const _0x1aa639=_0x3be09d['batch'];_0x452b97['_createdBatches']['has'](_0x1aa639)&&(_0x3be09d['newRange']=_0x3be09d['oldRange']?_0x1fb92a['model']['createRange'](_0x3be09d['oldRange']['start'],_0x3be09d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3c121b=this['editor'],_0x173c55=_0x3c121b['model']['document'],_0x4e0bcf=_0x3c121b['plugins']['get'](i);_0x3c121b['model']['enqueueChange']({'isUndoable':!0x1},_0x3b940=>{const _0x2026f1='user:range:'+_0x4e0bcf['mySessionId'],_0x5a460e='user:position:'+_0x4e0bcf['mySessionId'],_0x45ae66=_0x3c121b['model']['markers']['has'](_0x2026f1);_0x3c121b['editing']['view']['hasDomSelection']?G(_0x4e0bcf['mySessionId'],_0x173c55['selection']['getFirstRange'](),_0x3c121b['model'],_0x3b940):_0x45ae66&&(_0x3b940['removeMarker'](_0x2026f1),_0x3b940['removeMarker'](_0x5a460e));});}}function G(_0xdecb36,_0x35d52f,_0x1efc7d,_0x3cc9be){const _0x4502f0='user:range:'+_0xdecb36,_0x216dd8='user:position:'+_0xdecb36,_0x4b4efb=_0x35d52f['getContainedElement']();let _0x2841e2=_0x35d52f['start'];_0x4b4efb&&_0x4b4efb['is']('element','tableCell')&&(_0x2841e2=function(_0x29b971,_0x51b7d4){for(const _0x3ea707 of _0x29b971['getPositions']())if(_0x51b7d4['schema']['checkChild'](_0x3ea707,'$text'))return _0x3ea707;}(_0x35d52f,_0x1efc7d),_0x35d52f=_0x3cc9be['createRange'](_0x2841e2));const _0x6d61b3=_0x3cc9be['createRange'](_0x2841e2);_0x1efc7d['markers']['has'](_0x4502f0)?(_0x3cc9be['updateMarker'](_0x4502f0,{'range':_0x35d52f}),_0x3cc9be['updateMarker'](_0x216dd8,{'range':_0x6d61b3})):(_0x3cc9be['addMarker'](_0x4502f0,{'range':_0x35d52f,'usingOperation':!0x0}),_0x3cc9be['addMarker'](_0x216dd8,{'range':_0x6d61b3,'usingOperation':!0x0}));}function E(_0x414cb2,_0x458886,_0x442afb){const _0x562b45=_0x414cb2['t'],t=_0x414cb2['t'];switch(_0x458886){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 _0x562b45({'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'},_0x442afb);default:return'';}}let M=0x1;class l extends _0x3b1a90{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0xfd8b2a)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,N,_0x491601,_0x4fe278,_0x1dfc1e];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x42c9b0=this['serverHistory']['getOperations']();for(let _0x3cd933=_0x42c9b0['length']-0x1;_0x3cd933>=0x0;_0x3cd933--){const _0x245e84=_0x42c9b0[_0x3cd933];if(!this['_disconnectionOperations']['has'](_0x245e84))return _0x245e84['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4fb606){if(super(_0x4fb606),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x49f383(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3443e5('collaboration-missing-channelid',this);const _0x34c4fe=_0x4fb606['config']['get']('cloudServices.bundleVersion')||dt;this['_service']=new l['CollaborativeEditingService'](_0x34c4fe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x481af2(),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 W(this['_disconnectionOperations']);}['init'](){const _0x161552=this['editor'],_0x2eeb33=_0x161552['plugins']['get'](_0x4fe278),_0x307231=_0x161552['plugins']['get'](c);this['listenTo'](_0x2eeb33,'getOperationAuthor',(_0x222289,_0x340dec)=>{const _0x2d51d3=_0x340dec[0x0];_0x2d51d3['_authorId']&&(_0x222289['return']=_0x2eeb33['getUser'](_0x2d51d3['_authorId']),_0x222289['stop']()),null===_0x2d51d3['_authorId']&&(_0x222289['return']=null,_0x222289['stop']());},{'priority':'high'}),this['listenTo'](_0x161552['model']['document']['selection'],'change:range',(_0x304100,_0x12bb37)=>{_0x12bb37['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x161552['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x161552['model']['on']('applyOperation',(_0x21977e,_0x52e13d)=>{const _0x89fd53=_0x52e13d[0x0];_0x89fd53['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x89fd53),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x307231,'state',this,'_hasSynchronizationProblem',(_0x3c7724,_0x2619fa)=>'connected'===_0x3c7724&&!_0x2619fa),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x161552['disableReadOnlyMode']('rtc-offline'):_0x161552['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x161552['disableReadOnlyMode']('rtc-offline'):_0x161552['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x26f74d=this['editor']['plugins']['get'](i),_0x127e28=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x26f74d['unregister'](this['_channelId']);const _0x5abb65=await this['_service']['reconnect'](_0x127e28['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5abb65)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1b72d2=await this['_service']['getConnectedSessions']();_0x26f74d['register'](this['_channelId'],_0x1b72d2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x273888){if(function(_0x355621){return'404'===_0x355621['code'];}(_0x273888)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x31acb9){return'409'===_0x31acb9['code'];}(_0x273888)){const _0x19c7d7=E(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'](_0x19c7d7);}else{if(!(_0x273888 instanceof z))throw _0x273888;this['_handleReconnectionError']();}}}}['destroy'](){const _0x49da24=this['editor']['plugins']['get'](c),_0x18a57a=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x18a57a['channelSessions']['has'](this['_channelId'])&&_0x18a57a['unregister'](this['_channelId']),_0x49da24['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x8c21fc){if(this['sessionId']!==_0x8c21fc['sessionId']&&this['_lastSyncedOperationId']!==_0x8c21fc['lastOperationId'])throw new z();return this['sessionId']=_0x8c21fc['sessionId'],this['_handleServerResponse']([],{..._0x8c21fc,'wereChangesApplied':!0x1,'data':_0x8c21fc['data']},'reconnect');}async['_connectService'](_0x55c562,_0x404220=!0x1){const {connection:_0x26c4e8}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x26c4e8,this['_channelId'])['then'](_0x3ba3fc=>this['_initSessionsHandling'](_0x3ba3fc))['catch'](_0x391ba5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x391ba5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x19ebaa,_0x1e1154)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x1e1154);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3d38dc=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x55c562);this['_isPendingUpdate']=!0x0;const _0x4cfdc7=await this['_service']['connect'](_0x26c4e8,this['_compressOperations'](_0x55c562),_0x3d38dc);if(this['sessionId']=_0x4cfdc7['sessionId'],_0x404220){if(!_0x4cfdc7['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4cfdc7['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x55c562,_0x4cfdc7,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4cfdc7,_0x55c562);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1532dc=this['editor']['plugins']['get'](i),_0x30a1ca=this['editor']['plugins']['get'](N),_0x360b82=_0x1532dc['channelSessions']['get'](this['_channelId']);_0x360b82&&_0x360b82['length']>0x1?_0x30a1ca['createUserMarkerOperations']():this['listenTo'](_0x1532dc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1532dc['channelSessions']['get'](this['_channelId'])['length']&&_0x30a1ca['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1f7ea5,_0x18efab,_0x371152,_0x48e0ea){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x18efab){const _0x306a2e=this['_decompressOperations'](_0x371152,_0x48e0ea);await this['_fetchMissingUsers'](_0x306a2e),this['_handleExternalOperations'](_0x306a2e,_0x18efab,_0x371152['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4fa786}=this['editor'];let _0x46d23c;try{_0x46d23c=await this['_service']['getDocumentDetails']();}catch(_0x3ed00e){const _0x1721b8=E(_0x4fa786,'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'](_0x1721b8);}const _0x67a621=_0x46d23c['currentDocumentSession']||_0x46d23c['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x67a621['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x357774=E(_0x4fa786,'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'](_0x357774);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x591a5b){const _0x57461e=this['editor']['plugins']['get'](i);this['listenTo'](_0x57461e,'sessionAdd:'+this['_channelId'],(_0x58e5f8,{session:_0x191cd1})=>{if(_0x191cd1['id']===_0x57461e['mySessionId']){_0x58e5f8['off']();const _0x1405ee=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x33f080=_0x191cd1['permissions'];_0x1405ee&&_0x1405ee['isEnabled']&&(_0x33f080=_0x33f080['filter'](_0x41eb0d=>'document:write'!==_0x41eb0d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x33f080,this['_channelId']);}}),_0x57461e['register'](this['_channelId'],_0x591a5b);}['_initThrowingOnDataSet'](){const _0x6500b8=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x20878d)=>{if(!_0x20878d[_0x20878d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3443e5('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x6500b8['apply'](this['editor']['data'],_0x20878d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xa32651,[_0x5a7933])=>{if(this['_document']['version'])throw new _0x3443e5('realtimecollaborationclient-init-document-already-initialized',this);_0xa32651['stop'](),this['_setPendingAction']();const _0x5796b1=this['editor']['config']['get']('rootsAttributes'),_0x467e88=this['_getOperationsFromInitData'](_0x5a7933,_0x5796b1);0x0==_0x467e88['length']&&_0x467e88['push'](new _0x51c15b(0x0)),_0xa32651['return']=this['_connectService'](_0x467e88)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5c34cb=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5c34cb))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4ecdf9,[_0x4c10f9,_0x4a0056])=>{_0x4ecdf9['stop']();const _0x2a51e6=this['editor']['model']['document']['getRoot'](_0x4c10f9);if(!this['_knownRootNames']['has'](_0x4c10f9)){const _0x2f6f33=_0x4a0056&&_0x4a0056['data']?_0x4a0056['data']:'',_0x4005b6=_0x4a0056&&_0x4a0056['attributes']?_0x4a0056['attributes']:{};await this['_loadRoot'](_0x4c10f9,_0x2f6f33,_0x4005b6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2a51e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2a51e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2d5e0e){const _0x4a9840=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x3eed42}=this['editor']['plugins']['get'](c),_0x28bb33=new Set();for(const _0x5c77e9 of _0x2d5e0e){const _0x530ae3=_0x5c77e9['_authorId'];_0x530ae3&&!_0x4a9840['getUser'](_0x530ae3)&&_0x28bb33['add'](_0x530ae3);}if(0x0===_0x28bb33['size'])return;const _0x5e9e17=await mt['getMany'](_0x3eed42,Array['from'](_0x28bb33));for(const _0x54ae8e of _0x5e9e17)_0x4a9840['getUser'](_0x54ae8e['id'])||_0x4a9840['addUser'](_0x54ae8e);}['_getOperationsFromInitData'](_0x4e3311,_0x327652={}){const _0x3e92b7=this['editor']['model'],_0x298021=[];let _0x1deeeb=0x0;const _0x283131='string'==typeof _0x4e3311?{'main':_0x4e3311}:_0x4e3311;for(const _0x402987 of Object['keys'](_0x283131)){if(!this['_document']['roots']['has'](_0x402987))throw new _0x3443e5('realtimecollaborationclient-init-non-existent-root',this);const _0x2a7b1b=this['editor']['data']['parse'](_0x283131[_0x402987]),_0x18fcd2=this['_document']['getRoot'](_0x402987),_0x583f98=new _0x1b8f90(_0x3e92b7['createPositionAt'](_0x18fcd2,0x0),_0x2a7b1b,_0x1deeeb++);_0x298021['push'](_0x583f98);for(const [_0x4c2e16,_0x255ec0]of _0x2a7b1b['markers']){const _0x288367=_0x3e92b7['createRange'](_0x3e92b7['createPositionFromPath'](_0x18fcd2,_0x255ec0['start']['path']['slice']()),_0x3e92b7['createPositionFromPath'](_0x18fcd2,_0x255ec0['end']['path']['slice']())),_0x1b52ec=new _0x17a7da(_0x4c2e16,null,_0x288367,_0x3e92b7['markers'],!0x0,_0x1deeeb++);_0x298021['push'](_0x1b52ec);}}if(_0x327652)for(const [_0x3e418a,_0x209993]of Object['entries'](_0x327652)){const _0x3831d3=_0x3e92b7['document']['getRoot'](_0x3e418a);if(!_0x3831d3)throw new _0x3443e5('multi-root-editor-root-attributes-no-root',null);for(const [_0x275640,_0x55b22b]of Object['entries'](_0x209993))if(null!==_0x55b22b){const _0x941c48=new _0x44a68e(_0x3831d3,_0x275640,null,_0x55b22b,_0x1deeeb++);_0x298021['push'](_0x941c48);}}return _0x298021;}async['_loadRoot'](_0x2b5783,_0x12f240,_0x4eac92){this['_getOperationsFromInitData']({[_0x2b5783]:_0x12f240},{[_0x2b5783]:_0x4eac92})['forEach']((_0xda459a,_0xb6c7d2)=>{_0xda459a['baseVersion']=this['_document']['version']+_0xb6c7d2,_0xda459a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xda459a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x39044c,_0x5e5be5){let _0x4b49fc;this['_offset']=_0x39044c['offset'];const _0x307984=_0x39044c['wereChangesApplied']&&!_0x39044c['initData'],_0x2b396f=_0x307984?0x0:_0x39044c['data']['baseVersion'];if(_0x5e5be5['forEach'](_0x1e8f0a=>{_0x1e8f0a['_isInit']=!0x0,_0x1e8f0a['createdAt']=_0x39044c['sessionCreatedAt'],_0x1e8f0a['_authorId']=null;}),_0x307984)_0x4b49fc=_0x5e5be5,this['_applyOperationsSet'](_0x4b49fc,_0x307984);else{if(_0x39044c['initData']){const _0x1c6590=this['_getOperationsFromInitData'](_0x39044c['initData']);this['_document']['history']['version']=-_0x1c6590['length'],_0x1c6590['forEach'](_0x3f9770=>{_0x3f9770['baseVersion']-=_0x1c6590['length'],_0x3f9770['createdAt']=_0x39044c['sessionCreatedAt'],_0x3f9770['_isInit']=!0x0,_0x3f9770['_authorId']=null;}),this['_applyOperationsSet'](_0x1c6590,!0x0),this['serverHistory']['version']=-_0x1c6590['length']+this['_offset'],this['_updateServerHistory'](_0x1c6590);}this['_document']['history']['version']=_0x2b396f,_0x4b49fc=this['_decompressOperations'](_0x39044c['data'],_0x39044c['metadata']),await this['_fetchMissingUsers'](_0x4b49fc),this['_applyOperationsSet'](_0x4b49fc,_0x307984);}_0x39044c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4b49fc,_0x39044c['lastOperationId']),this['_lastSyncedOperationId']=_0x39044c['lastOperationId']),this['serverHistory']['version']=_0x2b396f+this['_offset'],this['_updateServerHistory'](_0x4b49fc),_0x5e5be5['filter'](_0x2d9b31=>{const _0x597415=this['_getAffectedRoot'](_0x2d9b31);return _0x597415&&!this['_knownRootNames']['has'](_0x597415);})['forEach']((_0x1bd300,_0x30891b)=>{_0x1bd300['baseVersion']=this['_document']['version']+_0x30891b,this['_saveOperationInBuffer'](_0x1bd300);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2a7dbc,_0xcd85d,_0x1b5e42){throw this['_isPendingUpdate']=!0x0,_0xcd85d&&console['error'](_0xcd85d),_0x1b5e42&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3443e5(_0x2a7dbc,this['editor']);}['_saveOperationInBuffer'](_0x45c8f4){this['_knownOperations']['has'](_0x45c8f4)||(this['_knownOperations']['add'](_0x45c8f4),this['_bufferedOperations']['push'](_0x45c8f4),this['_pendingAction']||'marker'==_0x45c8f4['type']&&!_0x45c8f4['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x11ce07=!0x1){!_0x11ce07&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4db03f=>{_0x4db03f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x530dcb=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5b075b){return _0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x530dcb)||this['_crash'](_0x530dcb['message'],_0x530dcb,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x447394=>{this['on']('change:_isPendingUpdate',()=>{_0x447394();});});}async['_sendBufferedOperations'](){const _0x2d32b1=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x2d32b1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3bc901=[...this['_bufferedOperations']];for(const _0x3dabba of _0x3bc901)_0x3dabba['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3dabba);const _0x35a3a6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3bc901),_0x40d9e9=M++,_0xcc0400=this['_compressOperations'](_0x3bc901),_0x3fa78d=await this['_service']['sendOperations'](_0xcc0400,_0xcc0400['baseVersion'],_0x35a3a6);try{return await this['_handleServerResponse'](_0x3bc901,_0x3fa78d,_0x40d9e9);}catch(_0x4ea29c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4ea29c);}}async['_handleServerResponse'](_0x301704,_0x318fbf,_0x4a8282){if('error'in _0x318fbf)throw _0x318fbf['error'];let _0x439969=!0x1;if(_0x318fbf['wereChangesApplied']){_0x318fbf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x318fbf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x181761=>!_0x301704['includes'](_0x181761));for(const _0x39c6fa of _0x301704)_0x39c6fa['createdAt']='lastOperationAcceptedAt'in _0x318fbf&&_0x318fbf['lastOperationAcceptedAt']||void 0x0;V(_0x301704,_0x318fbf['version']-_0x301704['length']),this['_updateServerHistory'](_0x301704);const _0x482320=_0x301704['filter'](_0x17b2f3=>{if(!_0x17b2f3['_isInit'])return!0x1;const _0x5348d2=this['_getAffectedRoot'](_0x17b2f3);return _0x5348d2&&!this['_knownRootNames']['has'](_0x5348d2);});V(_0x482320,this['_document']['version']),this['_applyOperationsSet'](_0x482320),_0x439969=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4edb3f=this['_decompressOperations'](_0x318fbf['data'],_0x318fbf['metadata'])['filter'](_0x23df2c=>_0x23df2c['baseVersion']>=this['_lastServerVersion']);_0x4edb3f['forEach'](_0x1ae6b3=>this['_addKnownRoot'](_0x1ae6b3)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5b7ecb=>!_0x5b7ecb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5b7ecb))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4edb3f),_0x439969=this['_handleExternalOperations'](_0x4edb3f,_0x318fbf['version'],_0x318fbf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x439969?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x17a7e4,_0x5baab1,_0x41645c){try{const _0x3a67ae={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x243791,operationsB:_0x468f9f,originalOperations:_0x4efdcb}=_0x1790a5(_0x17a7e4,this['_bufferedOperations'],_0x3a67ae);V(_0x243791,this['_document']['version']),V(_0x468f9f,_0x5baab1);for(const _0x3e6de2 of _0x243791){const _0x2847b7=_0x4efdcb['get'](_0x3e6de2);_0x3e6de2['_authorId']=_0x2847b7?_0x2847b7['_authorId']:null;}_0x41645c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x17a7e4,_0x41645c),this['_lastSyncedOperationId']=_0x41645c),this['_bufferedOperations']=[..._0x468f9f],this['_applyOperationsSet'](_0x243791),this['_updateServerHistory'](_0x17a7e4);}catch(_0x411410){return console['error'](_0x411410),!0x1;}return!0x0;}['_applyOperationsSet'](_0x494f02,_0x120f71=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x419d6f=>{for(const _0x3ed52b of _0x494f02)this['_knownOperations']['add'](_0x3ed52b),this['_addKnownRoot'](_0x3ed52b),_0x419d6f['batch']['addOperation'](_0x3ed52b),this['editor']['model']['applyOperation'](_0x3ed52b);});}['_addKnownRoot'](_0x2f4810){const _0x5f2432=this['_getAffectedRoot'](_0x2f4810);_0x5f2432&&this['_knownRootNames']['add'](_0x5f2432);}['_getAffectedRoot'](_0x2869ca){let _0x4bb83a,_0x3094d1;switch(_0x2869ca['type']){case'insert':_0x4bb83a=_0x2869ca['position']['root'];break;case'marker':if(_0x3094d1=_0x2869ca['newRange'],!_0x3094d1)return null;_0x4bb83a=_0x3094d1['root'];break;case'addRootAttribute':_0x4bb83a=_0x2869ca['root'];break;case'addRoot':_0x4bb83a=_0x2869ca['affectedSelectable'];break;case'move':_0x4bb83a=_0x2869ca['targetPosition']['root'];break;default:return null;}return _0x4bb83a['rootName'];}['_updateServerHistory'](_0xf4c4d9){_0xf4c4d9['forEach'](_0x4f3b8c=>{const _0x481f7d=_0x4f3b8c['clone']();_0x481f7d['_authorId']=_0x4f3b8c['_authorId'],_0x481f7d['_isInit']=!!_0x4f3b8c['_isInit'],_0x481f7d['createdAt']=_0x4f3b8c['createdAt'],_0x481f7d['baseVersion']+=this['_offset'],_0x4f3b8c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x481f7d),this['serverHistory']['addOperation'](_0x481f7d);});}['_handleReconnectionError'](_0x59e9db){const _0x2cb87a=this['editor']['plugins']['get']('Notification'),_0x35f014=this['editor']['locale'];_0x59e9db||(_0x59e9db=E(_0x35f014,'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.')),_0x2cb87a['showWarning'](_0x59e9db,{'title':E(_0x35f014,'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'](_0x491601)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x491601)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x44ded6){const _0x273d87=_0x44ded6['map'](_0x3c638f=>_0x3c638f['toJSON']());return this['_compressor']['compress'](_0x273d87);}['_decompressOperations'](_0x37010a,_0x569f64){return this['_compressor']['decompress'](_0x37010a)['map']((_0xb64a4c,_0x27597d)=>{const _0x24e606='init'==_0x569f64[_0x27597d]['type'];if('InsertOperation'==_0xb64a4c['__className']){const _0x57b9c4=_0xb64a4c['position']['root'];!this['_document']['getRoot'](_0x57b9c4)&&(this['_document']['createRoot']('$root',_0x57b9c4)['_isAttached']=!0x1);}const _0x20a49f=_0x540e13['fromJSON'](_0xb64a4c,this['_document']);return _0x20a49f['wasUndone']=_0xb64a4c['wasUndone'],_0x20a49f['_isInit']=_0x24e606,_0x20a49f['_authorId']=_0x24e606?null:_0x569f64[_0x27597d]['userId'],_0x20a49f['_isDisconnection']='cs:removeUser'===_0x569f64[_0x27597d]['type'],_0x20a49f['createdAt']=_0x569f64[_0x27597d]['createdAt'],_0x20a49f;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5aa1a2=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5aa1a2&&_0x5aa1a2['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class z extends Error{}function V(_0x126f7a,_0x40eb6f){for(const _0x23591f of _0x126f7a)_0x23591f['baseVersion']=_0x40eb6f++;}class W{['_ignoredOperations'];['_operationToId'];constructor(_0x36f50e){this['_ignoredOperations']=_0x36f50e,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5cfb83){let _0x1ce9b4=_0x5cfb83['length'];for(;_0x1ce9b4--;){const _0x2e35ae=_0x5cfb83[_0x1ce9b4];if(!this['_ignoredOperations']['has'](_0x2e35ae)){if(!this['_operationToId']['has'](_0x2e35ae)){const _0x36caa5=_0x3831d0()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2e35ae,_0x36caa5);}return this['_operationToId']['get'](_0x2e35ae);}}}['setIdForTheLastOperation'](_0x5135dc,_0x3204fa){if(!_0x3204fa)return;let _0x17edcb=_0x5135dc['length'];for(;_0x17edcb--;){const _0x57fa0a=_0x5135dc[_0x17edcb];this['_ignoredOperations']['has'](_0x57fa0a)||this['_operationToId']['set'](_0x57fa0a,_0x3204fa);}}}class n extends _0x3b1a90{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x375b1b{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x3354a4)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x4fe278];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e4294){super(_0x2e4294),this['_services']=new Map();}async['init'](){const _0x2729d5=this['context'],_0x1215d6=_0x2729d5['plugins']['get']('CommentsRepository');if(_0x2729d5['plugins']['get'](c)['addToReconnectionStack'](this),_0x1215d6['adapter']={'addCommentThread':async({channelId:_0xd5e649,threadId:_0x51d395,comments:_0x1b012f,resolvedAt:_0x40d5af,resolvedBy:_0xc07d57,context:_0x1b2b56,attributes:_0x478a26})=>{const _0x394e8c=await this['_getService'](_0xd5e649)['addCommentThread']({'commentThreadId':_0x51d395,'comments':_0x1b012f['map'](_0xff77b9=>function(_0x311d79,_0x5b8b68,_0x1c2123){return{'commentThreadId':_0x1c2123,'commentId':_0x311d79['commentId'],'userId':_0x311d79['authorId'],'content':_0x311d79['content'],'documentId':_0x5b8b68,'createdAt':_0x311d79['createdAt'],'attributes':_0x311d79['attributes']||{}};}(_0xff77b9,_0xd5e649,_0x51d395)),'resolvedAt':_0x40d5af,'resolvedBy':_0xc07d57,'context':_0x1b2b56,'attributes':_0x478a26})['catch'](gt);return{'threadId':_0x394e8c['commentThreadId'],'comments':_0x394e8c['comments']};},'getCommentThread':async({channelId:_0x181118,threadId:_0x287a99})=>{const _0x3cc209=await this['_getService'](_0x181118)['getCommentThread'](_0x287a99)['catch'](gt);return _0x3cc209['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3cc209]),{'threadId':_0x3cc209['commentThreadId'],'comments':_0x3cc209['comments']['map'](b),'context':_0x3cc209['context'],'resolvedAt':_0x3cc209['resolvedAt'],'resolvedBy':_0x3cc209['resolvedBy'],'attributes':_0x3cc209['attributes']||{}});},'updateCommentThread':async({channelId:_0x1cb468,threadId:_0x3d205a,context:_0x213a5b,unlinkedAt:_0x37cd38,attributes:_0x236db1})=>this['_getService'](_0x1cb468)['updateCommentThread']({'commentThreadId':_0x3d205a,'context':_0x213a5b,'attributes':_0x236db1,'unlinkedAt':_0x37cd38})['catch'](y)['catch'](gt),'resolveCommentThread':async({channelId:_0x157382,threadId:_0x377f1c})=>{const _0x3a9528=await this['_getService'](_0x157382)['resolveCommentThread'](_0x377f1c)['catch'](y)['catch'](gt);return{'threadId':_0x3a9528['commentThreadId'],'resolvedAt':_0x3a9528['resolvedAt'],'resolvedBy':_0x3a9528['resolvedBy']};},'reopenCommentThread':async({channelId:_0x498b93,threadId:_0x48f5f9})=>this['_getService'](_0x498b93)['reopenCommentThread'](_0x48f5f9)['catch'](y)['catch'](gt),'removeCommentThread':({channelId:_0x25768a,threadId:_0x5515f3})=>this['_getService'](_0x25768a)['removeCommentThread'](_0x5515f3)['catch'](y)['catch'](gt),'addComment':({channelId:_0x114690,threadId:_0x282f6d,commentId:_0x3195e0,content:_0x49cee7,attributes:_0x41d0c8})=>this['_getService'](_0x114690)['addComment'](_0x282f6d,_0x3195e0,_0x49cee7,_0x41d0c8)['catch'](gt),'updateComment':({channelId:_0x11bea2,threadId:_0x26a799,commentId:_0x590238,content:_0x34357a,attributes:_0x3c922f})=>this['_getService'](_0x11bea2)['updateComment'](_0x26a799,_0x590238,_0x34357a,_0x3c922f)['catch'](y)['catch'](gt),'removeComment':({channelId:_0x35599b,threadId:_0x3911a3,commentId:_0x2ae8dd})=>this['_getService'](_0x35599b)['removeComment'](_0x3911a3,_0x2ae8dd)['catch'](y)['catch'](gt)},_0x2729d5 instanceof _0x445727){const _0x51cbb4=_0x2729d5['config']['get']('collaboration.channelId'),_0x16359b=_0x2729d5['plugins']['get'](i);await this['_setUpService'](_0x51cbb4);const _0x1e5099=await this['_services']['get'](_0x51cbb4)['getConnectedSessions']();this['listenTo'](_0x16359b,'sessionAdd:'+_0x51cbb4,(_0x24e609,{session:_0xecbe49})=>{_0xecbe49['id']===_0x16359b['mySessionId']&&(_0x24e609['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xecbe49['permissions'],_0x51cbb4));}),_0x16359b['register'](_0x51cbb4,_0x1e5099);}}async['_setUpService'](_0x313342){if(this['_services']['has'](_0x313342))throw new _0x3443e5('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x313342});const _0x310de3=this['context']['plugins']['get']('CommentsRepository'),_0x5c6b5a=new a['CommentsService'](_0x313342);this['_services']['set'](_0x313342,_0x5c6b5a),this['listenTo'](_0x5c6b5a,'commentThreadAdded',(_0x1510bf,_0x5b9676)=>{const {commentThreadId:_0x1474cb,documentId:_0xe60eeb,context:_0x18aa69,attributes:_0x4bf455,resolvedAt:_0xe55393,resolvedBy:_0x2ec56f,comments:_0xcb8b8e}=_0x5b9676;_0x310de3['getCommentThread'](_0x1474cb)||_0x310de3['addCommentThread']({'threadId':_0x1474cb,'channelId':_0xe60eeb,'comments':_0xcb8b8e?_0xcb8b8e['map'](b):[],'context':_0x18aa69,'attributes':_0x4bf455,'resolvedAt':_0xe55393,'resolvedBy':_0x2ec56f,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadUpdated',(_0x2501c1,{commentThreadId:_0x55a263,documentId:_0x35cc4c,context:_0x48273a,unlinkedAt:_0xfd57d,attributes:_0xf7e017})=>{_0x310de3['getCommentThread'](_0x55a263)&&_0x310de3['updateCommentThread']({'threadId':_0x55a263,'channelId':_0x35cc4c,'context':_0x48273a,'unlinkedAt':_0xfd57d,'attributes':_0xf7e017,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadResolved',(_0x4e48b9,{commentThreadId:_0x37b6ab,resolvedBy:_0x517b40,resolvedAt:_0x5e0f22})=>{const _0x2060f0=_0x310de3['getCommentThread'](_0x37b6ab);_0x2060f0&&_0x2060f0['resolve']({'resolvedBy':_0x517b40,'resolvedAt':_0x5e0f22,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadReopened',(_0x17ef2a,{commentThreadId:_0x15875d})=>{const _0x32ccdd=_0x310de3['getCommentThread'](_0x15875d);_0x32ccdd&&_0x32ccdd['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadRemoved',(_0x5b5237,{commentThreadId:_0xf71d98})=>{const _0x155156=_0x310de3['getCommentThread'](_0xf71d98);_0x155156&&_0x155156['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentAdded',(_0x35fe27,_0x3187cc)=>{const _0x550259=_0x3187cc['commentThreadId'],_0x2c08cb=_0x310de3['getCommentThread'](_0x550259);_0x2c08cb&&_0x2c08cb['addComment']({...b(_0x3187cc),'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentUpdated',(_0x40a9d3,{commentThreadId:_0x42c4d8,commentId:_0x1a2b4f,content:_0x1d330,attributes:_0x56ea18})=>{const _0x4a1619=_0x310de3['getCommentThread'](_0x42c4d8);if(_0x4a1619){const _0x9d5491=_0x4a1619['getComment'](_0x1a2b4f);_0x9d5491&&_0x9d5491['update']({'content':_0x1d330,'attributes':_0x56ea18,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5c6b5a,'commentRemoved',(_0x2a4944,{commentThreadId:_0x2bd65a,commentId:_0x40a5f6})=>{const _0x47cfe5=_0x310de3['getCommentThread'](_0x2bd65a);if(_0x47cfe5){const _0x39a891=_0x47cfe5['getComment'](_0x40a5f6);_0x39a891&&_0x39a891['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x313342);}['destroy'](){if(this['context']instanceof _0x445727){const _0x55f468=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x55f468);}}['_terminateService'](_0x2a0ddd){if(!this['_services']['has'](_0x2a0ddd))throw new _0x3443e5('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2a0ddd});this['_getService'](_0x2a0ddd)['disconnect'](),this['_services']['delete'](_0x2a0ddd);}async['reconnect'](){for(const _0x2ce61e of this['_services']['keys']())await this['_connectService'](_0x2ce61e);if(this['context']instanceof _0x445727){const _0x328d44=this['context']['config']['get']('collaboration.channelId'),_0x4785b3=this['context']['plugins']['get'](i);_0x4785b3['unregister'](_0x328d44);const _0x4d80c2=await this['_services']['get'](_0x328d44)['getConnectedSessions']();_0x4785b3['register'](_0x328d44,_0x4d80c2);}}async['_connectService'](_0x3fd4c6){const {connection:_0x55652d}=this['context']['plugins']['get'](c),_0x307db2=this['context']['plugins']['get']('CommentsRepository'),_0x64e4be=this['_services']['get'](_0x3fd4c6),_0x155268=await _0x64e4be['connect'](_0x55652d);await this['_fetchMissingUsersForThreads'](_0x155268);const _0x452cc6=new Set(Array['from'](_0x307db2['getCommentThreads']({'channelId':_0x3fd4c6}),_0x5260df=>_0x5260df['id']));for(const _0x182292 of _0x155268)_0x182292['deletedAt']||_0x452cc6['delete'](_0x182292['commentThreadId']);for(const _0x37062b of _0x452cc6)_0x307db2['getCommentThread'](_0x37062b)['remove']({'isFromAdapter':!0x0});for(const _0x189978 of _0x155268){let _0x20805f=_0x307db2['getCommentThread'](_0x189978['commentThreadId']);const {commentThreadId:_0x1d72b4,context:_0x786ede,attributes:_0x52f059,resolvedBy:_0xa65230,resolvedAt:_0x1d729e,unlinkedAt:_0x14a6eb,deletedAt:_0x14f127}=_0x189978;if(_0x14f127)continue;_0x20805f||(_0x20805f=_0x307db2['addCommentThread']({'channelId':_0x3fd4c6,'threadId':_0x1d72b4,'context':_0x786ede,'attributes':_0x52f059||{},'resolvedBy':_0xa65230,'resolvedAt':_0x1d729e,'unlinkedAt':_0x14a6eb,'isFromAdapter':!0x0}));const _0xccb9d7=new Set(Array['from'](_0x20805f['comments'],_0x2ae594=>_0x2ae594['id']));for(const _0x26e501 of _0x189978['comments'])_0xccb9d7['delete'](_0x26e501['commentId']);for(const _0x2ecda8 of _0xccb9d7)_0x20805f['getComment'](_0x2ecda8)['remove']({'isFromAdapter':!0x0});for(const _0x1703ec of _0x189978['comments']){const _0x3d7573=_0x20805f['getComment'](_0x1703ec['commentId']);_0x3d7573?_0x3d7573['content']!==_0x1703ec['content']&&_0x3d7573['update']({'content':_0x1703ec['content'],'isFromAdapter':!0x0}):_0x20805f['addComment'](Object['assign'](b(_0x1703ec),{'isFromAdapter':!0x0}));}}}['_getService'](_0xf99476){if(!this['_services']['has'](_0xf99476))throw new _0x3443e5('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xf99476});return this['_services']['get'](_0xf99476);}async['_fetchMissingUsersForThreads'](_0x152968){const _0x5d61b9=this['context']['plugins']['get'](_0x4fe278),{connection:_0x1c69df}=this['context']['plugins']['get'](c),_0x5d4c37=new Set();for(const {resolvedBy:_0x2cb039,comments:_0x13fb75}of _0x152968){_0x2cb039&&!_0x5d61b9['getUser'](_0x2cb039)&&_0x5d4c37['add'](_0x2cb039);for(const {userId:_0x428df0}of _0x13fb75)_0x5d61b9['getUser'](_0x428df0)||_0x5d4c37['add'](_0x428df0);}if(0x0===_0x5d4c37['size'])return;const _0x4e6292=await mt['getMany'](_0x1c69df,Array['from'](_0x5d4c37));for(const _0x5beabf of _0x4e6292)_0x5d61b9['getUser'](_0x5beabf['id'])||_0x5d61b9['addUser'](_0x5beabf);}}async function y(_0x588aed){if('404'!==_0x588aed['code'])throw _0x588aed;}function gt(_0x4732ac){if((_0x443bbb=_0x4732ac)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x443bbb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x443bbb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x443bbb;throw _0x4732ac;}function b(_0x2a138c){return{'threadId':_0x2a138c['commentThreadId'],'commentId':_0x2a138c['commentId'],'content':_0x2a138c['content'],'createdAt':_0x2a138c['createdAt'],'authorId':_0x2a138c['userId'],'attributes':_0x2a138c['attributes']||{}};}class f extends _0x3b1a90{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>nt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x51bdc5){super(_0x51bdc5);const _0x313212=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x313212);}['init'](){const _0x4d560c=this['editor']['plugins']['get'](c),_0x48f063=this['editor']['plugins']['get']('TrackChangesEditing');return _0x48f063['adapter']={'getSuggestion':async _0x2a5313=>{await this['_waitForServiceReady']();const _0x1db4bc=await this['_trackChangesService']['get'](_0x2a5313)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x1db4bc]),_0x1db4bc;},'addSuggestion':async({id:_0x7c794f,type:_0x467829,data:_0x152474,originalSuggestionId:_0x591548,attributes:_0x129858})=>{await this['_waitForServiceReady']();const _0x3cda3e={'id':_0x7c794f,'type':_0x467829,'data':_0x152474,'originalSuggestionId':_0x591548,'attributes':_0x129858},_0x5f0de4=await this['_trackChangesService']['add'](_0x7c794f,_0x467829,_0x152474,_0x591548,_0x129858)['catch'](_0x149c3f=>{if(wt(_0x149c3f))return new Promise(_0x495f8a=>{this['_bufferedRequests']['set'](_0x7c794f,{'resolve':_0x495f8a,'suggestionData':_0x3cda3e});});throw _0x149c3f;});return this['_bufferedRequests']['delete'](_0x7c794f),_0x5f0de4;},'updateSuggestion':async(_0x2191ce,_0x483227)=>{if(await this['_waitForServiceReady'](),'open'!==_0x483227['state'])return this['_trackChangesService']['update'](_0x2191ce,_0x483227)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x56ab3b,_0x4cdcb7)=>{_0x48f063['hasSuggestion'](_0x4cdcb7['id'])&&(_0x48f063['getSuggestion'](_0x4cdcb7['id'])['attributes']=_0x4cdcb7['attributes']);}),this['_trackChangesService']['connect'](_0x4d560c['connection'])['then'](_0x38be6b=>(_0x4d560c['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x38be6b)['then'](()=>{for(const _0x19eac3 of _0x38be6b){_0x48f063['addSuggestionData'](_0x19eac3)['_saved']=!0x0;}})));}async['reconnect'](){const _0xd01241=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1e21b0}=this['editor']['plugins']['get'](c),_0x14fc60=await this['_trackChangesService']['connect'](_0x1e21b0);await this['_fetchMissingUsersForThreads'](_0x14fc60);for(const {suggestionData:_0x3b4c45,resolve:_0x5e426c}of this['_bufferedRequests']['values']()){let _0x20798f=_0x14fc60['find'](_0x337e9c=>_0x337e9c['id']===_0x3b4c45['id']);_0x20798f||(_0x20798f=await this['_trackChangesService']['add'](_0x3b4c45['id'],_0x3b4c45['type'],_0x3b4c45['data'],_0x3b4c45['originalSuggestionId'])),_0x5e426c(_0x20798f);}for(const _0x218afc of _0x14fc60)_0xd01241['hasSuggestion'](_0x218afc['id'])||_0xd01241['addSuggestionData'](_0x218afc);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x9b154a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x829ca0=>{_0x829ca0['off'](),_0x9b154a();});});}async['_fetchMissingUsersForThreads'](_0x27442f){const _0x1654c7=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x4a82ed}=this['editor']['plugins']['get'](c),_0xd8d4dc=new Set();for(const {authorId:_0x268971}of _0x27442f)_0x1654c7['getUser'](_0x268971)||_0xd8d4dc['add'](_0x268971);if(0x0===_0xd8d4dc['size'])return;const _0x3249a1=await mt['getMany'](_0x4a82ed,Array['from'](_0xd8d4dc));for(const _0xef079 of _0x3249a1)_0x1654c7['getUser'](_0xef079['id'])||_0x1654c7['addUser'](_0xef079);}}function w(_0x226313){if(wt(_0x226313))return new Promise(()=>{});throw _0x226313;}function wt(_0x4a96e2){return _0x4a96e2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a96e2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x3b1a90{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1b98b1=this['editor']['plugins']['get'](c),_0x3526aa=this['editor']['plugins']['get']('CommentsEditing'),_0x5d6bf2=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1b98b1,'change:state',(_0x32c166,_0x45ac29,_0x1b98b5)=>{_0x3526aa['isThreadsLoadingPaused']='connected'!==_0x1b98b5;});}),this['listenTo'](_0x1b98b1,'change:state',(_0x15178f,_0xeb51fb,_0x546cfa)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x546cfa);}),_0x5d6bf2['_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 _0x3b1a90{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x3b1a90{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x141eee)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x4fe278];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5160a3){super(_0x5160a3);const _0x520633=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x520633);}async['init'](){const _0x1e69e8=this['editor']['plugins']['get'](l),_0x23903e=_0x1e69e8['serverHistory'],_0x2b3d2f=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x23903e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1e69e8['sessionId']});const _0x3b69e7=this['editor']['config']['get']('cloudServices.bundleVersion')||dt,_0x12a74c=await _0x132f7f['isBundleUploaded'](_0x2b3d2f['connection'],_0x3b69e7);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x4a53c6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4a53c6)),'updateRevisions':async _0x769f13=>{await this['_waitForServiceReady']();const _0x3969ee=this['_revisionTracker']['currentRevision'];if(_0x12a74c&&0x1===_0x769f13['length']&&_0x769f13[0x0]['id']===_0x3969ee['id'])return _0x769f13;for(const _0x31136e of _0x769f13)_0x31136e['id']===_0x3969ee['id']&&(_0x31136e['isEmptyCurrent']=_0x31136e['fromVersion']===_0x31136e['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x769f13,this['_lastRequestId'])['then'](_0x40f064=>(this['_lastRequestId']=_0x40f064,_0x769f13))['catch'](_0x49f9c5=>{if(X(_0x49f9c5)||'400'===_0x49f9c5['code']&&void 0x0!==_0x49f9c5['data']['wrongRequestId']){for(const _0x177a73 of _0x769f13){!this['_revisionTracker']['repository']['getRevision'](_0x177a73['id'])||this['_revisionTracker']['_bufferUpdate'](_0x177a73['id'],_0x177a73,!0x1);}if(X(_0x49f9c5))throw _0x49f9c5;return _0x769f13;}throw _0x49f9c5;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2cb35e,{revisionsData:_0xafe875,requestId:_0x1985b0})=>{Math['max'](..._0xafe875['map'](_0x24bf3b=>_0x24bf3b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xafe875,_0x1985b0);}):this['_handleRevisionsUpdate'](_0xafe875,_0x1985b0);});const {revisions:_0x59d0b6,requestId:_0x325554}=await this['_revisionHistoryService']['connect'](_0x2b3d2f['connection']);_0x2b3d2f['addToReconnectionStack'](this),this['_lastRequestId']=_0x325554,await this['_fetchMissingUsers'](_0x59d0b6);for(const _0x12ef1e of _0x59d0b6)this['_revisionTracker']['addRevisionData'](_0x12ef1e);this['listenTo'](_0x1e69e8,'change:_isConnected',(_0x4169ed,_0x1e614b,_0x29c3a0)=>{_0x29c3a0&&(this['_oldOffset']=_0x1e69e8['_offset'],_0x4169ed['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2b3d2f,'state',_0x488b5e=>_0x488b5e===_0x51d08e['CONNECTED']);}async['reconnect'](){const _0x13a0aa=this['editor']['plugins']['get'](c),_0x5b2803=this['editor']['plugins']['get'](l),_0x147e05=async()=>{const _0x2d01c7=this['_revisionTracker']['currentRevision'],_0xae1ab3=_0x2d01c7['id'],_0x30658=_0xae1ab3!==_0x5b2803['sessionId'];if(_0x30658){const _0x3219e5=_0x5b2803['_offset']-this['_oldOffset'],_0x10fd77=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2d01c7['toVersion']+_0x3219e5!==_0x10fd77){const _0x58c2e7=_0x2d01c7['fromVersion']+_0x3219e5,_0x3de5cc=this['editor']['plugins']['get'](_0x4fe278),_0x34f40d=this['_revisionTracker']['buildRevisionData']({'revision':_0x2d01c7,'from':_0x58c2e7,'to':_0x10fd77});_0x34f40d['id']=_0x2d01c7['id'];const _0x1d711a=_0x34f40d['authorsIds']['map'](_0x4770a1=>_0x3de5cc['getUser'](_0x4770a1));_0x2d01c7['_update']({..._0x34f40d,'authors':_0x1d711a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2d01c7['id'],_0x34f40d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x10fd77,(_0x2d01c7['toVersion']===_0x2d01c7['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xae1ab3)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xae1ab3),this['_revisionTracker']['_createCurrentRevision'](_0x10fd77));}const {revisions:_0x5a0563,requestId:_0x17ac98}=await this['_revisionHistoryService']['reconnect'](_0x13a0aa['connection'],this['_lastRequestId']);_0x30658&&_0x5a0563['length']>0x0?_0x5b2803['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5a0563),this['_handleRevisionsUpdate'](_0x5a0563,_0x17ac98),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5b2803['_isConnected']?_0x147e05():new Promise((_0x51ceff,_0x1a159c)=>{_0x5b2803['once']('change:_isConnected',()=>{_0x147e05()['then'](_0x51ceff)['catch'](_0x1a159c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x7a515f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4e666c=>{_0x4e666c['off'](),_0x7a515f();});});}['_getLatestVersionFromServerOperations'](){const _0x5073f8=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2c101f of _0x5073f8)if('marker'!==_0x2c101f['type']||_0x2c101f['affectsData'])return _0x2c101f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x29b394=this['editor']['plugins']['get'](l);return new Promise(_0x38feb7=>{_0x29b394['_isPendingUpdate']?_0x29b394['once']('change:_isPendingUpdate',()=>{_0x38feb7(this['_getLatestVersionFromServerOperations']());}):_0x38feb7(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4a174e,_0xe11f){const _0x536281=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xe11f;for(const _0x3af240 of _0x4a174e){const _0x471cc2=_0x536281['getRevision'](_0x3af240['id']);if(_0x471cc2){if((_0x3af240['fromVersion']||_0x3af240['toVersion'])&&(_0x3af240['diffData']=null),_0x471cc2===this['_revisionTracker']['currentRevision']){const _0x69b19e=Math['max'](_0x471cc2['toVersion'],_0x3af240['toVersion']),_0x5737cc=Math['max'](_0x471cc2['fromVersion'],_0x3af240['fromVersion']);let _0x1f6e48;_0x471cc2['toVersion']===_0x3af240['toVersion']&&_0x471cc2['fromVersion']===_0x3af240['fromVersion']?(_0x1f6e48=!0x0,this['_preventResendingRevisionData'](_0x3af240)):_0x3af240['toVersion']===_0x69b19e&&_0x3af240['fromVersion']===_0x5737cc?_0x1f6e48=!0x1:(_0x471cc2['toVersion']===_0x69b19e&&_0x471cc2['fromVersion']===_0x5737cc||this['_fixRevision']({'revision':_0x471cc2,'from':_0x5737cc,'to':_0x69b19e}),_0x1f6e48=!0x0),_0x1f6e48&&(delete _0x3af240['fromVersion'],delete _0x3af240['toVersion'],delete _0x3af240['diffData'],delete _0x3af240['createdAt'],delete _0x3af240['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3af240),this['_preventResendingRevisionData'](_0x3af240);}else this['_revisionTracker']['addRevisionData'](_0x3af240);}const _0x3e61b0=_0x536281['getRevisions']();_0x3e61b0['reverse']();for(let _0x23a35b=0x0;_0x23a35b<_0x3e61b0['length']-0x1;_0x23a35b++){const _0x31e4d9=_0x3e61b0[_0x23a35b],_0x1eafd1=_0x3e61b0[_0x23a35b+0x1];if(_0x31e4d9['fromVersion']<_0x1eafd1['toVersion']){const _0x2db3dc=_0x1eafd1['toVersion'],_0x1b997c=Math['max'](_0x2db3dc,_0x31e4d9['toVersion']);this['_fixRevision']({'revision':_0x31e4d9,'from':_0x2db3dc,'to':_0x1b997c});}}}['_fixRevision']({revision:_0x2bd86c,from:_0x2297b1,to:_0x1c6b10}={}){const _0x166733=this['editor']['plugins']['get'](_0x4fe278),_0x159b0a=this['_revisionTracker']['buildRevisionData']({'revision':_0x2bd86c,'from':_0x2297b1,'to':_0x1c6b10});_0x159b0a['authors']=_0x159b0a['authorsIds']['map'](_0x18f49a=>_0x166733['getUser'](_0x18f49a)),_0x2bd86c['_update'](_0x159b0a);}['_preventResendingRevisionData'](_0x242191){const _0x45e917={};_0x45e917['id']=_0x242191['id'];for(const _0x51acce of Object['keys'](_0x242191))'id'!==_0x51acce&&(_0x45e917[_0x51acce]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x45e917['id'],_0x45e917,!0x0);}async['_fetchMissingUsers'](_0x139f5c){const _0x203668=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x2232fa}=this['editor']['plugins']['get'](c),_0x2136ad=new Set();for(const _0x3af32f of _0x139f5c){for(const _0x569c90 of _0x3af32f['authorsIds'])_0x370b90(_0x569c90);_0x3af32f['creatorId']&&_0x370b90(_0x3af32f['creatorId']);}if(0x0===_0x2136ad['size'])return;const _0x64b8ba=await mt['getMany'](_0x2232fa,Array['from'](_0x2136ad));for(const _0x250f92 of _0x64b8ba)_0x203668['getUser'](_0x250f92['id'])||_0x203668['addUser'](_0x250f92);function _0x370b90(_0x549b21){_0x203668['getUser'](_0x549b21)||_0x2136ad['add'](_0x549b21);}}}function X(_0x25ab06){return _0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3b1a90{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x360a48{constructor(_0x3e8753){super(_0x3e8753);const _0x3ef9e3=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x3ef9e3['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x3ef9e3['to']('usersCount',_0x26d52=>E(_0x3e8753,'CONNECTED_USERS',_0x26d52))}]});}}class es extends _0x360a48{['items'];['keystrokes'];constructor(_0x5a307f){super(_0x5a307f);const _0x1779fd=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x23d333(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1779fd['if']('hasPopup'),'aria-expanded':_0x1779fd['to']('isExpanded',_0x4f1483=>this['hasPopup']&&String(_0x4f1483)),'aria-label':_0x1779fd['to']('hasPopup',_0x4c0050=>E(_0x5a307f,_0x4c0050?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1779fd['to']('hasPopup',_0x238632=>!!_0x238632&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x1779fd['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x4b71ff,_0x567fc0,_0x149b24)=>{this['element']&&(_0x149b24?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 it extends _0x360a48{['counterView'];['inlineListView'];constructor(_0x311d35){super(_0x311d35);const _0x11c623=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x311d35),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x160cf4 of this['inlineListView']['items'])_0x160cf4['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',_0x11c623['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class et extends _0x360a48{['listWrapperView'];constructor(_0x1ef629,_0x41e970){super(_0x1ef629),this['listWrapperView']=new vt(_0x1ef629,_0x41e970),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x1ef629,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x5b2324{constructor(_0x380b5c,_0x825807){super(_0x380b5c);const _0x6bd9be=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x825807?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x6bd9be['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x6bd9be['to']('role'),'aria-label':_0x6bd9be['to']('ariaLabel'),'aria-labelledby':_0x6bd9be['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3b8f5d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3eecac=this['element'];_0x3eecac&&(this['_isScrollable']=Math['max'](_0x3eecac['scrollHeight'],_0x3eecac['clientHeight'])>0.8*window['innerHeight']);}}class ht extends ct{['userView'];constructor(_0x284254,_0x165615,_0x40ff81){super(_0x284254);const _0x16f7c4=this['bindTemplate'];this['userView']=new at(_0x284254,_0x165615);const _0xfe9812={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x165615['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x165615['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x165615['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x40ff81&&(_0xfe9812['tag']='button',_0xfe9812['on']={'click':_0x16f7c4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xfe9812);}['focus'](){this['element']['focus']();}}class rt extends _0x360a48{['userView'];['markerView'];constructor(_0x2a1d0e,_0x22a331,_0x3f871a){super(_0x2a1d0e);const _0x396ad9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x2a1d0e,_0x22a331),this['markerView']=new pt(_0x2a1d0e,_0x22a331);const _0x36c8b0=new lt(_0x2a1d0e);_0x36c8b0['template']['tag']='span',_0x36c8b0['text']=_0x22a331['name'];const _0x5de156={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x396ad9['to']('isFocusable',_0x588cef=>!!_0x588cef&&0x0),'aria-labelledby':_0x36c8b0['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x396ad9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x396ad9['to']('hasTooltip',_0x515e6e=>!_0x515e6e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x36c8b0]};_0x3f871a&&(_0x5de156['tag']='button',_0x5de156['on']={'click':_0x396ad9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5de156);}}class pt extends _0x360a48{constructor(_0x3c63b1,_0x50c504){super(_0x3c63b1),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x50c504['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ot={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x375b1b{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x4f31bb){super(_0x4f31bb),this['context']['config']['define']('presenceList',ot);const _0x5c93bd=_0x4f31bb['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5c93bd)throw new _0x3443e5('presencelist-collapseat-invalid-format',this);if(_0x5c93bd<0x1)throw new _0x3443e5('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2718c8(),this['balloonPanelView']=new _0x2ae021(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x574fd6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x574fd6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x194765,_0x512b5d)=>{this['_handleUserAdd'](_0x512b5d);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1630a8,_0x42dcbd)=>{this['_handleUserRemove'](_0x42dcbd);});}['_createView'](){const _0x27b430=this['context'],_0x4f9018=new it(this['context']['locale']),_0x1a0581=this['balloonPanelView'];if(!st(_0x27b430['config']['get']('presenceList.container')))throw new _0x3443e5('presencelist-missing-container',this);return _0x4f9018['counterView']['bind']('usersCount')['to'](this),_0x4f9018['bind']('isCollapsed')['to'](this,'usersCount',_0x3d78bc=>{const {collapseAt:_0x7ab8df,displayMe:_0x1367e0}=_0x27b430['config']['get']('presenceList'),_0x180c86=_0x3d78bc>=_0x7ab8df;return _0x4f9018['counterView']['isHidden']=!(0x1==_0x3d78bc&&_0x1367e0||_0x180c86),_0x180c86||this['hideDropdown'](),_0x180c86;}),_0x4f9018['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1aa5fc=>{const _0x518643=_0x27b430['config']['get']('presenceList'),_0x2a32f9=new rt(_0x27b430['locale'],_0x1aa5fc,!!_0x518643['onClick']);return _0x2a32f9['bind']('hasTooltip')['to'](_0x4f9018,'isCollapsed',_0x26afd5=>!_0x26afd5),_0x2a32f9['bind']('isFocusable')['to'](_0x4f9018,'isCollapsed',_0x194cf1=>!_0x194cf1),_0x518643['onClick']&&this['listenTo'](_0x2a32f9,'execute',()=>{this['view']['isCollapsed']||_0x518643['onClick'](_0x1aa5fc,_0x2a32f9['element']);}),_0x2a32f9;}),this['listenTo'](_0x4f9018['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x4f9018['inlineListView']['keystrokes']['set']('Enter',(_0x395c6b,_0x318806)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x318806());}),_0x4f9018['render'](),_0x1a0581['render'](),_0x25d192({'emitter':_0x4f9018,'activator':()=>_0x1a0581['isVisible'],'contextElements':[_0x1a0581['element'],_0x4f9018['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x27b430['config']['get']('presenceList.container')['appendChild'](_0x4f9018['element']),this['_bodyCollection']=new tt(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4f9018;}['_handleUserAdd'](_0x204875){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x204875['isMe'])return;const _0xce857e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0xce857e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x4959a4=_0x204875['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x204875,_0x4959a4);}['_handleUserRemove'](_0x3de51c){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x3de51c['id'])&&(this['currentDisplayedUsers']['remove'](_0x3de51c['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x384153 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x384153['id']))return void this['currentDisplayedUsers']['add'](_0x384153,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1fc93a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new et(this['context']['locale'],!!_0x1fc93a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x2f675e}=this['presenceDropdownView'];_0x2f675e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2358b8=>{if(!_0x1fc93a['displayMe']&&_0x2358b8['isMe'])return null;const _0x238a20=new ht(this['context']['locale'],_0x2358b8,!!_0x1fc93a['onClick']);return _0x1fc93a['onClick']&&this['listenTo'](_0x238a20,'execute',()=>{_0x1fc93a['onClick'](_0x2358b8,_0x238a20['element']);}),_0x238a20;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2f675e['focus'](),_0x2f675e['checkIfScrollable']();const _0x521675=(_0x437be6,_0x1e793b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e793b();};_0x2f675e['keystrokes']['set']('Esc',_0x521675),_0x2f675e['keystrokes']['set']('Shift+Tab',_0x521675),_0x2f675e['keystrokes']['set']('Tab',(_0x37c95b,_0x5a4f50)=>{!function(_0x4bd00d){const _0x11f19f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xe64dce=>_0xe64dce+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x586776=[...document['body']['querySelectorAll'](_0x11f19f)]['filter'](_0x5d3a58=>_0x5d3a58===document['activeElement']||_0x5d3a58['offsetWidth']+_0x5d3a58['offsetHeight']>0x0)['sort']((_0x1a8640,_0x512a9f)=>(_0x1a8640['tabIndex']||0x0)-(_0x512a9f['tabIndex']||0x0)),_0x173953=_0x586776['indexOf'](_0x4bd00d),_0x3ee3cf=_0x586776[(_0x173953+0x1)%_0x586776['length']];_0x3ee3cf&&_0x3ee3cf['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5a4f50();}),_0x2f675e['focusTracker']['add'](this['view']['element']),_0x2f675e['focusTracker']['on']('change:isFocused',(_0x1828ff,_0x351ccc,_0x178ffd)=>{_0x178ffd||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 s extends _0x375b1b{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x5a8039,Plugin as _0x2f4ec7,PendingActions as _0x19630d,Context as _0x4f9ef2}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x33bf11,CKEditorError as _0x4bb820,Collection as _0x3fd87a,global as _0x11ae4d,version as nt,uid as _0x1076e1,KeystrokeHandler as _0x5393f7}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1b3b0a,View as _0x4a36b3,ListView as _0x5b5e13,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xd0549f,clickOutsideHandler as _0x17dab6,BodyCollection as _0x24f1cb}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x12c917,NoOperation as _0x27ffb8,InsertOperation as _0x3709a8,MarkerOperation as _0x164bdb,RootAttributeOperation as _0x257d74,transformSets as _0x583353,OperationFactory as _0x3e5cf4}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x42944f,CollaborativeEditingService as _0x205cab,User as dt,CommentsService as _0x507313,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5e51ff,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5808a4}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x77664d}from'lodash-es';class c extends _0x5a8039{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1b3b0a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ed359){super(_0x3ed359),this['set']('state',_0x42944f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x33bf11);}['init'](){const _0x1e7b3f=this['context'],_0x2e4ce=_0x1e7b3f['plugins']['get']('CloudServices'),_0x5c77a3=_0x1e7b3f['plugins']['get'](_0x1b3b0a);if(!_0x2e4ce['token'])throw new _0x4bb820('websocketgateway-missing-token',this);if(!_0x2e4ce['webSocketUrl'])throw new _0x4bb820('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'](_0x2e4ce['token'],_0x2e4ce['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3351fd=>{if(this['connection']=_0x3351fd,this['bind']('state')['to'](_0x3351fd,'state',this,'_isBrowserOffline',(_0x954908,_0x2ce732)=>('connected'!==_0x954908&&(this['_shouldPluginsReconnect']=!0x0),_0x2ce732||_0x954908!==_0x42944f['CONNECTED']?_0x42944f['DISCONNECTED']:this['state']==_0x42944f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x42944f['CONNECTING']):_0x42944f['CONNECTED'])),this['connection']['on']('error',(_0x18b483,_0xf8d3e9)=>{if('limitExceeded'!==_0xf8d3e9['code'])throw console['error'](_0xf8d3e9),new _0x4bb820('cloudservices-init',null,{'originalError':_0xf8d3e9});_0x5c77a3['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'});}),!_0x3351fd['me'])return new Promise(_0xa91353=>_0x3351fd['on']('change:me',_0xa91353));})['catch'](_0x33c635=>{throw console['error'](_0x33c635),new _0x4bb820('cloudservices-init',null,{'originalError':_0x33c635});});}['addToReconnectionStack'](_0x30ef69){if('function'!=typeof _0x30ef69['reconnect'])throw new _0x4bb820('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x30ef69))throw new _0x4bb820('websocketgateway-plugin-already-registered',this,{'name':_0x30ef69['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x30ef69);}['removeFromReconnectionStack'](_0xc0bbc9){this['_reconnectionStack']['delete'](_0xc0bbc9);}['isInReconnectionStack'](_0x3537a2){return this['_reconnectionStack']['has'](_0x3537a2);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2d1782=>_0x2d1782['reconnect']())))['then'](()=>this['state']=_0x42944f['CONNECTED'])['catch'](_0x221cb7=>{throw console['error'](_0x221cb7),new _0x4bb820('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x42944f['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x5a8039{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x5e51ff];}constructor(_0x1e63ce){super(_0x1e63ce),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3fd87a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5e51ff);}['init'](){const _0x319f9b=this['context']['plugins']['get'](c);this['listenTo'](_0x319f9b,'change:state',(_0x42227d,_0x40f1c3,_0x4688de)=>{if('connected'!==_0x4688de)this['channelSessions']['forEach'](_0x55c838=>_0x55c838['clear']()),this['channelConnectedUsers']['forEach'](_0x3d872c=>_0x3d872c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2253fd,_0x3d75ff]of this['_registeredSessions'])for(const _0x1a8d6a of _0x3d75ff)this['_handleSessionAdd'](_0x2253fd,_0x1a8d6a);}}),this['_createUser'](_0x319f9b['connection']['me'],!0x0);}['register'](_0x2aa87c,_0x5491d3){if(this['_registeredSessions']['has'](_0x2aa87c))throw new _0x4bb820('sessions-register-already-registered',null,{'channelId':_0x2aa87c});this['_registeredSessions']['set'](_0x2aa87c,_0x5491d3),this['channelSessions']['set'](_0x2aa87c,new _0x3fd87a()),this['channelConnectedUsers']['set'](_0x2aa87c,new _0x3fd87a()),this['listenTo'](_0x5491d3,'add',(_0x56fd44,_0x427eaf)=>this['_handleSessionAdd'](_0x2aa87c,_0x427eaf)),this['listenTo'](_0x5491d3,'remove',(_0x346b37,_0x191340)=>this['_handleSessionRemove'](_0x2aa87c,_0x191340));for(const _0x39d4d0 of _0x5491d3)this['_handleSessionAdd'](_0x2aa87c,_0x39d4d0);}['unregister'](_0x21b7df){if(!this['_registeredSessions']['has'](_0x21b7df))throw new _0x4bb820('sessions-unregister-not-exist',null,{'channelId':_0x21b7df});const _0x406445=this['_registeredSessions']['get'](_0x21b7df);this['stopListening'](_0x406445);for(const _0xc95e25 of _0x406445)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x21b7df,_0xc95e25);this['_registeredSessions']['delete'](_0x21b7df),this['channelSessions']['delete'](_0x21b7df),this['channelConnectedUsers']['delete'](_0x21b7df);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x259340){for(const _0x210236 of this['channelSessions']['values']())for(const _0x435d2b of _0x210236)if(_0x435d2b['id']===_0x259340)return _0x435d2b['user'];}['getUserSessions'](_0x3c7157,_0xd5186d){const _0x5009d0=_0xd5186d?[this['channelSessions']['get'](_0xd5186d)]:this['channelSessions']['values'](),_0xb590e0=new Set();for(const _0x3bed1b of _0x5009d0)for(const _0x23cd42 of _0x3bed1b)_0x23cd42['user']['id']===_0x3c7157['id']&&_0xb590e0['add'](_0x23cd42['id']);return _0xb590e0;}['getUserRole'](_0x530106){for(const _0xbc6067 of this['channelSessions']['values']())for(const _0x178bdc of _0xbc6067)if(_0x178bdc['user']===_0x530106)return _0x178bdc['role'];}['_handleSessionAdd'](_0x38976d,_0x46439a){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4670dc=_0x46439a['user'],_0x3ceba6=this['_users']['getUser'](_0x4670dc['id'])||this['_createUser'](_0x4670dc),_0x2a7d68=Object['assign']({},_0x46439a,{'user':_0x3ceba6});this['channelSessions']['get'](_0x38976d)['add'](_0x2a7d68);const _0x530fdc=this['channelConnectedUsers']['get'](_0x38976d);_0x530fdc['has'](_0x3ceba6['id'])||_0x530fdc['add'](_0x3ceba6),this['allConnectedUsers']['has'](_0x3ceba6['id'])||this['allConnectedUsers']['add'](_0x3ceba6,_0x3ceba6['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x38976d,{'channelId':_0x38976d,'session':_0x2a7d68});}['_handleSessionRemove'](_0x295aaa,_0x11d75f){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x450913=this['channelConnectedUsers']['get'](_0x295aaa),_0x575264=_0x11d75f['user'];_0x575264['id']&&(this['channelSessions']['get'](_0x295aaa)['remove'](_0x11d75f['id']),_0x450913['has'](_0x575264['id'])&&!this['getUserSessions'](_0x575264,_0x295aaa)['size']&&_0x450913['remove'](_0x575264['id']),this['allConnectedUsers']['get'](_0x575264['id'])&&!this['getUserSessions'](_0x575264)['size']&&this['allConnectedUsers']['remove'](_0x575264['id']));}['_createUser'](_0x599fb8,_0x553130){const _0x1ac7da=this['_users']['addUser'](_0x599fb8);return _0x553130&&this['_users']['defineMe'](_0x599fb8['id']),_0x1ac7da['orderNumber']=this['_uniqueUsersCount']++,_0x1ac7da;}}class H extends _0x2f4ec7{['_domEmitter']=new(_0x33bf11())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x73e655=this['editor'],_0x231eba=_0x73e655['plugins']['get'](i);_0x73e655['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xef0520,{writer:_0x23430e})=>function(_0x3bd82f,_0x33ba68,_0x25615c,_0x321784){const _0xaff47b=_0x3bd82f['markerName']['split'](':')[0x2],_0x5b6dce=_0x25615c['getUserBySessionId'](_0xaff47b);if(!_0x5b6dce||_0xaff47b===_0x25615c['mySessionId'])return;if(!_0x321784['model']['schema']['checkChild'](_0x3bd82f['markerRange']['start'],'$text'))return;const _0x4f4776={'class':'ck-user__marker\x20'+_0x5b6dce['color']['getMarkerClass'](),'data-name':_0x5b6dce['name'],'data-session-id':_0xaff47b},_0x3b2990=_0x321784['model']['markers']['get'](_0x3bd82f['markerName']),_0x2ec786=_0x3b2990['getStart'](),_0x3dd034=_0x2ec786['nodeAfter'],_0x11b5fe=_0x321784['model']['schema'];if(_0x3dd034&&_0x11b5fe['isObject'](_0x3dd034)&&_0x11b5fe['isInline'](_0x3dd034)&&!_0x321784['model']['markers']['get']('user:range:'+_0xaff47b)['getRange']()['isCollapsed'])return;const _0x219612=_0x2ec786['parent'];return _0x321784['model']['schema']['isLimit'](_0x219612)&&!_0x321784['model']['hasContent'](_0x219612)&&(_0x4f4776['contenteditable']=!0x1),function(_0xffe653,_0x1b90da,_0x131009){const _0x5deec3=_0xffe653['createUIElement']('span',_0x1b90da);return _0xffe653['setCustomProperty']('userPositionMarker',!0x0,_0x5deec3),_0x5deec3['render']=function(_0x54edf8){const _0x5bbc5c=this['toDomElement'](_0x54edf8);return _0x5bbc5c['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>'+_0x131009['name']+'</span>⁠',_0x5bbc5c['addEventListener']('mouseenter',()=>{_0x5bbc5c['classList']['add']('ck-user__marker_hovered');}),_0x5bbc5c['addEventListener']('mouseleave',()=>{_0x5bbc5c['classList']['remove']('ck-user__marker_hovered');}),_0x5bbc5c;},_0x5deec3['isSimilar']=function(_0x4ab138){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4ab138['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4ab138['getAttribute']('data-session-id'));},_0x5deec3;}(_0x33ba68,_0x4f4776,_0x5b6dce);}(_0xef0520,_0x23430e,_0x231eba,_0x73e655)}),_0x73e655['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x33ddc5=>function(_0x4e88bf,_0x57b973){const _0xd58adb=_0x4e88bf['markerName']['split'](':')[0x2];if(_0xd58adb===_0x57b973['mySessionId'])return null;const _0x74be4b=_0x57b973['getUserBySessionId'](_0xd58adb);if(!_0x74be4b)return{'id':_0xd58adb,'classes':[]};return{'id':_0xd58adb,'classes':['ck-user__selection',_0x74be4b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xd58adb},'priority':0x7d0+_0x74be4b['orderNumber']};}(_0x33ddc5,_0x231eba)}),function(_0x5226f1){const _0x46a892=_0x5226f1['model'],_0x3d4cc2=new Map(),_0xa41186=_0x5226f1['plugins']['get'](i);_0x46a892['markers']['on']('update:user:range',(_0x43b49b,_0x4dea60,_0x364448,_0xad3492)=>{if(!_0xad3492&&_0x3d4cc2['get'](_0x4dea60['name']))return _0x3d4cc2['get'](_0x4dea60['name'])['detach'](),void _0x3d4cc2['delete'](_0x4dea60['name']);const _0x16b9ac=_0x4dea60['name']['split'](':')[0x2];if(_0x16b9ac===_0xa41186['mySessionId'])return;const _0x13ccb6='user:position:'+_0x16b9ac;_0x46a892['markers']['has'](_0x13ccb6)&&_0x5226f1['editing']['reconvertMarker'](_0x13ccb6),_0x4dea60['on']('change:range',(_0x59cf83,_0x35f592,_0x142615)=>{if('$graveyard'!=_0x35f592['root']['rootName']&&'$graveyard'==_0x4dea60['getRange']()['root']['rootName']&&!_0x3d4cc2['has'](_0x4dea60['name'])){const _0x114105=_0x46a892['schema']['getNearestSelectionRange'](_0x142615['deletionPosition']);if(_0x114105){const _0xbd262a=ht['fromRange'](_0x114105);_0x3d4cc2['set'](_0x4dea60['name'],_0xbd262a),_0xbd262a['on']('change:range',(_0x425836,_0x3c23ab,_0x462b73)=>{if('$graveyard'==_0xbd262a['root']['rootName']){const _0x2d5467=_0x46a892['schema']['getNearestSelectionRange'](_0x462b73['deletionPosition']);_0x2d5467?(_0xbd262a['start']=_0x2d5467['start'],_0xbd262a['end']=_0x2d5467['end']):(_0x3d4cc2['delete'](_0x4dea60['name']),_0xbd262a['detach']());}});}}});}),_0x46a892['document']['on']('change',()=>{_0x3d4cc2['size']>0x0&&_0x46a892['enqueueChange']({'isUndoable':!0x1},_0x9377b3=>{for(const [_0x5dad32,_0x2994f6]of _0x3d4cc2)'$graveyard'==_0x46a892['markers']['get'](_0x5dad32)['getRange']()['root']['rootName']&&(re(_0x5dad32['split'](':')[0x2],_0x2994f6['toRange'](),_0x46a892,_0x9377b3),_0x2994f6['detach']());_0x3d4cc2['clear']();});});}(_0x73e655),this['_domEmitter']['listenTo'](_0x11ae4d['document'],'keydown',(_0x3e5539,{key:_0x45318b})=>{'Escape'===_0x45318b&&function(_0x203153){_0x203153['editing']['view']['change'](_0x54fa98=>{for(const _0x5b725d of _0x203153['model']['markers']){if(!_0x5b725d['name']['startsWith']('user:position'))continue;const _0x4b316c=_0x203153['editing']['mapper']['markerNameToElements'](_0x5b725d['name']);if(_0x4b316c){for(const _0x3a1576 of _0x4b316c)_0x54fa98['removeClass']('ck-user__marker_hovered',_0x3a1576);}}});}(_0x73e655);},{'useCapture':!0x0});}['afterInit'](){const _0x555cfd=this['editor'],_0x2fb068=_0x555cfd['commands']['get']('undo');_0x2fb068&&_0x555cfd['model']['on']('applyOperation',(_0x4dc8c6,_0x3aeee2)=>{const _0x835707=_0x3aeee2[0x0];if('marker'!=_0x835707['type']||!_0x835707['name']['startsWith']('user:'))return;const _0x59c8b=_0x835707['batch'];_0x2fb068['_createdBatches']['has'](_0x59c8b)&&(_0x835707['newRange']=_0x835707['oldRange']?_0x555cfd['model']['createRange'](_0x835707['oldRange']['start'],_0x835707['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x109a3d=this['editor'],_0x4571af=_0x109a3d['model']['document'],_0x2fcd6c=_0x109a3d['plugins']['get'](i);_0x109a3d['model']['enqueueChange']({'isUndoable':!0x1},_0x3c9f07=>{const _0x49ef9b='user:range:'+_0x2fcd6c['mySessionId'],_0x49d32c='user:position:'+_0x2fcd6c['mySessionId'],_0x10757a=_0x109a3d['model']['markers']['has'](_0x49ef9b);_0x109a3d['editing']['view']['hasDomSelection']?re(_0x2fcd6c['mySessionId'],_0x4571af['selection']['getFirstRange'](),_0x109a3d['model'],_0x3c9f07):_0x10757a&&(_0x3c9f07['removeMarker'](_0x49ef9b),_0x3c9f07['removeMarker'](_0x49d32c));});}}function re(_0x157219,_0x1811dd,_0x564db1,_0x48813a){const _0x33cd1f='user:range:'+_0x157219,_0x470833='user:position:'+_0x157219,_0x13a812=_0x1811dd['getContainedElement']();let _0x5aeb2e=_0x1811dd['start'];_0x13a812&&_0x13a812['is']('element','tableCell')&&(_0x5aeb2e=function(_0xecd0b5,_0x89fc2f){for(const _0x3da43a of _0xecd0b5['getPositions']())if(_0x89fc2f['schema']['checkChild'](_0x3da43a,'$text'))return _0x3da43a;}(_0x1811dd,_0x564db1),_0x1811dd=_0x48813a['createRange'](_0x5aeb2e));const _0x4c5f66=_0x48813a['createRange'](_0x5aeb2e);_0x564db1['markers']['has'](_0x33cd1f)?(_0x48813a['updateMarker'](_0x33cd1f,{'range':_0x1811dd}),_0x48813a['updateMarker'](_0x470833,{'range':_0x4c5f66})):(_0x48813a['addMarker'](_0x33cd1f,{'range':_0x1811dd,'usingOperation':!0x0}),_0x48813a['addMarker'](_0x470833,{'range':_0x4c5f66,'usingOperation':!0x0}));}function q(_0x583af6,_0x337ff6,_0x1c7c06){const _0x12b68b=_0x583af6['t'],t=_0x583af6['t'];switch(_0x337ff6){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 _0x12b68b({'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'},_0x1c7c06);default:return'';}}let K=0x1;class l extends _0x2f4ec7{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x205cab)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,H,_0x19630d,_0x5e51ff,_0x1b3b0a];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x5ebbb6=this['serverHistory']['getOperations']();for(let _0x401991=_0x5ebbb6['length']-0x1;_0x401991>=0x0;_0x401991--){const _0xc11cfb=_0x5ebbb6[_0x401991];if(!this['_disconnectionOperations']['has'](_0xc11cfb))return _0xc11cfb['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x499522){if(super(_0x499522),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x12c917(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x4bb820('collaboration-missing-channelid',this);const _0x85eeb8=_0x499522['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x85eeb8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5808a4(),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 _0x8b245b=this['editor'],_0xc08767=_0x8b245b['plugins']['get'](_0x5e51ff),_0x5bda34=_0x8b245b['plugins']['get'](c);this['listenTo'](_0xc08767,'getOperationAuthor',(_0x1622bf,_0x5c301a)=>{const _0x1aa6f1=_0x5c301a[0x0];_0x1aa6f1['_authorId']&&(_0x1622bf['return']=_0xc08767['getUser'](_0x1aa6f1['_authorId']),_0x1622bf['stop']()),null===_0x1aa6f1['_authorId']&&(_0x1622bf['return']=null,_0x1622bf['stop']());},{'priority':'high'}),this['listenTo'](_0x8b245b['model']['document']['selection'],'change:range',(_0xd4f0f9,_0x510dd4)=>{_0x510dd4['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x8b245b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x8b245b['model']['on']('applyOperation',(_0x3386cb,_0x2559d3)=>{const _0x53aa73=_0x2559d3[0x0];_0x53aa73['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x53aa73),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5bda34,'state',this,'_hasSynchronizationProblem',(_0x39f9a7,_0x57595f)=>'connected'===_0x39f9a7&&!_0x57595f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x8b245b['disableReadOnlyMode']('rtc-offline'):_0x8b245b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x8b245b['disableReadOnlyMode']('rtc-offline'):_0x8b245b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x16f32f=this['editor']['plugins']['get'](i),_0x8431a5=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x16f32f['unregister'](this['_channelId']);const _0x20dd21=await this['_service']['reconnect'](_0x8431a5['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x20dd21)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x51ee5a=await this['_service']['getConnectedSessions']();_0x16f32f['register'](this['_channelId'],_0x51ee5a),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5e1873){if(function(_0x1a4295){return'404'===_0x1a4295['code'];}(_0x5e1873)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1967fa){return'409'===_0x1967fa['code'];}(_0x5e1873)){const _0x49c7c9=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'](_0x49c7c9);}else{if(!(_0x5e1873 instanceof J))throw _0x5e1873;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1608a7=this['editor']['plugins']['get'](c),_0x2aabab=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2aabab['channelSessions']['has'](this['_channelId'])&&_0x2aabab['unregister'](this['_channelId']),_0x1608a7['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4f4eed){if(this['sessionId']!==_0x4f4eed['sessionId']&&this['_lastSyncedOperationId']!==_0x4f4eed['lastOperationId'])throw new J();return this['sessionId']=_0x4f4eed['sessionId'],this['_handleServerResponse']([],{..._0x4f4eed,'wereChangesApplied':!0x1,'data':_0x4f4eed['data']},'reconnect');}async['_connectService'](_0x5ad166,_0x2ac486=!0x1){const {connection:_0x35e5fa}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x35e5fa,this['_channelId'])['then'](_0x4143ed=>this['_initSessionsHandling'](_0x4143ed))['catch'](_0x4ee191=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4ee191);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x219295,_0x4ffe0c)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x4ffe0c);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4dea94=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5ad166);this['_isPendingUpdate']=!0x0;const _0x4f4fde=await this['_service']['connect'](_0x35e5fa,this['_compressOperations'](_0x5ad166),_0x4dea94);if(this['sessionId']=_0x4f4fde['sessionId'],_0x2ac486){if(!_0x4f4fde['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4f4fde['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5ad166,_0x4f4fde,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4f4fde,_0x5ad166);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x35124f=this['editor']['plugins']['get'](i),_0x3c527c=this['editor']['plugins']['get'](H),_0x293e41=_0x35124f['channelSessions']['get'](this['_channelId']);_0x293e41&&_0x293e41['length']>0x1?_0x3c527c['createUserMarkerOperations']():this['listenTo'](_0x35124f,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x35124f['channelSessions']['get'](this['_channelId'])['length']&&_0x3c527c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x46215d,_0x537d67,_0x52ed15,_0x1337af){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x537d67){const _0x4f8cdf=this['_decompressOperations'](_0x52ed15,_0x1337af);await this['_fetchMissingUsers'](_0x4f8cdf),this['_handleExternalOperations'](_0x4f8cdf,_0x537d67,_0x52ed15['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x37de5e}=this['editor'];let _0x426c44;try{_0x426c44=await this['_service']['getDocumentDetails']();}catch(_0x3f72f2){const _0x1d3961=q(_0x37de5e,'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'](_0x1d3961);}const _0x4d0d81=_0x426c44['currentDocumentSession']||_0x426c44['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4d0d81['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x7a610=q(_0x37de5e,'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'](_0x7a610);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2c9a90){const _0x25dd1a=this['editor']['plugins']['get'](i);this['listenTo'](_0x25dd1a,'sessionAdd:'+this['_channelId'],(_0x29d721,{session:_0x34e7bc})=>{if(_0x34e7bc['id']===_0x25dd1a['mySessionId']){_0x29d721['off']();const _0x595a54=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x259d80=_0x34e7bc['permissions'];_0x595a54&&_0x595a54['isEnabled']&&(_0x259d80=_0x259d80['filter'](_0x3b5ab1=>'document:write'!==_0x3b5ab1)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x259d80,this['_channelId']);}}),_0x25dd1a['register'](this['_channelId'],_0x2c9a90);}['_initThrowingOnDataSet'](){const _0x328cec=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2bb345)=>{if(!_0x2bb345[_0x2bb345['length']-0x1]['suppressErrorInCollaboration'])throw new _0x4bb820('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x328cec['apply'](this['editor']['data'],_0x2bb345);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x46fcfe,[_0x277f20])=>{if(this['_document']['version'])throw new _0x4bb820('realtimecollaborationclient-init-document-already-initialized',this);_0x46fcfe['stop'](),this['_setPendingAction']();const _0x458618=this['editor']['config']['get']('rootsAttributes'),_0x114223=this['_getOperationsFromInitData'](_0x277f20,_0x458618);0x0==_0x114223['length']&&_0x114223['push'](new _0x27ffb8(0x0)),_0x46fcfe['return']=this['_connectService'](_0x114223)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x595c69=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x595c69))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x18d6c5,[_0x5990c7,_0x54e1c3])=>{_0x18d6c5['stop']();const _0x189642=this['editor']['model']['document']['getRoot'](_0x5990c7);if(!this['_knownRootNames']['has'](_0x5990c7)){const _0x2bd678=_0x54e1c3&&_0x54e1c3['data']?_0x54e1c3['data']:'',_0x1fb309=_0x54e1c3&&_0x54e1c3['attributes']?_0x54e1c3['attributes']:{};await this['_loadRoot'](_0x5990c7,_0x2bd678,_0x1fb309);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x189642['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x189642);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x134426){const _0x5b9647=this['editor']['plugins']['get'](_0x5e51ff),{connection:_0x135831}=this['editor']['plugins']['get'](c),_0x1e32b3=new Set();for(const _0x494b06 of _0x134426){const _0xc7d676=_0x494b06['_authorId'];_0xc7d676&&!_0x5b9647['getUser'](_0xc7d676)&&_0x1e32b3['add'](_0xc7d676);}if(0x0===_0x1e32b3['size'])return;const _0x5433ad=await dt['getMany'](_0x135831,Array['from'](_0x1e32b3));for(const _0x493705 of _0x5433ad)_0x5b9647['getUser'](_0x493705['id'])||_0x5b9647['addUser'](_0x493705);}['_getOperationsFromInitData'](_0x5bb1bb,_0x5c6b42={}){const _0x4a6b17=this['editor']['model'],_0x4f4842=[];let _0x43bcbf=0x0;const _0x31ffd1='string'==typeof _0x5bb1bb?{'main':_0x5bb1bb}:_0x5bb1bb;for(const _0x5eb0f0 of Object['keys'](_0x31ffd1)){if(!this['_document']['roots']['has'](_0x5eb0f0))throw new _0x4bb820('realtimecollaborationclient-init-non-existent-root',this);const _0x3cd4e2=this['editor']['data']['parse'](_0x31ffd1[_0x5eb0f0]),_0x5c91ef=this['_document']['getRoot'](_0x5eb0f0),_0x439271=new _0x3709a8(_0x4a6b17['createPositionAt'](_0x5c91ef,0x0),_0x3cd4e2,_0x43bcbf++);_0x4f4842['push'](_0x439271);for(const [_0x430f6a,_0x2c7e53]of _0x3cd4e2['markers']){const _0xe8c0f=_0x4a6b17['createRange'](_0x4a6b17['createPositionFromPath'](_0x5c91ef,_0x2c7e53['start']['path']['slice']()),_0x4a6b17['createPositionFromPath'](_0x5c91ef,_0x2c7e53['end']['path']['slice']())),_0x2a012e=new _0x164bdb(_0x430f6a,null,_0xe8c0f,_0x4a6b17['markers'],!0x0,_0x43bcbf++);_0x4f4842['push'](_0x2a012e);}}if(_0x5c6b42)for(const [_0x1d5e06,_0x1ddcce]of Object['entries'](_0x5c6b42)){const _0x43e170=_0x4a6b17['document']['getRoot'](_0x1d5e06);if(!_0x43e170)throw new _0x4bb820('multi-root-editor-root-attributes-no-root',null);for(const [_0x1a392b,_0xce9008]of Object['entries'](_0x1ddcce))if(null!==_0xce9008){const _0x116fac=new _0x257d74(_0x43e170,_0x1a392b,null,_0xce9008,_0x43bcbf++);_0x4f4842['push'](_0x116fac);}}return _0x4f4842;}async['_loadRoot'](_0x5cfa0d,_0x5d1449,_0xcc645){this['_getOperationsFromInitData']({[_0x5cfa0d]:_0x5d1449},{[_0x5cfa0d]:_0xcc645})['forEach']((_0x34ebb6,_0x19d843)=>{_0x34ebb6['baseVersion']=this['_document']['version']+_0x19d843,_0x34ebb6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x34ebb6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x10e056,_0x4e51b8){let _0x2cf2ca;this['_offset']=_0x10e056['offset'];const _0x289c12=_0x10e056['wereChangesApplied']&&!_0x10e056['initData'],_0x16b8b6=_0x289c12?0x0:_0x10e056['data']['baseVersion'];if(_0x4e51b8['forEach'](_0x5d5274=>{_0x5d5274['_isInit']=!0x0,_0x5d5274['createdAt']=_0x10e056['sessionCreatedAt'],_0x5d5274['_authorId']=null;}),_0x289c12)_0x2cf2ca=_0x4e51b8,this['_applyOperationsSet'](_0x2cf2ca,_0x289c12);else{if(_0x10e056['initData']){const _0x31aefc=this['_getOperationsFromInitData'](_0x10e056['initData']);this['_document']['history']['version']=-_0x31aefc['length'],_0x31aefc['forEach'](_0x284cc7=>{_0x284cc7['baseVersion']-=_0x31aefc['length'],_0x284cc7['createdAt']=_0x10e056['sessionCreatedAt'],_0x284cc7['_isInit']=!0x0,_0x284cc7['_authorId']=null;}),this['_applyOperationsSet'](_0x31aefc,!0x0),this['serverHistory']['version']=-_0x31aefc['length']+this['_offset'],this['_updateServerHistory'](_0x31aefc);}this['_document']['history']['version']=_0x16b8b6,_0x2cf2ca=this['_decompressOperations'](_0x10e056['data'],_0x10e056['metadata']),await this['_fetchMissingUsers'](_0x2cf2ca),this['_applyOperationsSet'](_0x2cf2ca,_0x289c12);}_0x10e056['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2cf2ca,_0x10e056['lastOperationId']),this['_lastSyncedOperationId']=_0x10e056['lastOperationId']),this['serverHistory']['version']=_0x16b8b6+this['_offset'],this['_updateServerHistory'](_0x2cf2ca),_0x4e51b8['filter'](_0x3ced9e=>{const _0x2f7c19=this['_getAffectedRoot'](_0x3ced9e);return _0x2f7c19&&!this['_knownRootNames']['has'](_0x2f7c19);})['forEach']((_0x36af0f,_0x556a27)=>{_0x36af0f['baseVersion']=this['_document']['version']+_0x556a27,this['_saveOperationInBuffer'](_0x36af0f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f0b59,_0x39c7d8,_0x11af1f){throw this['_isPendingUpdate']=!0x0,_0x39c7d8&&console['error'](_0x39c7d8),_0x11af1f&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x4bb820(_0x2f0b59,this['editor']);}['_saveOperationInBuffer'](_0x5ac183){this['_knownOperations']['has'](_0x5ac183)||(this['_knownOperations']['add'](_0x5ac183),this['_bufferedOperations']['push'](_0x5ac183),this['_pendingAction']||'marker'==_0x5ac183['type']&&!_0x5ac183['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x28b6e9=!0x1){!_0x28b6e9&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4c747f=>{_0x4c747f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3cd2f7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x136e54){return _0x136e54['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x136e54['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x136e54['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3cd2f7)||this['_crash'](_0x3cd2f7['message'],_0x3cd2f7,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x244498=>{this['on']('change:_isPendingUpdate',()=>{_0x244498();});});}async['_sendBufferedOperations'](){const _0x305b47=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x305b47['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x46607c=[...this['_bufferedOperations']];for(const _0x29b241 of _0x46607c)_0x29b241['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x29b241);const _0x4ab5b9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x46607c),_0x89bc5c=K++,_0x1051da=this['_compressOperations'](_0x46607c),_0x344e58=await this['_service']['sendOperations'](_0x1051da,_0x1051da['baseVersion'],_0x4ab5b9);try{return await this['_handleServerResponse'](_0x46607c,_0x344e58,_0x89bc5c);}catch(_0x5c888c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5c888c);}}async['_handleServerResponse'](_0x1f092f,_0x529dc4,_0x8b1007){if('error'in _0x529dc4)throw _0x529dc4['error'];let _0x5d1264=!0x1;if(_0x529dc4['wereChangesApplied']){_0x529dc4['lastOperationId']&&(this['_lastSyncedOperationId']=_0x529dc4['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x57f3f0=>!_0x1f092f['includes'](_0x57f3f0));for(const _0x2c9046 of _0x1f092f)_0x2c9046['createdAt']='lastOperationAcceptedAt'in _0x529dc4&&_0x529dc4['lastOperationAcceptedAt']||void 0x0;Q(_0x1f092f,_0x529dc4['version']-_0x1f092f['length']),this['_updateServerHistory'](_0x1f092f);const _0x13d2ff=_0x1f092f['filter'](_0x377015=>{if(!_0x377015['_isInit'])return!0x1;const _0xa18f9f=this['_getAffectedRoot'](_0x377015);return _0xa18f9f&&!this['_knownRootNames']['has'](_0xa18f9f);});Q(_0x13d2ff,this['_document']['version']),this['_applyOperationsSet'](_0x13d2ff),_0x5d1264=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x398c16=this['_decompressOperations'](_0x529dc4['data'],_0x529dc4['metadata'])['filter'](_0x27e296=>_0x27e296['baseVersion']>=this['_lastServerVersion']);_0x398c16['forEach'](_0x5680be=>this['_addKnownRoot'](_0x5680be)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3c37e1=>!_0x3c37e1['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3c37e1))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x398c16),_0x5d1264=this['_handleExternalOperations'](_0x398c16,_0x529dc4['version'],_0x529dc4['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5d1264?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x2da746,_0x2437b4,_0x1e0ebf){try{const _0x115725={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x34b322,operationsB:_0x589da4,originalOperations:_0x32e1ba}=_0x583353(_0x2da746,this['_bufferedOperations'],_0x115725);Q(_0x34b322,this['_document']['version']),Q(_0x589da4,_0x2437b4);for(const _0x338eca of _0x34b322){const _0x82af41=_0x32e1ba['get'](_0x338eca);_0x338eca['_authorId']=_0x82af41?_0x82af41['_authorId']:null;}_0x1e0ebf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2da746,_0x1e0ebf),this['_lastSyncedOperationId']=_0x1e0ebf),this['_bufferedOperations']=[..._0x589da4],this['_applyOperationsSet'](_0x34b322),this['_updateServerHistory'](_0x2da746);}catch(_0x4b4f65){return console['error'](_0x4b4f65),!0x1;}return!0x0;}['_applyOperationsSet'](_0x9fd829,_0x190de7=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4b7f96=>{for(const _0x4111df of _0x9fd829)this['_knownOperations']['add'](_0x4111df),this['_addKnownRoot'](_0x4111df),_0x4b7f96['batch']['addOperation'](_0x4111df),this['editor']['model']['applyOperation'](_0x4111df);});}['_addKnownRoot'](_0x4f1598){const _0x2422b8=this['_getAffectedRoot'](_0x4f1598);_0x2422b8&&this['_knownRootNames']['add'](_0x2422b8);}['_getAffectedRoot'](_0x268b10){let _0x4a8fd5,_0x1cdd9c;switch(_0x268b10['type']){case'insert':_0x4a8fd5=_0x268b10['position']['root'];break;case'marker':if(_0x1cdd9c=_0x268b10['newRange'],!_0x1cdd9c)return null;_0x4a8fd5=_0x1cdd9c['root'];break;case'addRootAttribute':_0x4a8fd5=_0x268b10['root'];break;case'addRoot':_0x4a8fd5=_0x268b10['affectedSelectable'];break;case'move':_0x4a8fd5=_0x268b10['targetPosition']['root'];break;default:return null;}return _0x4a8fd5['rootName'];}['_updateServerHistory'](_0x462c45){_0x462c45['forEach'](_0x370751=>{const _0x2c893d=_0x370751['clone']();_0x2c893d['_authorId']=_0x370751['_authorId'],_0x2c893d['_isInit']=!!_0x370751['_isInit'],_0x2c893d['createdAt']=_0x370751['createdAt'],_0x2c893d['baseVersion']+=this['_offset'],_0x370751['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2c893d),this['serverHistory']['addOperation'](_0x2c893d);});}['_handleReconnectionError'](_0x3f9052){const _0x5bb337=this['editor']['plugins']['get']('Notification'),_0x58881e=this['editor']['locale'];_0x3f9052||(_0x3f9052=q(_0x58881e,'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.')),_0x5bb337['showWarning'](_0x3f9052,{'title':q(_0x58881e,'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'](_0x19630d)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x19630d)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x277c31){const _0x5ac04e=_0x277c31['map'](_0x2c7818=>_0x2c7818['toJSON']());return this['_compressor']['compress'](_0x5ac04e);}['_decompressOperations'](_0x562b67,_0x215866){return this['_compressor']['decompress'](_0x562b67)['map']((_0x43927d,_0x1b0db1)=>{const _0x34425c='init'==_0x215866[_0x1b0db1]['type'];if('InsertOperation'==_0x43927d['__className']){const _0x458186=_0x43927d['position']['root'];!this['_document']['getRoot'](_0x458186)&&(this['_document']['createRoot']('$root',_0x458186)['_isAttached']=!0x1);}const _0x32f7f7=_0x3e5cf4['fromJSON'](_0x43927d,this['_document']);return _0x32f7f7['wasUndone']=_0x43927d['wasUndone'],_0x32f7f7['_isInit']=_0x34425c,_0x32f7f7['_authorId']=_0x34425c?null:_0x215866[_0x1b0db1]['userId'],_0x32f7f7['_isDisconnection']='cs:removeUser'===_0x215866[_0x1b0db1]['type'],_0x32f7f7['createdAt']=_0x215866[_0x1b0db1]['createdAt'],_0x32f7f7;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x416517=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x416517&&_0x416517['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x482d0c,_0x1d4d7d){for(const _0xa391e1 of _0x482d0c)_0xa391e1['baseVersion']=_0x1d4d7d++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x198192){this['_ignoredOperations']=_0x198192,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4b3b37){let _0x12c1ac=_0x4b3b37['length'];for(;_0x12c1ac--;){const _0x1d13bf=_0x4b3b37[_0x12c1ac];if(!this['_ignoredOperations']['has'](_0x1d13bf)){if(!this['_operationToId']['has'](_0x1d13bf)){const _0x204001=_0x1076e1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1d13bf,_0x204001);}return this['_operationToId']['get'](_0x1d13bf);}}}['setIdForTheLastOperation'](_0x18af57,_0x3efcbe){if(!_0x3efcbe)return;let _0x39ff42=_0x18af57['length'];for(;_0x39ff42--;){const _0x290972=_0x18af57[_0x39ff42];this['_ignoredOperations']['has'](_0x290972)||this['_operationToId']['set'](_0x290972,_0x3efcbe);}}}class n extends _0x2f4ec7{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x5a8039{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x507313)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x5e51ff];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1fd16d){super(_0x1fd16d),this['_services']=new Map();}async['init'](){const _0x470a8e=this['context'],_0x393a68=_0x470a8e['plugins']['get']('CommentsRepository');if(_0x470a8e['plugins']['get'](c)['addToReconnectionStack'](this),_0x393a68['adapter']={'addCommentThread':async({channelId:_0x2b5e15,threadId:_0x3ea87d,comments:_0xe96397,resolvedAt:_0x14c5ea,resolvedBy:_0x44e694,context:_0x1c133d,attributes:_0x1246a2})=>{const _0x303e28=await this['_getService'](_0x2b5e15)['addCommentThread']({'commentThreadId':_0x3ea87d,'comments':_0xe96397['map'](_0x6fb6d4=>function(_0xb52649,_0x2eb0f9,_0x148bde){return{'commentThreadId':_0x148bde,'commentId':_0xb52649['commentId'],'userId':_0xb52649['authorId'],'content':_0xb52649['content'],'documentId':_0x2eb0f9,'createdAt':_0xb52649['createdAt'],'attributes':_0xb52649['attributes']||{}};}(_0x6fb6d4,_0x2b5e15,_0x3ea87d)),'resolvedAt':_0x14c5ea,'resolvedBy':_0x44e694,'context':_0x1c133d,'attributes':_0x1246a2})['catch'](ut);return{'threadId':_0x303e28['commentThreadId'],'comments':_0x303e28['comments']};},'getCommentThread':async({channelId:_0x282cdf,threadId:_0x50696f})=>{const _0x369ed9=await this['_getService'](_0x282cdf)['getCommentThread'](_0x50696f)['catch'](ut);return _0x369ed9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x369ed9]),{'threadId':_0x369ed9['commentThreadId'],'comments':_0x369ed9['comments']['map'](b),'context':_0x369ed9['context'],'resolvedAt':_0x369ed9['resolvedAt'],'resolvedBy':_0x369ed9['resolvedBy'],'attributes':_0x369ed9['attributes']||{}});},'updateCommentThread':async({channelId:_0x1e3d90,threadId:_0x112f43,context:_0x426caf,unlinkedAt:_0x1ec8f4,attributes:_0x567601})=>this['_getService'](_0x1e3d90)['updateCommentThread']({'commentThreadId':_0x112f43,'context':_0x426caf,'attributes':_0x567601,'unlinkedAt':_0x1ec8f4})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x5c1ce9,threadId:_0x3a2207})=>{const _0xf976c1=await this['_getService'](_0x5c1ce9)['resolveCommentThread'](_0x3a2207)['catch'](y)['catch'](ut);return{'threadId':_0xf976c1['commentThreadId'],'resolvedAt':_0xf976c1['resolvedAt'],'resolvedBy':_0xf976c1['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4e5dd5,threadId:_0x292496})=>this['_getService'](_0x4e5dd5)['reopenCommentThread'](_0x292496)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x3a27aa,threadId:_0x8de907})=>this['_getService'](_0x3a27aa)['removeCommentThread'](_0x8de907)['catch'](y)['catch'](ut),'addComment':({channelId:_0x3dbef0,threadId:_0x2bb618,commentId:_0x25aacc,content:_0xdaf414,attributes:_0x68e5c8})=>this['_getService'](_0x3dbef0)['addComment'](_0x2bb618,_0x25aacc,_0xdaf414,_0x68e5c8)['catch'](ut),'updateComment':({channelId:_0x300241,threadId:_0x330629,commentId:_0x24e4c8,content:_0x160bb1,attributes:_0x46355b})=>this['_getService'](_0x300241)['updateComment'](_0x330629,_0x24e4c8,_0x160bb1,_0x46355b)['catch'](y)['catch'](ut),'removeComment':({channelId:_0xf2fe30,threadId:_0x18b006,commentId:_0x47745e})=>this['_getService'](_0xf2fe30)['removeComment'](_0x18b006,_0x47745e)['catch'](y)['catch'](ut)},_0x470a8e instanceof _0x4f9ef2){const _0x2ab058=_0x470a8e['config']['get']('collaboration.channelId'),_0x3e84c9=_0x470a8e['plugins']['get'](i);await this['_setUpService'](_0x2ab058);const _0x457c98=await this['_services']['get'](_0x2ab058)['getConnectedSessions']();this['listenTo'](_0x3e84c9,'sessionAdd:'+_0x2ab058,(_0xc1415c,{session:_0x2b9ca0})=>{_0x2b9ca0['id']===_0x3e84c9['mySessionId']&&(_0xc1415c['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2b9ca0['permissions'],_0x2ab058));}),_0x3e84c9['register'](_0x2ab058,_0x457c98);}}async['_setUpService'](_0x452715){if(this['_services']['has'](_0x452715))throw new _0x4bb820('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x452715});const _0x1cb15d=this['context']['plugins']['get']('CommentsRepository'),_0x32f8ee=new a['CommentsService'](_0x452715);this['_services']['set'](_0x452715,_0x32f8ee),this['listenTo'](_0x32f8ee,'commentThreadAdded',(_0x445f9d,_0x163fa2)=>{const {commentThreadId:_0x2c0989,documentId:_0x52b53e,context:_0x2328f5,attributes:_0x2f58a5,resolvedAt:_0xf88d58,resolvedBy:_0x2ba311,comments:_0x205106}=_0x163fa2;_0x1cb15d['getCommentThread'](_0x2c0989)||_0x1cb15d['addCommentThread']({'threadId':_0x2c0989,'channelId':_0x52b53e,'comments':_0x205106?_0x205106['map'](b):[],'context':_0x2328f5,'attributes':_0x2f58a5,'resolvedAt':_0xf88d58,'resolvedBy':_0x2ba311,'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadUpdated',(_0x390b09,{commentThreadId:_0x5a367e,documentId:_0x888d50,context:_0x239e70,unlinkedAt:_0xdf6b15,attributes:_0xe5437f})=>{_0x1cb15d['getCommentThread'](_0x5a367e)&&_0x1cb15d['updateCommentThread']({'threadId':_0x5a367e,'channelId':_0x888d50,'context':_0x239e70,'unlinkedAt':_0xdf6b15,'attributes':_0xe5437f,'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadResolved',(_0x21d95a,{commentThreadId:_0x2b7108,resolvedBy:_0x13cb74,resolvedAt:_0xf9915c})=>{const _0x2d8b1e=_0x1cb15d['getCommentThread'](_0x2b7108);_0x2d8b1e&&_0x2d8b1e['resolve']({'resolvedBy':_0x13cb74,'resolvedAt':_0xf9915c,'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadReopened',(_0x1e091a,{commentThreadId:_0x1ff159})=>{const _0x19aba4=_0x1cb15d['getCommentThread'](_0x1ff159);_0x19aba4&&_0x19aba4['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadRemoved',(_0x2f4a77,{commentThreadId:_0x5a6c5c})=>{const _0x11887b=_0x1cb15d['getCommentThread'](_0x5a6c5c);_0x11887b&&_0x11887b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentAdded',(_0x569bf0,_0x4241d7)=>{const _0x1284e5=_0x4241d7['commentThreadId'],_0x5b4fae=_0x1cb15d['getCommentThread'](_0x1284e5);_0x5b4fae&&_0x5b4fae['addComment']({...b(_0x4241d7),'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentUpdated',(_0x1ccf54,{commentThreadId:_0x36033c,commentId:_0x40da70,content:_0x4f3931,attributes:_0x322237})=>{const _0x2e3592=_0x1cb15d['getCommentThread'](_0x36033c);if(_0x2e3592){const _0x3a3abc=_0x2e3592['getComment'](_0x40da70);_0x3a3abc&&_0x3a3abc['update']({'content':_0x4f3931,'attributes':_0x322237,'isFromAdapter':!0x0});}}),this['listenTo'](_0x32f8ee,'commentRemoved',(_0x449d8e,{commentThreadId:_0x21681d,commentId:_0x810607})=>{const _0x342d7c=_0x1cb15d['getCommentThread'](_0x21681d);if(_0x342d7c){const _0x2c10db=_0x342d7c['getComment'](_0x810607);_0x2c10db&&_0x2c10db['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x452715);}['destroy'](){if(this['context']instanceof _0x4f9ef2){const _0x1f9599=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1f9599);}}['_terminateService'](_0x39e888){if(!this['_services']['has'](_0x39e888))throw new _0x4bb820('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x39e888});this['_getService'](_0x39e888)['disconnect'](),this['_services']['delete'](_0x39e888);}async['reconnect'](){for(const _0x53513a of this['_services']['keys']())await this['_connectService'](_0x53513a);if(this['context']instanceof _0x4f9ef2){const _0x135803=this['context']['config']['get']('collaboration.channelId'),_0x3df634=this['context']['plugins']['get'](i);_0x3df634['unregister'](_0x135803);const _0xffdd60=await this['_services']['get'](_0x135803)['getConnectedSessions']();_0x3df634['register'](_0x135803,_0xffdd60);}}async['_connectService'](_0x979723){const {connection:_0x17b8c6}=this['context']['plugins']['get'](c),_0x529440=this['context']['plugins']['get']('CommentsRepository'),_0x4d6152=this['_services']['get'](_0x979723),_0x197a16=await _0x4d6152['connect'](_0x17b8c6);await this['_fetchMissingUsersForThreads'](_0x197a16);const _0x49d5db=new Set(Array['from'](_0x529440['getCommentThreads']({'channelId':_0x979723}),_0x319f48=>_0x319f48['id']));for(const _0x4fb326 of _0x197a16)_0x4fb326['deletedAt']||_0x49d5db['delete'](_0x4fb326['commentThreadId']);for(const _0x2c8bbc of _0x49d5db)_0x529440['getCommentThread'](_0x2c8bbc)['remove']({'isFromAdapter':!0x0});for(const _0x4e21d6 of _0x197a16){let _0x3b9099=_0x529440['getCommentThread'](_0x4e21d6['commentThreadId']);const {commentThreadId:_0x4af3c6,context:_0x395bb0,attributes:_0x176029,resolvedBy:_0x28ef9f,resolvedAt:_0x26ff0d,unlinkedAt:_0x5cdf58,deletedAt:_0xcbf5e2}=_0x4e21d6;if(_0xcbf5e2)continue;_0x3b9099||(_0x3b9099=_0x529440['addCommentThread']({'channelId':_0x979723,'threadId':_0x4af3c6,'context':_0x395bb0,'attributes':_0x176029||{},'resolvedBy':_0x28ef9f,'resolvedAt':_0x26ff0d,'unlinkedAt':_0x5cdf58,'isFromAdapter':!0x0}));const _0xe03b89=new Set(Array['from'](_0x3b9099['comments'],_0x3383cb=>_0x3383cb['id']));for(const _0x4a26b0 of _0x4e21d6['comments'])_0xe03b89['delete'](_0x4a26b0['commentId']);for(const _0x34897c of _0xe03b89)_0x3b9099['getComment'](_0x34897c)['remove']({'isFromAdapter':!0x0});for(const _0x1dc840 of _0x4e21d6['comments']){const _0x4730bf=_0x3b9099['getComment'](_0x1dc840['commentId']);_0x4730bf?_0x4730bf['content']!==_0x1dc840['content']&&_0x4730bf['update']({'content':_0x1dc840['content'],'isFromAdapter':!0x0}):_0x3b9099['addComment'](Object['assign'](b(_0x1dc840),{'isFromAdapter':!0x0}));}}}['_getService'](_0x14d5f1){if(!this['_services']['has'](_0x14d5f1))throw new _0x4bb820('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x14d5f1});return this['_services']['get'](_0x14d5f1);}async['_fetchMissingUsersForThreads'](_0x23d6ba){const _0xdbd6b2=this['context']['plugins']['get'](_0x5e51ff),{connection:_0x3f540b}=this['context']['plugins']['get'](c),_0x14054a=new Set();for(const {resolvedBy:_0x49f305,comments:_0x33a8c9}of _0x23d6ba){_0x49f305&&!_0xdbd6b2['getUser'](_0x49f305)&&_0x14054a['add'](_0x49f305);for(const {userId:_0x2dcc13}of _0x33a8c9)_0xdbd6b2['getUser'](_0x2dcc13)||_0x14054a['add'](_0x2dcc13);}if(0x0===_0x14054a['size'])return;const _0x953ef9=await dt['getMany'](_0x3f540b,Array['from'](_0x14054a));for(const _0x2db98f of _0x953ef9)_0xdbd6b2['getUser'](_0x2db98f['id'])||_0xdbd6b2['addUser'](_0x2db98f);}}async function y(_0x49e612){if('404'!==_0x49e612['code'])throw _0x49e612;}function ut(_0xa15a01){if((_0x21fc15=_0xa15a01)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x21fc15['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x21fc15['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x21fc15;throw _0xa15a01;}function b(_0x3017b6){return{'threadId':_0x3017b6['commentThreadId'],'commentId':_0x3017b6['commentId'],'content':_0x3017b6['content'],'createdAt':_0x3017b6['createdAt'],'authorId':_0x3017b6['userId'],'attributes':_0x3017b6['attributes']||{}};}class f extends _0x2f4ec7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x247d85){super(_0x247d85);const _0x2c3e91=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x2c3e91);}['init'](){const _0x2ff439=this['editor']['plugins']['get'](c),_0x3fe073=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3fe073['adapter']={'getSuggestion':async _0x3d74f4=>{await this['_waitForServiceReady']();const _0x5196a3=await this['_trackChangesService']['get'](_0x3d74f4)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x5196a3]),_0x5196a3;},'addSuggestion':async({id:_0x374ff6,type:_0x9a3506,data:_0x534ae,originalSuggestionId:_0x296531,attributes:_0x474479})=>{await this['_waitForServiceReady']();const _0x285db9={'id':_0x374ff6,'type':_0x9a3506,'data':_0x534ae,'originalSuggestionId':_0x296531,'attributes':_0x474479},_0x3f9bc3=await this['_trackChangesService']['add'](_0x374ff6,_0x9a3506,_0x534ae,_0x296531,_0x474479)['catch'](_0x3ae227=>{if(ft(_0x3ae227))return new Promise(_0x554ce3=>{this['_bufferedRequests']['set'](_0x374ff6,{'resolve':_0x554ce3,'suggestionData':_0x285db9});});throw _0x3ae227;});return this['_bufferedRequests']['delete'](_0x374ff6),_0x3f9bc3;},'updateSuggestion':async(_0xb6326a,_0x16b4e2)=>{if(await this['_waitForServiceReady'](),'open'!==_0x16b4e2['state'])return this['_trackChangesService']['update'](_0xb6326a,_0x16b4e2)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x28e296,_0x5f8ba3)=>{_0x3fe073['hasSuggestion'](_0x5f8ba3['id'])&&(_0x3fe073['getSuggestion'](_0x5f8ba3['id'])['attributes']=_0x5f8ba3['attributes']);}),this['_trackChangesService']['connect'](_0x2ff439['connection'])['then'](_0x41d57b=>(_0x2ff439['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x41d57b)['then'](()=>{for(const _0x58cbe3 of _0x41d57b){_0x3fe073['addSuggestionData'](_0x58cbe3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x7740da=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x58d1ef}=this['editor']['plugins']['get'](c),_0x48679b=await this['_trackChangesService']['connect'](_0x58d1ef);await this['_fetchMissingUsersForThreads'](_0x48679b);for(const {suggestionData:_0x524450,resolve:_0x190252}of this['_bufferedRequests']['values']()){let _0x23106d=_0x48679b['find'](_0x2436d7=>_0x2436d7['id']===_0x524450['id']);_0x23106d||(_0x23106d=await this['_trackChangesService']['add'](_0x524450['id'],_0x524450['type'],_0x524450['data'],_0x524450['originalSuggestionId'])),_0x190252(_0x23106d);}for(const _0x40588e of _0x48679b)_0x7740da['hasSuggestion'](_0x40588e['id'])||_0x7740da['addSuggestionData'](_0x40588e);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x495aba=>{this['listenTo'](this['_trackChangesService'],'connected',_0x372354=>{_0x372354['off'](),_0x495aba();});});}async['_fetchMissingUsersForThreads'](_0xfefa33){const _0x5c4118=this['editor']['plugins']['get'](_0x5e51ff),{connection:_0x214175}=this['editor']['plugins']['get'](c),_0xa0412b=new Set();for(const {authorId:_0x30071e}of _0xfefa33)_0x5c4118['getUser'](_0x30071e)||_0xa0412b['add'](_0x30071e);if(0x0===_0xa0412b['size'])return;const _0x27d24e=await dt['getMany'](_0x214175,Array['from'](_0xa0412b));for(const _0x144e5a of _0x27d24e)_0x5c4118['getUser'](_0x144e5a['id'])||_0x5c4118['addUser'](_0x144e5a);}}function w(_0x494234){if(ft(_0x494234))return new Promise(()=>{});throw _0x494234;}function ft(_0x55821f){return _0x55821f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x55821f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x2f4ec7{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2df85b=this['editor']['plugins']['get'](c),_0x50a757=this['editor']['plugins']['get']('CommentsEditing'),_0x14bd3f=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2df85b,'change:state',(_0x1d193a,_0x46fa81,_0x36d658)=>{_0x50a757['isThreadsLoadingPaused']='connected'!==_0x36d658;});}),this['listenTo'](_0x2df85b,'change:state',(_0x34c388,_0x455f4a,_0x16d284)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x16d284);}),_0x14bd3f['_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 _0x2f4ec7{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x2f4ec7{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x5e51ff];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x22d6fa){super(_0x22d6fa);const _0x1298d9=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x1298d9);}async['init'](){const _0x23a5be=this['editor']['plugins']['get'](l),_0x386f3c=_0x23a5be['serverHistory'],_0x1cfd29=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x386f3c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x23a5be['sessionId']});const _0x3ed48f=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x53aed7=await tt['isBundleUploaded'](_0x1cfd29['connection'],_0x3ed48f);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x33bef9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x33bef9)),'updateRevisions':async _0x113ce6=>{await this['_waitForServiceReady']();const _0xb743d0=this['_revisionTracker']['currentRevision'];if(_0x53aed7&&0x1===_0x113ce6['length']&&_0x113ce6[0x0]['id']===_0xb743d0['id'])return _0x113ce6;for(const _0x2df726 of _0x113ce6)_0x2df726['id']===_0xb743d0['id']&&(_0x2df726['isEmptyCurrent']=_0x2df726['fromVersion']===_0x2df726['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x113ce6,this['_lastRequestId'])['then'](_0x171727=>(this['_lastRequestId']=_0x171727,_0x113ce6))['catch'](_0x5d9432=>{if(st(_0x5d9432)||'400'===_0x5d9432['code']&&void 0x0!==_0x5d9432['data']['wrongRequestId']){for(const _0x151a63 of _0x113ce6){!this['_revisionTracker']['repository']['getRevision'](_0x151a63['id'])||this['_revisionTracker']['_bufferUpdate'](_0x151a63['id'],_0x151a63,!0x1);}if(st(_0x5d9432))throw _0x5d9432;return _0x113ce6;}throw _0x5d9432;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xebe53f,{revisionsData:_0x1d2304,requestId:_0x4f8c0b})=>{Math['max'](..._0x1d2304['map'](_0x713f29=>_0x713f29['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1d2304,_0x4f8c0b);}):this['_handleRevisionsUpdate'](_0x1d2304,_0x4f8c0b);});const {revisions:_0x4efedd,requestId:_0x381946}=await this['_revisionHistoryService']['connect'](_0x1cfd29['connection']);_0x1cfd29['addToReconnectionStack'](this),this['_lastRequestId']=_0x381946,await this['_fetchMissingUsers'](_0x4efedd);for(const _0x5e00f7 of _0x4efedd)this['_revisionTracker']['addRevisionData'](_0x5e00f7);this['listenTo'](_0x23a5be,'change:_isConnected',(_0x2fa337,_0x1b3f38,_0xe0668)=>{_0xe0668&&(this['_oldOffset']=_0x23a5be['_offset'],_0x2fa337['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1cfd29,'state',_0x2397c8=>_0x2397c8===_0x42944f['CONNECTED']);}async['reconnect'](){const _0x277534=this['editor']['plugins']['get'](c),_0x150eb9=this['editor']['plugins']['get'](l),_0x54ab0a=async()=>{const _0x52a5d6=this['_revisionTracker']['currentRevision'],_0xe4b2fc=_0x52a5d6['id'],_0x389108=_0xe4b2fc!==_0x150eb9['sessionId'];if(_0x389108){const _0x555f53=_0x150eb9['_offset']-this['_oldOffset'],_0x2978e8=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x52a5d6['toVersion']+_0x555f53!==_0x2978e8){const _0x27bd81=_0x52a5d6['fromVersion']+_0x555f53,_0x8907d0=this['editor']['plugins']['get'](_0x5e51ff),_0x209563=this['_revisionTracker']['buildRevisionData']({'revision':_0x52a5d6,'from':_0x27bd81,'to':_0x2978e8});_0x209563['id']=_0x52a5d6['id'];const _0x15e418=_0x209563['authorsIds']['map'](_0x2db170=>_0x8907d0['getUser'](_0x2db170));_0x52a5d6['_update']({..._0x209563,'authors':_0x15e418},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x52a5d6['id'],_0x209563,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2978e8,(_0x52a5d6['toVersion']===_0x52a5d6['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xe4b2fc)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xe4b2fc),this['_revisionTracker']['_createCurrentRevision'](_0x2978e8));}const {revisions:_0x19d144,requestId:_0x14b21f}=await this['_revisionHistoryService']['reconnect'](_0x277534['connection'],this['_lastRequestId']);_0x389108&&_0x19d144['length']>0x0?_0x150eb9['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x19d144),this['_handleRevisionsUpdate'](_0x19d144,_0x14b21f),this['_revisionTracker']['sendBufferedUpdates']());};return _0x150eb9['_isConnected']?_0x54ab0a():new Promise((_0x1fd695,_0x332b44)=>{_0x150eb9['once']('change:_isConnected',()=>{_0x54ab0a()['then'](_0x1fd695)['catch'](_0x332b44);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x39b1a0=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x40e236=>{_0x40e236['off'](),_0x39b1a0();});});}['_getLatestVersionFromServerOperations'](){const _0x3f08b0=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x5eb32a of _0x3f08b0)if('marker'!==_0x5eb32a['type']||_0x5eb32a['affectsData'])return _0x5eb32a['baseVersion']+0x1;}['_getLatestVersion'](){const _0x812ed7=this['editor']['plugins']['get'](l);return new Promise(_0x1a18b5=>{_0x812ed7['_isPendingUpdate']?_0x812ed7['once']('change:_isPendingUpdate',()=>{_0x1a18b5(this['_getLatestVersionFromServerOperations']());}):_0x1a18b5(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xa9dee6,_0x429d5c){const _0x57844e=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x429d5c;for(const _0x2cc27d of _0xa9dee6){const _0x4693e6=_0x57844e['getRevision'](_0x2cc27d['id']);if(_0x4693e6){if((_0x2cc27d['fromVersion']||_0x2cc27d['toVersion'])&&(_0x2cc27d['diffData']=null),_0x4693e6===this['_revisionTracker']['currentRevision']){const _0x1bb018=Math['max'](_0x4693e6['toVersion'],_0x2cc27d['toVersion']),_0x57f084=Math['max'](_0x4693e6['fromVersion'],_0x2cc27d['fromVersion']);let _0x6eb1d2;_0x4693e6['toVersion']===_0x2cc27d['toVersion']&&_0x4693e6['fromVersion']===_0x2cc27d['fromVersion']?(_0x6eb1d2=!0x0,this['_preventResendingRevisionData'](_0x2cc27d)):_0x2cc27d['toVersion']===_0x1bb018&&_0x2cc27d['fromVersion']===_0x57f084?_0x6eb1d2=!0x1:(_0x4693e6['toVersion']===_0x1bb018&&_0x4693e6['fromVersion']===_0x57f084||this['_fixRevision']({'revision':_0x4693e6,'from':_0x57f084,'to':_0x1bb018}),_0x6eb1d2=!0x0),_0x6eb1d2&&(delete _0x2cc27d['fromVersion'],delete _0x2cc27d['toVersion'],delete _0x2cc27d['diffData'],delete _0x2cc27d['createdAt'],delete _0x2cc27d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2cc27d),this['_preventResendingRevisionData'](_0x2cc27d);}else this['_revisionTracker']['addRevisionData'](_0x2cc27d);}const _0x45ed48=_0x57844e['getRevisions']();_0x45ed48['reverse']();for(let _0x594521=0x0;_0x594521<_0x45ed48['length']-0x1;_0x594521++){const _0x12f033=_0x45ed48[_0x594521],_0x2ce9f1=_0x45ed48[_0x594521+0x1];if(_0x12f033['fromVersion']<_0x2ce9f1['toVersion']){const _0x74f36e=_0x2ce9f1['toVersion'],_0x185c3c=Math['max'](_0x74f36e,_0x12f033['toVersion']);this['_fixRevision']({'revision':_0x12f033,'from':_0x74f36e,'to':_0x185c3c});}}}['_fixRevision']({revision:_0x43a217,from:_0x2de269,to:_0x5907df}={}){const _0x3b40ac=this['editor']['plugins']['get'](_0x5e51ff),_0x53907d=this['_revisionTracker']['buildRevisionData']({'revision':_0x43a217,'from':_0x2de269,'to':_0x5907df});_0x53907d['authors']=_0x53907d['authorsIds']['map'](_0x45d85b=>_0x3b40ac['getUser'](_0x45d85b)),_0x43a217['_update'](_0x53907d);}['_preventResendingRevisionData'](_0x512cff){const _0xb48dd6={};_0xb48dd6['id']=_0x512cff['id'];for(const _0xccb03f of Object['keys'](_0x512cff))'id'!==_0xccb03f&&(_0xb48dd6[_0xccb03f]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xb48dd6['id'],_0xb48dd6,!0x0);}async['_fetchMissingUsers'](_0x201bb7){const _0x44a9c8=this['editor']['plugins']['get'](_0x5e51ff),{connection:_0x4cda27}=this['editor']['plugins']['get'](c),_0x2ffa8e=new Set();for(const _0x5c3135 of _0x201bb7){for(const _0x18a413 of _0x5c3135['authorsIds'])_0x4fbe5d(_0x18a413);_0x5c3135['creatorId']&&_0x4fbe5d(_0x5c3135['creatorId']);}if(0x0===_0x2ffa8e['size'])return;const _0x5dca43=await dt['getMany'](_0x4cda27,Array['from'](_0x2ffa8e));for(const _0x27a04f of _0x5dca43)_0x44a9c8['getUser'](_0x27a04f['id'])||_0x44a9c8['addUser'](_0x27a04f);function _0x4fbe5d(_0x5d5d6a){_0x44a9c8['getUser'](_0x5d5d6a)||_0x2ffa8e['add'](_0x5d5d6a);}}}function st(_0x51e0d8){return _0x51e0d8['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x51e0d8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x51e0d8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2f4ec7{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x4a36b3{constructor(_0x509190){super(_0x509190);const _0x5e99f1=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x5e99f1['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x5e99f1['to']('usersCount',_0x53da39=>q(_0x509190,'CONNECTED_USERS',_0x53da39))}]});}}class es extends _0x4a36b3{['items'];['keystrokes'];constructor(_0x26f530){super(_0x26f530);const _0x401480=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5393f7(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x401480['if']('hasPopup'),'aria-expanded':_0x401480['to']('isExpanded',_0x51be11=>this['hasPopup']&&String(_0x51be11)),'aria-label':_0x401480['to']('hasPopup',_0x42d3cf=>q(_0x26f530,_0x42d3cf?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x401480['to']('hasPopup',_0x3c9cd6=>!!_0x3c9cd6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x401480['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x584dae,_0xb9e711,_0x42cc5d)=>{this['element']&&(_0x42cc5d?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 _ extends _0x4a36b3{['counterView'];['inlineListView'];constructor(_0x417ee4){super(_0x417ee4);const _0x20c9ed=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x417ee4),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1c659c of this['inlineListView']['items'])_0x1c659c['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',_0x20c9ed['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class M extends _0x4a36b3{['listWrapperView'];constructor(_0x2c5f36,_0x2a3e0f){super(_0x2c5f36),this['listWrapperView']=new mt(_0x2c5f36,_0x2a3e0f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x2c5f36,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x5b5e13{constructor(_0x5310aa,_0x3abe44){super(_0x5310aa);const _0x3fccd7=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3abe44?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3fccd7['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3fccd7['to']('role'),'aria-label':_0x3fccd7['to']('ariaLabel'),'aria-labelledby':_0x3fccd7['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x11ae4d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x501575=this['element'];_0x501575&&(this['_isScrollable']=Math['max'](_0x501575['scrollHeight'],_0x501575['clientHeight'])>0.8*window['innerHeight']);}}class E extends rt{['userView'];constructor(_0x1845dd,_0x1c69dd,_0x870c9a){super(_0x1845dd);const _0x4bd903=this['bindTemplate'];this['userView']=new ct(_0x1845dd,_0x1c69dd);const _0x2d655e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1c69dd['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1c69dd['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1c69dd['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x870c9a&&(_0x2d655e['tag']='button',_0x2d655e['on']={'click':_0x4bd903['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2d655e);}['focus'](){this['element']['focus']();}}class T extends _0x4a36b3{['userView'];['markerView'];constructor(_0x27b1b3,_0xcecb0d,_0x12eb16){super(_0x27b1b3);const _0x38a948=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x27b1b3,_0xcecb0d),this['markerView']=new at(_0x27b1b3,_0xcecb0d);const _0x124d6f=new ot(_0x27b1b3);_0x124d6f['template']['tag']='span',_0x124d6f['text']=_0xcecb0d['name'];const _0x2cfbba={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x38a948['to']('isFocusable',_0x31906a=>!!_0x31906a&&0x0),'aria-labelledby':_0x124d6f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x38a948['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x38a948['to']('hasTooltip',_0x25d187=>!_0x25d187),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x124d6f]};_0x12eb16&&(_0x2cfbba['tag']='button',_0x2cfbba['on']={'click':_0x38a948['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2cfbba);}}class at extends _0x4a36b3{constructor(_0x5cf8c3,_0x3823af){super(_0x5cf8c3),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3823af['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x5a8039{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x10e118){super(_0x10e118),this['context']['config']['define']('presenceList',D);const _0x328456=_0x10e118['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x328456)throw new _0x4bb820('presencelist-collapseat-invalid-format',this);if(_0x328456<0x1)throw new _0x4bb820('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3fd87a(),this['balloonPanelView']=new _0xd0549f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x4ea7f5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4ea7f5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x17b3f4,_0x3281db)=>{this['_handleUserAdd'](_0x3281db);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x289237,_0x2115f4)=>{this['_handleUserRemove'](_0x2115f4);});}['_createView'](){const _0x42cd9c=this['context'],_0x425af9=new _(this['context']['locale']),_0x40ffe5=this['balloonPanelView'];if(!_0x77664d(_0x42cd9c['config']['get']('presenceList.container')))throw new _0x4bb820('presencelist-missing-container',this);return _0x425af9['counterView']['bind']('usersCount')['to'](this),_0x425af9['bind']('isCollapsed')['to'](this,'usersCount',_0x14a05b=>{const {collapseAt:_0x12da3b,displayMe:_0x65b443}=_0x42cd9c['config']['get']('presenceList'),_0x46f9d5=_0x14a05b>=_0x12da3b;return _0x425af9['counterView']['isHidden']=!(0x1==_0x14a05b&&_0x65b443||_0x46f9d5),_0x46f9d5||this['hideDropdown'](),_0x46f9d5;}),_0x425af9['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x9a4c0e=>{const _0x2cad8e=_0x42cd9c['config']['get']('presenceList'),_0x103f40=new T(_0x42cd9c['locale'],_0x9a4c0e,!!_0x2cad8e['onClick']);return _0x103f40['bind']('hasTooltip')['to'](_0x425af9,'isCollapsed',_0x15f385=>!_0x15f385),_0x103f40['bind']('isFocusable')['to'](_0x425af9,'isCollapsed',_0x439acd=>!_0x439acd),_0x2cad8e['onClick']&&this['listenTo'](_0x103f40,'execute',()=>{this['view']['isCollapsed']||_0x2cad8e['onClick'](_0x9a4c0e,_0x103f40['element']);}),_0x103f40;}),this['listenTo'](_0x425af9['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x425af9['inlineListView']['keystrokes']['set']('Enter',(_0x371b61,_0x483ab0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x483ab0());}),_0x425af9['render'](),_0x40ffe5['render'](),_0x17dab6({'emitter':_0x425af9,'activator':()=>_0x40ffe5['isVisible'],'contextElements':[_0x40ffe5['element'],_0x425af9['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42cd9c['config']['get']('presenceList.container')['appendChild'](_0x425af9['element']),this['_bodyCollection']=new _0x24f1cb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x425af9;}['_handleUserAdd'](_0x30bbfe){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x30bbfe['isMe'])return;const _0x2c6191=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x2c6191&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x1094aa=_0x30bbfe['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x30bbfe,_0x1094aa);}['_handleUserRemove'](_0x24ebcf){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x24ebcf['id'])&&(this['currentDisplayedUsers']['remove'](_0x24ebcf['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x3f4e0f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3f4e0f['id']))return void this['currentDisplayedUsers']['add'](_0x3f4e0f,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x10742c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new M(this['context']['locale'],!!_0x10742c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x279614}=this['presenceDropdownView'];_0x279614['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3f08d7=>{if(!_0x10742c['displayMe']&&_0x3f08d7['isMe'])return null;const _0xee9584=new E(this['context']['locale'],_0x3f08d7,!!_0x10742c['onClick']);return _0x10742c['onClick']&&this['listenTo'](_0xee9584,'execute',()=>{_0x10742c['onClick'](_0x3f08d7,_0xee9584['element']);}),_0xee9584;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x279614['focus'](),_0x279614['checkIfScrollable']();const _0x4723a2=(_0x13045d,_0x3cf56f)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3cf56f();};_0x279614['keystrokes']['set']('Esc',_0x4723a2),_0x279614['keystrokes']['set']('Shift+Tab',_0x4723a2),_0x279614['keystrokes']['set']('Tab',(_0x17b77a,_0x3d1855)=>{!function(_0x2f177f){const _0x4731d9=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4841f3=>_0x4841f3+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x26866d=[...document['body']['querySelectorAll'](_0x4731d9)]['filter'](_0x38f9fb=>_0x38f9fb===document['activeElement']||_0x38f9fb['offsetWidth']+_0x38f9fb['offsetHeight']>0x0)['sort']((_0x4deb64,_0x3da990)=>(_0x4deb64['tabIndex']||0x0)-(_0x3da990['tabIndex']||0x0)),_0x99bef8=_0x26866d['indexOf'](_0x2f177f),_0x155336=_0x26866d[(_0x99bef8+0x1)%_0x26866d['length']];_0x155336&&_0x155336['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3d1855();}),_0x279614['focusTracker']['add'](this['view']['element']),_0x279614['focusTracker']['on']('change:isFocused',(_0x5cdacd,_0x12805a,_0x23751d)=>{_0x23751d||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 s extends _0x5a8039{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g 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": "44.0.0-alpha.1",
3
+ "version": "44.0.0-alpha.2",
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.11",
45
- "@ckeditor/ckeditor5-core": "44.0.0-alpha.1",
46
- "@ckeditor/ckeditor5-engine": "44.0.0-alpha.1",
47
- "@ckeditor/ckeditor5-operations-compressor": "44.0.0-alpha.1",
48
- "@ckeditor/ckeditor5-theme-lark": "44.0.0-alpha.1",
49
- "@ckeditor/ckeditor5-ui": "44.0.0-alpha.1",
50
- "@ckeditor/ckeditor5-utils": "44.0.0-alpha.1",
51
- "ckeditor5": "44.0.0-alpha.1",
52
- "ckeditor5-collaboration": "44.0.0-alpha.1",
45
+ "@ckeditor/ckeditor5-core": "44.0.0-alpha.2",
46
+ "@ckeditor/ckeditor5-engine": "44.0.0-alpha.2",
47
+ "@ckeditor/ckeditor5-operations-compressor": "44.0.0-alpha.2",
48
+ "@ckeditor/ckeditor5-theme-lark": "44.0.0-alpha.2",
49
+ "@ckeditor/ckeditor5-ui": "44.0.0-alpha.2",
50
+ "@ckeditor/ckeditor5-utils": "44.0.0-alpha.2",
51
+ "ckeditor5": "44.0.0-alpha.2",
52
+ "ckeditor5-collaboration": "44.0.0-alpha.2",
53
53
  "lodash-es": "4.17.21"
54
54
  },
55
55
  "types": "src/index.d.ts",