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

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 _0x558e27,Plugin as _0x374ea5,PendingActions as _0x59dc9e,Context as _0x246a29}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x310e36,CKEditorError as _0x41a852,Collection as _0x294023,global as _0x3cf216,version as nt,uid as _0x4c1ce3,KeystrokeHandler as _0x4bff21}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x209dbd,View as _0x379f83,ListView as _0x2ae42c,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xda1005,clickOutsideHandler as _0x170790,BodyCollection as _0xbf9b25}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x5cdc76,History as _0x35b00e,NoOperation as _0x242f8d,InsertOperation as _0x318272,MarkerOperation as _0x33bbe4,RootAttributeOperation as _0x54f1e4,transformOperationSets as _0xde98c3,OperationFactory as _0x50e2c6}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0xa6fb2f,User as lt,CommentsService as _0x5ba6a8,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x287641,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x55381b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x5a6ee3}from'es-toolkit/compat';class n extends _0x558e27{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x209dbd];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1673a0){super(_0x1673a0),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x310e36())();}['init'](){const _0x421f27=this['context'],_0x23f119=_0x421f27['plugins']['get']('CloudServices'),_0x418b2b=_0x421f27['plugins']['get'](_0x209dbd);if(!_0x23f119['token'])throw new _0x41a852('websocketgateway-missing-token',this);if(!_0x23f119['webSocketUrl'])throw new _0x41a852('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x23f119['token'],_0x23f119['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x477218=>{if(this['connection']=_0x477218,this['bind']('state')['to'](_0x477218,'state',this,'_isBrowserOffline',(_0x1a67c9,_0xeeabeb)=>('connected'!==_0x1a67c9&&(this['_shouldPluginsReconnect']=!0x0),_0xeeabeb||_0x1a67c9!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x1b536e,_0x20cf7e)=>{if('limitExceeded'!==_0x20cf7e['code'])throw console['error'](_0x20cf7e),new _0x41a852('cloudservices-init',null,{'originalError':_0x20cf7e});_0x418b2b['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x477218['me'])return new Promise(_0x34c219=>_0x477218['on']('change:me',_0x34c219));})['catch'](_0x4142d4=>{throw console['error'](_0x4142d4),new _0x41a852('cloudservices-init',null,{'originalError':_0x4142d4});});}['addToReconnectionStack'](_0x328a1f){if('function'!=typeof _0x328a1f['reconnect'])throw new _0x41a852('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x328a1f))throw new _0x41a852('websocketgateway-plugin-already-registered',this,{'name':_0x328a1f['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x328a1f);}['removeFromReconnectionStack'](_0x5bbff5){this['_reconnectionStack']['delete'](_0x5bbff5);}['isInReconnectionStack'](_0x40e55a){return this['_reconnectionStack']['has'](_0x40e55a);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3491f8=>_0x3491f8['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x4b3edb=>{throw console['error'](_0x4b3edb),new _0x41a852('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x558e27{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x287641];}constructor(_0x388d8d){super(_0x388d8d),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x294023(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x287641);}['init'](){const _0x65a8d0=this['context']['plugins']['get'](n);this['listenTo'](_0x65a8d0,'change:state',(_0x1f17be,_0xb22caa,_0x4fb461)=>{if('connected'!==_0x4fb461)this['channelSessions']['forEach'](_0x326e5a=>_0x326e5a['clear']()),this['channelConnectedUsers']['forEach'](_0x22add3=>_0x22add3['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xc45548,_0x3764e0]of this['_registeredSessions'])for(const _0x4d0aa9 of _0x3764e0)this['_handleSessionAdd'](_0xc45548,_0x4d0aa9);}}),this['_createUser'](_0x65a8d0['connection']['me'],!0x0);}['register'](_0x5bf990,_0x2e0d26){if(this['_registeredSessions']['has'](_0x5bf990))throw new _0x41a852('sessions-register-already-registered',null,{'channelId':_0x5bf990});this['_registeredSessions']['set'](_0x5bf990,_0x2e0d26),this['channelSessions']['set'](_0x5bf990,new _0x294023()),this['channelConnectedUsers']['set'](_0x5bf990,new _0x294023()),this['listenTo'](_0x2e0d26,'add',(_0x2c6f2c,_0x47276e)=>this['_handleSessionAdd'](_0x5bf990,_0x47276e)),this['listenTo'](_0x2e0d26,'remove',(_0x36549b,_0x7a1252)=>this['_handleSessionRemove'](_0x5bf990,_0x7a1252));for(const _0x2d112e of _0x2e0d26)this['_handleSessionAdd'](_0x5bf990,_0x2d112e);}['unregister'](_0x2a3fc1){if(!this['_registeredSessions']['has'](_0x2a3fc1))throw new _0x41a852('sessions-unregister-not-exist',null,{'channelId':_0x2a3fc1});const _0x3ff9bd=this['_registeredSessions']['get'](_0x2a3fc1);this['stopListening'](_0x3ff9bd);for(const _0x336603 of _0x3ff9bd)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2a3fc1,_0x336603);this['_registeredSessions']['delete'](_0x2a3fc1),this['channelSessions']['delete'](_0x2a3fc1),this['channelConnectedUsers']['delete'](_0x2a3fc1);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x236ec0){for(const _0x4d2d74 of this['channelSessions']['values']())for(const _0x4705be of _0x4d2d74)if(_0x4705be['id']===_0x236ec0)return _0x4705be['user'];}['getUserSessions'](_0x285c0b,_0x1a1859){const _0x3d942e=_0x1a1859?[this['channelSessions']['get'](_0x1a1859)]:this['channelSessions']['values'](),_0x264802=new Set();for(const _0x53a7ec of _0x3d942e)for(const _0x58cdc4 of _0x53a7ec)_0x58cdc4['user']['id']===_0x285c0b['id']&&_0x264802['add'](_0x58cdc4['id']);return _0x264802;}['getUserRole'](_0x57fe71){for(const _0x15116c of this['channelSessions']['values']())for(const _0x4107b7 of _0x15116c)if(_0x4107b7['user']===_0x57fe71)return _0x4107b7['role'];}['_handleSessionAdd'](_0x5323bd,_0x45eec9){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x52c767=_0x45eec9['user'],_0x26d665=this['_users']['getUser'](_0x52c767['id'])||this['_createUser'](_0x52c767),_0x39a718=Object['assign']({},_0x45eec9,{'user':_0x26d665});if(this['channelSessions']['get'](_0x5323bd)['add'](_0x39a718),!_0x52c767['hiddenInPresenceList']){const _0x174ce8=this['channelConnectedUsers']['get'](_0x5323bd);_0x174ce8['has'](_0x26d665['id'])||_0x174ce8['add'](_0x26d665),this['allConnectedUsers']['has'](_0x26d665['id'])||_0x52c767['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x26d665,_0x26d665['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5323bd,{'channelId':_0x5323bd,'session':_0x39a718});}['_handleSessionRemove'](_0x162197,_0x14dc7a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x13afa3=this['channelConnectedUsers']['get'](_0x162197),_0x44a60b=_0x14dc7a['user'];_0x44a60b['id']&&(this['channelSessions']['get'](_0x162197)['remove'](_0x14dc7a['id']),_0x13afa3['has'](_0x44a60b['id'])&&!this['getUserSessions'](_0x44a60b,_0x162197)['size']&&_0x13afa3['remove'](_0x44a60b['id']),this['allConnectedUsers']['get'](_0x44a60b['id'])&&!this['getUserSessions'](_0x44a60b)['size']&&this['allConnectedUsers']['remove'](_0x44a60b['id']));}['_createUser'](_0x458327,_0x10945b){const _0x5f31de=this['_users']['addUser'](_0x458327);return _0x10945b&&this['_users']['defineMe'](_0x458327['id']),_0x5f31de['orderNumber']=this['_uniqueUsersCount']++,_0x5f31de;}}class H extends _0x374ea5{['_domEmitter']=new(_0x310e36())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1ecb39=this['editor'],_0x410d6e=_0x1ecb39['plugins']['get'](i);_0x1ecb39['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3711ca,{writer:_0x22cb11})=>function(_0x4a501b,_0x39f9b1,_0x1b669d,_0x5a04ec){const _0x139433=_0x4a501b['markerName']['split'](':')[0x2],_0x52aeb9=_0x1b669d['getUserBySessionId'](_0x139433);if(!_0x52aeb9||_0x139433===_0x1b669d['mySessionId'])return;if(!_0x5a04ec['model']['schema']['checkChild'](_0x4a501b['markerRange']['start'],'$text'))return;const _0x4a7c7a={'class':'ck-user__marker\x20'+_0x52aeb9['color']['getMarkerClass'](),'data-name':_0x52aeb9['name'],'data-session-id':_0x139433},_0x2f37ea=_0x5a04ec['model']['markers']['get'](_0x4a501b['markerName']),_0x245c12=_0x2f37ea['getStart'](),_0x594171=_0x245c12['nodeAfter'],_0x28f624=_0x5a04ec['model']['schema'];if(_0x594171&&_0x28f624['isObject'](_0x594171)&&_0x28f624['isInline'](_0x594171)&&!_0x5a04ec['model']['markers']['get']('user:range:'+_0x139433)['getRange']()['isCollapsed'])return;const _0x5a84ad=_0x245c12['parent'];return _0x5a04ec['model']['schema']['isLimit'](_0x5a84ad)&&!_0x5a04ec['model']['hasContent'](_0x5a84ad)&&(_0x4a7c7a['contenteditable']=!0x1),function(_0x4b0cee,_0x5b943e,_0x2484ed){const _0x3a034d=_0x4b0cee['createUIElement']('span',_0x5b943e);return _0x4b0cee['setCustomProperty']('userPositionMarker',!0x0,_0x3a034d),_0x3a034d['render']=function(_0x114870){const _0xa26b3d=this['toDomElement'](_0x114870),_0x264102=document['createElement']('span');return _0x264102['classList']['add']('ck-user__marker-tooltip'),_0x264102['setAttribute']('contenteditable','false'),_0x264102['setAttribute']('spellcheck','false'),_0x264102['textContent']=_0x2484ed['name'],_0xa26b3d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x264102['outerHTML']+'⁠',_0xa26b3d['addEventListener']('mouseenter',()=>{_0xa26b3d['classList']['add']('ck-user__marker_hovered');}),_0xa26b3d['addEventListener']('mouseleave',()=>{_0xa26b3d['classList']['remove']('ck-user__marker_hovered');}),_0xa26b3d;},_0x3a034d['isSimilar']=function(_0x1e6f65){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1e6f65['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1e6f65['getAttribute']('data-session-id'));},_0x3a034d;}(_0x39f9b1,_0x4a7c7a,_0x52aeb9);}(_0x3711ca,_0x22cb11,_0x410d6e,_0x1ecb39)}),_0x1ecb39['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x514421=>function(_0x5608e5,_0x2e800d){const _0x20fba5=_0x5608e5['markerName']['split'](':')[0x2];if(_0x20fba5===_0x2e800d['mySessionId'])return null;const _0x146197=_0x2e800d['getUserBySessionId'](_0x20fba5);if(!_0x146197)return{'id':_0x20fba5,'classes':[]};return{'id':_0x20fba5,'classes':['ck-user__selection',_0x146197['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x20fba5},'priority':0x7d0+_0x146197['orderNumber']};}(_0x514421,_0x410d6e)}),function(_0xed9803){const _0x150782=_0xed9803['model'],_0x340678=new Map(),_0xc8f351=_0xed9803['plugins']['get'](i);_0x150782['markers']['on']('update:user:range',(_0x4caf96,_0x207230,_0x5e536a,_0xcdb7e3)=>{if(!_0xcdb7e3&&_0x340678['get'](_0x207230['name']))return _0x340678['get'](_0x207230['name'])['detach'](),void _0x340678['delete'](_0x207230['name']);const _0x45e5e7=_0x207230['name']['split'](':')[0x2];if(_0x45e5e7===_0xc8f351['mySessionId'])return;const _0x478332='user:position:'+_0x45e5e7;_0x150782['markers']['has'](_0x478332)&&_0xed9803['editing']['reconvertMarker'](_0x478332),_0x207230['on']('change:range',(_0x1bfe5f,_0x2a6047,_0x3ec9f9)=>{if('$graveyard'!=_0x2a6047['root']['rootName']&&'$graveyard'==_0x207230['getRange']()['root']['rootName']&&!_0x340678['has'](_0x207230['name'])){const _0x599c40=_0x150782['schema']['getNearestSelectionRange'](_0x3ec9f9['deletionPosition']);if(_0x599c40){const _0x3ba48f=_0x5cdc76['fromRange'](_0x599c40);_0x340678['set'](_0x207230['name'],_0x3ba48f),_0x3ba48f['on']('change:range',(_0x5cb760,_0x1d46c6,_0x5542d8)=>{if('$graveyard'==_0x3ba48f['root']['rootName']){const _0x191cf2=_0x150782['schema']['getNearestSelectionRange'](_0x5542d8['deletionPosition']);_0x191cf2?(_0x3ba48f['start']=_0x191cf2['start'],_0x3ba48f['end']=_0x191cf2['end']):(_0x340678['delete'](_0x207230['name']),_0x3ba48f['detach']());}});}}});}),_0x150782['document']['on']('change',()=>{_0x340678['size']>0x0&&_0x150782['enqueueChange']({'isUndoable':!0x1},_0x49be12=>{for(const [_0x923f75,_0x4269b5]of _0x340678)'$graveyard'==_0x150782['markers']['get'](_0x923f75)['getRange']()['root']['rootName']&&(Z(_0x923f75['split'](':')[0x2],_0x4269b5['toRange'](),_0x150782,_0x49be12),_0x4269b5['detach']());_0x340678['clear']();});});}(_0x1ecb39),this['_domEmitter']['listenTo'](_0x3cf216['document'],'keydown',(_0x36e25e,{key:_0x7a01f2})=>{'Escape'===_0x7a01f2&&function(_0xafbbee){_0xafbbee['editing']['view']['change'](_0x2a3897=>{for(const _0x31b431 of _0xafbbee['model']['markers']){if(!_0x31b431['name']['startsWith']('user:position'))continue;const _0x437b66=_0xafbbee['editing']['mapper']['markerNameToElements'](_0x31b431['name']);if(_0x437b66){for(const _0x240b37 of _0x437b66)_0x2a3897['removeClass']('ck-user__marker_hovered',_0x240b37);}}});}(_0x1ecb39);},{'useCapture':!0x0});}['afterInit'](){const _0x6c4953=this['editor'],_0xe29c49=_0x6c4953['commands']['get']('undo');_0xe29c49&&_0x6c4953['model']['on']('applyOperation',(_0x26f57e,_0x16329f)=>{const _0x6af61e=_0x16329f[0x0];if(!_0x6af61e['isDocumentOperation'])return;if('marker'!=_0x6af61e['type']||!_0x6af61e['name']['startsWith']('user:'))return;const _0x5eb1df=_0x6af61e['batch'];_0xe29c49['_createdBatches']['has'](_0x5eb1df)&&(_0x6af61e['newRange']=_0x6af61e['oldRange']?_0x6c4953['model']['createRange'](_0x6af61e['oldRange']['start'],_0x6af61e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3778ee=this['editor'],_0x18b16f=_0x3778ee['model']['document'],_0x46c53d=_0x3778ee['plugins']['get'](i);_0x3778ee['model']['enqueueChange']({'isUndoable':!0x1},_0x2c4827=>{const _0x2f84d9='user:range:'+_0x46c53d['mySessionId'],_0x5d609c='user:position:'+_0x46c53d['mySessionId'],_0x5de9b7=_0x3778ee['model']['markers']['has'](_0x2f84d9);_0x3778ee['editing']['view']['hasDomSelection']?Z(_0x46c53d['mySessionId'],_0x18b16f['selection']['getFirstRange'](),_0x3778ee['model'],_0x2c4827):_0x5de9b7&&(_0x2c4827['removeMarker'](_0x2f84d9),_0x2c4827['removeMarker'](_0x5d609c));});}}function Z(_0x3241ed,_0x3ff525,_0x286b1d,_0x3f7d78){const _0x180311='user:range:'+_0x3241ed,_0x5ef08b='user:position:'+_0x3241ed,_0x44b7a2=_0x3ff525['getContainedElement']();let _0x17628b=_0x3ff525['start'];if(_0x44b7a2&&_0x44b7a2['is']('element','tableCell')){const _0x206df1=function(_0x18b311,_0x7e93c7){for(const _0x54c906 of _0x18b311['getPositions']())if(_0x7e93c7['schema']['checkChild'](_0x54c906,'$text'))return _0x54c906;}(_0x3ff525,_0x286b1d);_0x206df1&&(_0x17628b=_0x206df1,_0x3ff525=_0x3f7d78['createRange'](_0x17628b));}const _0x524e6c=_0x3f7d78['createRange'](_0x17628b);_0x286b1d['markers']['has'](_0x180311)?(_0x3f7d78['updateMarker'](_0x180311,{'range':_0x3ff525}),_0x3f7d78['updateMarker'](_0x5ef08b,{'range':_0x524e6c})):(_0x3f7d78['addMarker'](_0x180311,{'range':_0x3ff525,'usingOperation':!0x0}),_0x3f7d78['addMarker'](_0x5ef08b,{'range':_0x524e6c,'usingOperation':!0x0}));}function V(_0x1ec9d1,_0x2bcdcd,_0x106d68){const _0x22f4fa=_0x1ec9d1['t'],t=_0x1ec9d1['t'];switch(_0x2bcdcd){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x22f4fa({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x106d68);default:return'';}}let G=0x1;class l extends _0x374ea5{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0xa6fb2f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x59dc9e,_0x287641,_0x209dbd];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x4d7795=this['serverHistory']['getOperations']();for(let _0x4ddc6c=_0x4d7795['length']-0x1;_0x4ddc6c>=0x0;_0x4ddc6c--){const _0x3ea3d2=_0x4d7795[_0x4ddc6c];if(!this['_disconnectionOperations']['has'](_0x3ea3d2))return _0x3ea3d2['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5a2c20){if(super(_0x5a2c20),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x35b00e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x41a852('collaboration-missing-channelid',this);const _0x839722=_0x5a2c20['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x839722,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x55381b(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x3e5d5d=this['editor'],_0x2de55a=_0x3e5d5d['plugins']['get'](_0x287641),_0x3c3173=_0x3e5d5d['plugins']['get'](n);this['listenTo'](_0x2de55a,'getOperationAuthor',(_0x1c7e2b,_0x2fecce)=>{const _0x513c73=_0x2fecce[0x0];_0x513c73['_authorId']&&(_0x1c7e2b['return']=_0x2de55a['getUser'](_0x513c73['_authorId']),_0x1c7e2b['stop']()),null===_0x513c73['_authorId']&&(_0x1c7e2b['return']=null,_0x1c7e2b['stop']());},{'priority':'high'}),this['listenTo'](_0x3e5d5d['model']['document']['selection'],'change:range',(_0x1e2479,_0x37df70)=>{_0x37df70['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3e5d5d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3e5d5d['model']['on']('applyOperation',(_0x185a94,_0x170841)=>{const _0x3746db=_0x170841[0x0];_0x3746db['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3746db),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3c3173,'state',this,'_hasSynchronizationProblem',(_0x26865c,_0x3b7d6c)=>'connected'===_0x26865c&&!_0x3b7d6c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3e5d5d['disableReadOnlyMode']('rtc-offline'):_0x3e5d5d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3e5d5d['disableReadOnlyMode']('rtc-offline'):_0x3e5d5d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x227783=this['editor']['plugins']['get'](i),_0x2daf1e=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x227783['unregister'](this['_channelId']);const _0xf4b9e8=await this['_service']['reconnect'](_0x2daf1e['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xf4b9e8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x17ea67=await this['_service']['getConnectedSessions']();_0x227783['register'](this['_channelId'],_0x17ea67),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4f84a8){if(function(_0x519cd5){return'404'===_0x519cd5['code'];}(_0x4f84a8)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3861ad){return'409'===_0x3861ad['code'];}(_0x4f84a8)){const _0x2e2289=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x2e2289);}else{if(!(_0x4f84a8 instanceof $))throw _0x4f84a8;this['_handleReconnectionError']();}}}}['destroy'](){const _0x482707=this['editor']['plugins']['get'](n),_0x34f898=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x34f898['channelSessions']['has'](this['_channelId'])&&_0x34f898['unregister'](this['_channelId']),_0x482707['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xb911b8){if(this['sessionId']!==_0xb911b8['sessionId']&&this['_lastSyncedOperationId']!==_0xb911b8['lastOperationId'])throw new $();return this['sessionId']=_0xb911b8['sessionId'],this['_handleServerResponse']([],{..._0xb911b8,'wereChangesApplied':!0x1,'data':_0xb911b8['data']},'reconnect');}async['_connectService'](_0x2ad29a,_0x43b16c=!0x1){const {connection:_0x199a45}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x199a45,this['_channelId'])['then'](_0x520222=>this['_initSessionsHandling'](_0x520222))['catch'](_0x48447c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x48447c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x585d5c,_0x2fec98)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2fec98);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3c2c5f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2ad29a);this['_isPendingUpdate']=!0x0;const _0x3f0a2d=await this['_service']['connect'](_0x199a45,this['_compressOperations'](_0x2ad29a),_0x3c2c5f);if(this['sessionId']=_0x3f0a2d['sessionId'],_0x43b16c){if(!_0x3f0a2d['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3f0a2d['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2ad29a,_0x3f0a2d,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3f0a2d,_0x2ad29a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x25c247=this['editor']['plugins']['get'](i),_0x168467=this['editor']['plugins']['get'](H),_0x4fb333=_0x25c247['channelSessions']['get'](this['_channelId']);_0x4fb333&&_0x4fb333['length']>0x1?_0x168467['createUserMarkerOperations']():this['listenTo'](_0x25c247,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25c247['channelSessions']['get'](this['_channelId'])['length']&&_0x168467['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3db188,_0x2757d9,_0x43d4ee,_0x12282b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2757d9){const _0x26e5d4=this['_decompressOperations'](_0x43d4ee,_0x12282b);await this['_fetchMissingUsers'](_0x26e5d4),this['_handleExternalOperations'](_0x26e5d4,_0x2757d9,_0x43d4ee['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xf56a1f}=this['editor'];let _0x535aa4;try{_0x535aa4=await this['_service']['getDocumentDetails']();}catch{const _0x21d581=V(_0xf56a1f,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x21d581);}const _0x49ce5e=_0x535aa4['currentDocumentSession']||_0x535aa4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x49ce5e['lastOperationId']){const _0x521e2e=V(_0xf56a1f,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x521e2e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x5b113e){const _0x2f9d64=this['editor']['plugins']['get'](i);this['listenTo'](_0x2f9d64,'sessionAdd:'+this['_channelId'],(_0x555199,{session:_0x2a5877})=>{if(_0x2a5877['id']===_0x2f9d64['mySessionId']){_0x555199['off']();const _0x10f890=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5ecb0d=_0x2a5877['permissions'];_0x10f890&&_0x10f890['isEnabled']&&(_0x5ecb0d=_0x5ecb0d['filter'](_0x4a146f=>'document:write'!==_0x4a146f)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5ecb0d,this['_channelId']);}}),_0x2f9d64['register'](this['_channelId'],_0x5b113e);}['_initThrowingOnDataSet'](){const _0x46e3e2=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xc247e)=>{if(!_0xc247e[_0xc247e['length']-0x1]['suppressErrorInCollaboration'])throw new _0x41a852('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x46e3e2['apply'](this['editor']['data'],_0xc247e);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xaf1eca,[_0x369c7c])=>{if(this['_document']['version'])throw new _0x41a852('realtimecollaborationclient-init-document-already-initialized',this);_0xaf1eca['stop'](),this['_setPendingAction']();const _0x489466=this['editor']['config']['get']('rootsAttributes'),_0x1bb9c0=this['_getOperationsFromInitData'](_0x369c7c,_0x489466);0x0==_0x1bb9c0['length']&&_0x1bb9c0['push'](new _0x242f8d(0x0)),_0xaf1eca['return']=this['_connectService'](_0x1bb9c0)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x6b31ba=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x6b31ba))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x408486,[_0x3b2d41,_0x36d789])=>{_0x408486['stop']();const _0x25a8ff=this['editor']['model']['document']['getRoot'](_0x3b2d41);if(!this['_knownRootNames']['has'](_0x3b2d41)){const _0x2e99a9=_0x36d789&&_0x36d789['data']?_0x36d789['data']:'',_0x303849=_0x36d789&&_0x36d789['attributes']?_0x36d789['attributes']:{};await this['_loadRoot'](_0x3b2d41,_0x2e99a9,_0x303849);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x25a8ff['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x25a8ff);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x32fe1b){const _0x131f84=this['editor']['plugins']['get'](_0x287641),{connection:_0x13bf70}=this['editor']['plugins']['get'](n),_0x4e0b81=new Set();for(const _0x31da2e of _0x32fe1b){const _0xfcdb78=_0x31da2e['_authorId'];_0xfcdb78&&!_0x131f84['getUser'](_0xfcdb78)&&_0x4e0b81['add'](_0xfcdb78);}if(0x0===_0x4e0b81['size'])return;const _0x52f4ba=await lt['getMany'](_0x13bf70,Array['from'](_0x4e0b81));for(const _0x5ae61f of _0x52f4ba)_0x131f84['getUser'](_0x5ae61f['id'])||_0x131f84['addUser'](_0x5ae61f);}['_getOperationsFromInitData'](_0x5e9a24,_0xb53ec4={}){const _0x3d9702=this['editor']['model'],_0x37a7c0=[];let _0x4289d7=0x0;const _0x2c9125='string'==typeof _0x5e9a24?{'main':_0x5e9a24}:_0x5e9a24;for(const _0x2f6952 of Object['keys'](_0x2c9125)){if(!this['_document']['roots']['has'](_0x2f6952))throw new _0x41a852('realtimecollaborationclient-init-non-existent-root',this);const _0x1f3cfd=this['editor']['data']['parse'](_0x2c9125[_0x2f6952]),_0x1c3c14=this['_document']['getRoot'](_0x2f6952),_0x51da80=new _0x318272(_0x3d9702['createPositionAt'](_0x1c3c14,0x0),_0x1f3cfd,_0x4289d7++);_0x37a7c0['push'](_0x51da80);for(const [_0x1785e9,_0x500b7e]of _0x1f3cfd['markers']){const _0x577d0f=_0x3d9702['createRange'](_0x3d9702['createPositionFromPath'](_0x1c3c14,_0x500b7e['start']['path']['slice']()),_0x3d9702['createPositionFromPath'](_0x1c3c14,_0x500b7e['end']['path']['slice']())),_0x2e248b=new _0x33bbe4(_0x1785e9,null,_0x577d0f,_0x3d9702['markers'],!0x0,_0x4289d7++);_0x37a7c0['push'](_0x2e248b);}}if(_0xb53ec4)for(const [_0x5474cc,_0x2c7d80]of Object['entries'](_0xb53ec4)){const _0x2f21fc=_0x3d9702['document']['getRoot'](_0x5474cc);if(!_0x2f21fc)throw new _0x41a852('multi-root-editor-root-attributes-no-root',null);for(const [_0x1ff315,_0x167c5c]of Object['entries'](_0x2c7d80))if(null!==_0x167c5c){const _0x2c2347=new _0x54f1e4(_0x2f21fc,_0x1ff315,null,_0x167c5c,_0x4289d7++);_0x37a7c0['push'](_0x2c2347);}}return _0x37a7c0;}async['_loadRoot'](_0xc02b9,_0x3910e2,_0xb88393){this['_getOperationsFromInitData']({[_0xc02b9]:_0x3910e2},{[_0xc02b9]:_0xb88393})['forEach']((_0x27267b,_0x4ab1a3)=>{_0x27267b['baseVersion']=this['_document']['version']+_0x4ab1a3,_0x27267b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x27267b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x31e579,_0x37d809){let _0x438e8f;this['_offset']=_0x31e579['offset'];const _0x57e32d=_0x31e579['wereChangesApplied']&&!_0x31e579['initData'],_0x4d289c=_0x57e32d?0x0:_0x31e579['data']['baseVersion'];if(_0x37d809['forEach'](_0x3247f3=>{_0x3247f3['_isInit']=!0x0,_0x3247f3['createdAt']=_0x31e579['sessionCreatedAt'],_0x3247f3['_authorId']=null;}),_0x57e32d)_0x438e8f=_0x37d809,this['_applyOperationsSet'](_0x438e8f,_0x57e32d);else{if(_0x31e579['initData']){const _0x369199=this['_getOperationsFromInitData'](_0x31e579['initData']);this['_document']['history']['version']=-_0x369199['length'],_0x369199['forEach'](_0x2b36d8=>{_0x2b36d8['baseVersion']-=_0x369199['length'],_0x2b36d8['createdAt']=_0x31e579['sessionCreatedAt'],_0x2b36d8['_isInit']=!0x0,_0x2b36d8['_authorId']=null;}),this['_applyOperationsSet'](_0x369199,!0x0),this['serverHistory']['version']=-_0x369199['length']+this['_offset'],this['_updateServerHistory'](_0x369199);}this['_document']['history']['version']=_0x4d289c,_0x438e8f=this['_decompressOperations'](_0x31e579['data'],_0x31e579['metadata']),await this['_fetchMissingUsers'](_0x438e8f),this['_applyOperationsSet'](_0x438e8f,_0x57e32d);}_0x31e579['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x438e8f,_0x31e579['lastOperationId']),this['_lastSyncedOperationId']=_0x31e579['lastOperationId']),this['serverHistory']['version']=_0x4d289c+this['_offset'],this['_updateServerHistory'](_0x438e8f),_0x37d809['filter'](_0xd64a1f=>{const _0x5dc554=this['_getAffectedRoot'](_0xd64a1f);return _0x5dc554&&!this['_knownRootNames']['has'](_0x5dc554);})['forEach']((_0x1f6694,_0x3d2cbf)=>{_0x1f6694['baseVersion']=this['_document']['version']+_0x3d2cbf,this['_saveOperationInBuffer'](_0x1f6694);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x29e1e9,_0x4e24ea){const _0x4ac5c1=_0x4e24ea&&_0x4e24ea['message'];if(_0x4ac5c1&&_0x4ac5c1['startsWith']('realtimecollaborationclient'))throw _0x4e24ea;const _0x1e42a2=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x1e42a2['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x41a852(_0x29e1e9,this['editor'],_0x4ac5c1?{'originalError':_0x4ac5c1}:void 0x0);}['_saveOperationInBuffer'](_0x4716ae){this['_knownOperations']['has'](_0x4716ae)||(this['_knownOperations']['add'](_0x4716ae),this['_bufferedOperations']['push'](_0x4716ae),this['_pendingAction']||'marker'==_0x4716ae['type']&&!_0x4716ae['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xbcd8d5=!0x1){!_0xbcd8d5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x26ad05=>{_0x26ad05&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2d21f7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x41fe7f){return _0x41fe7f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x41fe7f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x41fe7f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2d21f7)||this['_crash'](_0x2d21f7['message'],_0x2d21f7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5bf126=>{this['on']('change:_isPendingUpdate',()=>{_0x5bf126();});});}async['_sendBufferedOperations'](){const _0x506919=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x506919['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5a4fd3=[...this['_bufferedOperations']];for(const _0xa87873 of _0x5a4fd3)_0xa87873['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xa87873);const _0x3970bb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a4fd3),_0x550a31=G++,_0x2e3ebe=this['_compressOperations'](_0x5a4fd3),_0x49a41a=await this['_service']['sendOperations'](_0x2e3ebe,_0x2e3ebe['baseVersion'],_0x3970bb);try{return await this['_handleServerResponse'](_0x5a4fd3,_0x49a41a,_0x550a31);}catch(_0x1bf303){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1bf303);}}async['_handleServerResponse'](_0x3ef0d6,_0x2bdee2,_0x4c3b85){if('error'in _0x2bdee2)throw _0x2bdee2['error'];let _0x20cd2=!0x1;if(_0x2bdee2['wereChangesApplied']){_0x2bdee2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2bdee2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2e760d=>!_0x3ef0d6['includes'](_0x2e760d));for(const _0x3fb4fa of _0x3ef0d6)_0x3fb4fa['createdAt']='lastOperationAcceptedAt'in _0x2bdee2&&_0x2bdee2['lastOperationAcceptedAt']||void 0x0;K(_0x3ef0d6,_0x2bdee2['version']-_0x3ef0d6['length']),this['_updateServerHistory'](_0x3ef0d6);const _0x21a2c1=_0x3ef0d6['filter'](_0x5c760d=>{if(!_0x5c760d['_isInit'])return!0x1;const _0x440536=this['_getAffectedRoot'](_0x5c760d);return _0x440536&&!this['_knownRootNames']['has'](_0x440536);});K(_0x21a2c1,this['_document']['version']),this['_applyOperationsSet'](_0x21a2c1),_0x20cd2=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x419da2=this['_decompressOperations'](_0x2bdee2['data'],_0x2bdee2['metadata'])['filter'](_0x32a93e=>_0x32a93e['baseVersion']>=this['_lastServerVersion']);_0x419da2['forEach'](_0x1fe103=>this['_addKnownRoot'](_0x1fe103)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2a3cbf=>!_0x2a3cbf['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2a3cbf))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x419da2),_0x20cd2=this['_handleExternalOperations'](_0x419da2,_0x2bdee2['version'],_0x2bdee2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x20cd2?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x146034,_0x348ac4,_0x4aa2bb){try{const _0x42d7f9={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2be823,operationsB:_0x5b3d99,originalOperations:_0x4da1c4}=_0xde98c3(_0x146034,this['_bufferedOperations'],_0x42d7f9);K(_0x2be823,this['_document']['version']),K(_0x5b3d99,_0x348ac4);for(const _0x4037ec of _0x2be823){const _0x559b77=_0x4da1c4['get'](_0x4037ec);_0x4037ec['_authorId']=_0x559b77?_0x559b77['_authorId']:null;}_0x4aa2bb&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x146034,_0x4aa2bb),this['_lastSyncedOperationId']=_0x4aa2bb),this['_bufferedOperations']=[..._0x5b3d99],this['_applyOperationsSet'](_0x2be823),this['_updateServerHistory'](_0x146034);}catch(_0x3f06b0){return console['error'](_0x3f06b0),!0x1;}return!0x0;}['_applyOperationsSet'](_0x41e0b4,_0x5af848=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x475f4b=>{for(const _0x509da6 of _0x41e0b4)this['_knownOperations']['add'](_0x509da6),this['_addKnownRoot'](_0x509da6),_0x475f4b['batch']['addOperation'](_0x509da6),this['editor']['model']['applyOperation'](_0x509da6);});}['_addKnownRoot'](_0x2864b3){const _0x41aaf4=this['_getAffectedRoot'](_0x2864b3);_0x41aaf4&&this['_knownRootNames']['add'](_0x41aaf4);}['_getAffectedRoot'](_0x2bb30c){let _0x1620ce,_0x2c2af2;switch(_0x2bb30c['type']){case'insert':_0x1620ce=_0x2bb30c['position']['root'];break;case'marker':if(_0x2c2af2=_0x2bb30c['newRange'],!_0x2c2af2)return null;_0x1620ce=_0x2c2af2['root'];break;case'addRootAttribute':_0x1620ce=_0x2bb30c['root'];break;case'addRoot':_0x1620ce=_0x2bb30c['affectedSelectable'];break;case'move':_0x1620ce=_0x2bb30c['targetPosition']['root'];break;default:return null;}return _0x1620ce['rootName'];}['_updateServerHistory'](_0x551193){_0x551193['forEach'](_0x4581da=>{const _0x58b069=_0x4581da['clone']();_0x58b069['_authorId']=_0x4581da['_authorId'],_0x58b069['_isInit']=!!_0x4581da['_isInit'],_0x58b069['createdAt']=_0x4581da['createdAt'],_0x58b069['baseVersion']+=this['_offset'],_0x4581da['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x58b069),this['serverHistory']['addOperation'](_0x58b069);});}['_handleReconnectionError'](_0x45a9a9){const _0x5b9a96=this['editor']['plugins']['get']('Notification'),_0x830ad1=this['editor']['locale'];_0x45a9a9||(_0x45a9a9=V(_0x830ad1,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x5b9a96['showWarning'](_0x45a9a9,{'title':V(_0x830ad1,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x59dc9e)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x59dc9e)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x45ade2){const _0x34cc95=_0x45ade2['map'](_0x5bb755=>_0x5bb755['toJSON']());return this['_compressor']['compress'](_0x34cc95);}['_decompressOperations'](_0x7514,_0x34c634){return this['_compressor']['decompress'](_0x7514)['map']((_0x295899,_0x509188)=>{const _0x1892b5='init'==_0x34c634[_0x509188]['type'];if('InsertOperation'==_0x295899['__className']){const _0x4cdb0e=_0x295899['position']['root'];!this['_document']['getRoot'](_0x4cdb0e)&&(this['_document']['createRoot']('$root',_0x4cdb0e)['_isAttached']=!0x1);}const _0x255ec5=_0x50e2c6['fromJSON'](_0x295899,this['_document']);return _0x255ec5['wasUndone']=_0x295899['wasUndone'],_0x255ec5['_isInit']=_0x1892b5,_0x255ec5['_authorId']=_0x1892b5?null:_0x34c634[_0x509188]['userId'],_0x255ec5['_isDisconnection']='cs:removeUser'===_0x34c634[_0x509188]['type'],_0x255ec5['createdAt']=_0x34c634[_0x509188]['createdAt'],_0x255ec5;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x277114=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x277114&&_0x277114['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x4d6122,_0x401272){for(const _0x57e4f9 of _0x4d6122)_0x57e4f9['baseVersion']=_0x401272++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x5d8ac6){this['_ignoredOperations']=_0x5d8ac6,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xba5741){let _0xdcfa8b=_0xba5741['length'];for(;_0xdcfa8b--;){const _0x380669=_0xba5741[_0xdcfa8b];if(!this['_ignoredOperations']['has'](_0x380669)){if(!this['_operationToId']['has'](_0x380669)){const _0x3ad3db=_0x4c1ce3()['slice'](0x1,0x12);this['_operationToId']['set'](_0x380669,_0x3ad3db);}return this['_operationToId']['get'](_0x380669);}}}['setIdForTheLastOperation'](_0x3d7fcb,_0x187170){if(!_0x187170)return;let _0x4ba484=_0x3d7fcb['length'];for(;_0x4ba484--;){const _0x2a599f=_0x3d7fcb[_0x4ba484];this['_ignoredOperations']['has'](_0x2a599f)||this['_operationToId']['set'](_0x2a599f,_0x187170);}}}class a extends _0x374ea5{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x558e27{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x5ba6a8)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x287641];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x55e6a6){super(_0x55e6a6),this['_services']=new Map();}async['init'](){const _0x498d25=this['context'],_0x1715f4=_0x498d25['plugins']['get']('CommentsRepository');if(_0x498d25['plugins']['get'](n)['addToReconnectionStack'](this),_0x1715f4['adapter']={'addCommentThread':async({channelId:_0xf44b4b,threadId:_0x36027d,comments:_0x425db2,resolvedAt:_0x5536c3,resolvedBy:_0x85d4ea,context:_0x309df4,attributes:_0x1660d8})=>{const _0x2fb4ef=await this['_getService'](_0xf44b4b)['addCommentThread']({'commentThreadId':_0x36027d,'comments':_0x425db2['map'](_0x5e9cbc=>function(_0x46dcae,_0x210fc6,_0x2f1809){return{'commentThreadId':_0x2f1809,'commentId':_0x46dcae['commentId'],'userId':_0x46dcae['authorId'],'content':_0x46dcae['content'],'documentId':_0x210fc6,'createdAt':_0x46dcae['createdAt'],'attributes':_0x46dcae['attributes']||{}};}(_0x5e9cbc,_0xf44b4b,_0x36027d)),'resolvedAt':_0x5536c3,'resolvedBy':_0x85d4ea,'context':_0x309df4,'attributes':_0x1660d8})['catch'](dt);return{'threadId':_0x2fb4ef['commentThreadId'],'comments':_0x2fb4ef['comments']};},'getCommentThread':async({channelId:_0x3e70ec,threadId:_0x20ef8c})=>{const _0x1db650=await this['_getService'](_0x3e70ec)['getCommentThread'](_0x20ef8c)['catch'](F)['catch'](dt);return _0x1db650?_0x1db650['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1db650]),{'threadId':_0x1db650['commentThreadId'],'comments':_0x1db650['comments']['map'](S),'context':_0x1db650['context'],'resolvedAt':_0x1db650['resolvedAt'],'resolvedBy':_0x1db650['resolvedBy'],'attributes':_0x1db650['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1877b1,threadId:_0x260d93,context:_0x3d1e3c,unlinkedAt:_0x22cc92,attributes:_0x46bc84})=>this['_getService'](_0x1877b1)['updateCommentThread']({'commentThreadId':_0x260d93,'context':_0x3d1e3c,'attributes':_0x46bc84,'unlinkedAt':_0x22cc92})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x4730c7,threadId:_0x4c5e9c})=>{const _0x43ac64=await this['_getService'](_0x4730c7)['resolveCommentThread'](_0x4c5e9c)['catch'](F)['catch'](dt);return{'threadId':_0x43ac64['commentThreadId'],'resolvedAt':_0x43ac64['resolvedAt'],'resolvedBy':_0x43ac64['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1dfe47,threadId:_0x3dcc9c})=>this['_getService'](_0x1dfe47)['reopenCommentThread'](_0x3dcc9c)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x1bf19d,threadId:_0x6ba2f7})=>this['_getService'](_0x1bf19d)['removeCommentThread'](_0x6ba2f7)['catch'](F)['catch'](dt),'addComment':({channelId:_0x19d8ef,threadId:_0x16d289,commentId:_0x46bb37,content:_0x3eb950,attributes:_0x501cb6})=>this['_getService'](_0x19d8ef)['addComment'](_0x16d289,_0x46bb37,_0x3eb950,_0x501cb6)['catch'](dt),'updateComment':({channelId:_0x39189d,threadId:_0x48abd2,commentId:_0x5d5ef9,content:_0x8ea223,attributes:_0x7e2821})=>this['_getService'](_0x39189d)['updateComment'](_0x48abd2,_0x5d5ef9,_0x8ea223,_0x7e2821)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x404753,threadId:_0x3fc6ef,commentId:_0x1781f0})=>this['_getService'](_0x404753)['removeComment'](_0x3fc6ef,_0x1781f0)['catch'](F)['catch'](dt)},_0x498d25 instanceof _0x246a29){const _0x484709=_0x498d25['config']['get']('collaboration.channelId'),_0x15fd1a=_0x498d25['plugins']['get'](i);await this['_setUpService'](_0x484709);const _0xe5188=await this['_services']['get'](_0x484709)['getConnectedSessions']();this['listenTo'](_0x15fd1a,'sessionAdd:'+_0x484709,(_0x4d5907,{session:_0x31bb06})=>{_0x31bb06['id']===_0x15fd1a['mySessionId']&&(_0x4d5907['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x31bb06['permissions'],_0x484709));}),_0x15fd1a['register'](_0x484709,_0xe5188);}}async['_setUpService'](_0x32d11b){if(this['_services']['has'](_0x32d11b))throw new _0x41a852('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x32d11b});const _0x296db2=this['context']['plugins']['get']('CommentsRepository'),_0x2683de=new s['CommentsService'](_0x32d11b);this['_services']['set'](_0x32d11b,_0x2683de),this['listenTo'](_0x2683de,'commentThreadAdded',(_0xde1e30,_0x40c1b8)=>{const {commentThreadId:_0x3824e3,documentId:_0x13e388,context:_0x49d8a1,attributes:_0x3165ec,resolvedAt:_0x5c4ad4,resolvedBy:_0xb702d1,comments:_0xf6784}=_0x40c1b8;_0x296db2['getCommentThread'](_0x3824e3)||_0x296db2['addCommentThread']({'threadId':_0x3824e3,'channelId':_0x13e388,'comments':_0xf6784?_0xf6784['map'](S):[],'context':_0x49d8a1,'attributes':_0x3165ec,'resolvedAt':_0x5c4ad4,'resolvedBy':_0xb702d1,'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadUpdated',(_0x3f73c3,{commentThreadId:_0x40b6eb,documentId:_0x45aa4f,context:_0x41de9e,unlinkedAt:_0x48f604,attributes:_0x33a005})=>{_0x296db2['getCommentThread'](_0x40b6eb)&&_0x296db2['updateCommentThread']({'threadId':_0x40b6eb,'channelId':_0x45aa4f,'context':_0x41de9e,'unlinkedAt':_0x48f604,'attributes':_0x33a005,'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadResolved',(_0x48814d,{commentThreadId:_0x5f3cff,resolvedBy:_0x429dbf,resolvedAt:_0x21d185})=>{const _0x153f22=_0x296db2['getCommentThread'](_0x5f3cff);_0x153f22&&_0x153f22['resolve']({'resolvedBy':_0x429dbf,'resolvedAt':_0x21d185,'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadReopened',(_0x292188,{commentThreadId:_0x581775})=>{const _0x36506e=_0x296db2['getCommentThread'](_0x581775);_0x36506e&&_0x36506e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentThreadRemoved',(_0x14f23a,{commentThreadId:_0x411659})=>{const _0xa1db40=_0x296db2['getCommentThread'](_0x411659);_0xa1db40&&_0xa1db40['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentAdded',(_0x3071f1,_0x2effff)=>{const _0x1d575f=_0x2effff['commentThreadId'],_0x5652c7=_0x296db2['getCommentThread'](_0x1d575f);_0x5652c7&&_0x5652c7['addComment']({...S(_0x2effff),'isFromAdapter':!0x0});}),this['listenTo'](_0x2683de,'commentUpdated',(_0xafd524,{commentThreadId:_0x491438,commentId:_0x1eaf94,content:_0x52ac4c,attributes:_0xb8e0d9})=>{const _0x549d96=_0x296db2['getCommentThread'](_0x491438);if(_0x549d96){const _0x184fee=_0x549d96['getComment'](_0x1eaf94);_0x184fee&&_0x184fee['update']({'content':_0x52ac4c,'attributes':_0xb8e0d9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2683de,'commentRemoved',(_0x6262ad,{commentThreadId:_0x57b4b6,commentId:_0x182f3e})=>{const _0x33f8da=_0x296db2['getCommentThread'](_0x57b4b6);if(_0x33f8da){const _0xd974a2=_0x33f8da['getComment'](_0x182f3e);_0xd974a2&&_0xd974a2['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x32d11b);}['destroy'](){if(this['context']instanceof _0x246a29){const _0x5eb78b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5eb78b);}}['_terminateService'](_0xe7d0b9){if(!this['_services']['has'](_0xe7d0b9))throw new _0x41a852('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xe7d0b9});this['_getService'](_0xe7d0b9)['disconnect'](),this['_services']['delete'](_0xe7d0b9);}async['reconnect'](){for(const _0x58b71f of this['_services']['keys']())await this['_connectService'](_0x58b71f);if(this['context']instanceof _0x246a29){const _0x2af6d2=this['context']['config']['get']('collaboration.channelId'),_0xb74058=this['context']['plugins']['get'](i);_0xb74058['unregister'](_0x2af6d2);const _0x4946cb=await this['_services']['get'](_0x2af6d2)['getConnectedSessions']();_0xb74058['register'](_0x2af6d2,_0x4946cb);}}async['_connectService'](_0x528b04){const {connection:_0x457449}=this['context']['plugins']['get'](n),_0x431d8e=this['context']['plugins']['get']('CommentsRepository'),_0x5d2a98=this['_services']['get'](_0x528b04),_0x2cd37a=await _0x5d2a98['connect'](_0x457449);await this['_fetchMissingUsersForThreads'](_0x2cd37a);const _0x22214f=new Set(Array['from'](_0x431d8e['getCommentThreads']({'channelId':_0x528b04}),_0x1776a3=>_0x1776a3['id']));for(const _0x219304 of _0x2cd37a)_0x219304['deletedAt']||_0x22214f['delete'](_0x219304['commentThreadId']);for(const _0x14db8a of _0x22214f)_0x431d8e['getCommentThread'](_0x14db8a)['remove']({'isFromAdapter':!0x0});for(const _0x4bfb3f of _0x2cd37a){let _0x401184=_0x431d8e['getCommentThread'](_0x4bfb3f['commentThreadId']);const {commentThreadId:_0x515d0f,context:_0x553438,attributes:_0x393826,resolvedBy:_0x5bb506,resolvedAt:_0x175f04,unlinkedAt:_0xd87ce8,deletedAt:_0xb132c2}=_0x4bfb3f;if(_0xb132c2)continue;_0x401184||(_0x401184=_0x431d8e['addCommentThread']({'channelId':_0x528b04,'threadId':_0x515d0f,'context':_0x553438,'attributes':_0x393826||{},'resolvedBy':_0x5bb506,'resolvedAt':_0x175f04,'unlinkedAt':_0xd87ce8,'isFromAdapter':!0x0}));const _0x48fc05=new Set(Array['from'](_0x401184['comments'],_0x5d0951=>_0x5d0951['id']));for(const _0x2c5846 of _0x4bfb3f['comments'])_0x48fc05['delete'](_0x2c5846['commentId']);for(const _0x5d2d82 of _0x48fc05)_0x401184['getComment'](_0x5d2d82)['remove']({'isFromAdapter':!0x0});for(const _0x596c7d of _0x4bfb3f['comments']){const _0x45d29d=_0x401184['getComment'](_0x596c7d['commentId']);_0x45d29d?_0x45d29d['content']!==_0x596c7d['content']&&_0x45d29d['update']({'content':_0x596c7d['content'],'isFromAdapter':!0x0}):_0x401184['addComment'](Object['assign'](S(_0x596c7d),{'isFromAdapter':!0x0}));}}}['_getService'](_0xa58c65){if(!this['_services']['has'](_0xa58c65))throw new _0x41a852('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xa58c65});return this['_services']['get'](_0xa58c65);}async['_fetchMissingUsersForThreads'](_0x492ee3){const _0x314dab=this['context']['plugins']['get'](_0x287641),{connection:_0x53c0b5}=this['context']['plugins']['get'](n),_0x2340e2=new Set();for(const {resolvedBy:_0x58591f,comments:_0x35c57b}of _0x492ee3){_0x58591f&&!_0x314dab['getUser'](_0x58591f)&&_0x2340e2['add'](_0x58591f);for(const {userId:_0x589315}of _0x35c57b)_0x314dab['getUser'](_0x589315)||_0x2340e2['add'](_0x589315);}if(0x0===_0x2340e2['size'])return;const _0x280719=await lt['getMany'](_0x53c0b5,Array['from'](_0x2340e2));for(const _0x2908ca of _0x280719)_0x314dab['getUser'](_0x2908ca['id'])||_0x314dab['addUser'](_0x2908ca);}}async function F(_0xc3edbb){if('404'!==_0xc3edbb['code'])throw _0xc3edbb;}function dt(_0x171126){if((_0x303263=_0x171126)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x303263['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x303263['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x303263;throw _0x171126;}function S(_0x1c1f7c){return{'threadId':_0x1c1f7c['commentThreadId'],'commentId':_0x1c1f7c['commentId'],'content':_0x1c1f7c['content'],'createdAt':_0x1c1f7c['createdAt'],'authorId':_0x1c1f7c['userId'],'attributes':_0x1c1f7c['attributes']||{}};}class m extends _0x374ea5{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x52c215){super(_0x52c215);const _0x3d39f8=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3d39f8);}['init'](){const _0xff305b=this['editor']['plugins']['get'](n),_0x25b27d=this['editor']['plugins']['get']('TrackChangesEditing');return _0x25b27d['adapter']={'getSuggestion':async _0x75bc2b=>{await this['_waitForServiceReady']();const _0x29c503=await this['_trackChangesService']['get'](_0x75bc2b)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x29c503]),_0x29c503;},'addSuggestion':async({id:_0x4c255e,type:_0x4748a1,data:_0x4b44de,originalSuggestionId:_0xbb1501,attributes:_0x3adba0})=>{await this['_waitForServiceReady']();const _0xd6f611={'id':_0x4c255e,'type':_0x4748a1,'data':_0x4b44de,'originalSuggestionId':_0xbb1501,'attributes':_0x3adba0},_0x17c221=await this['_trackChangesService']['add'](_0x4c255e,_0x4748a1,_0x4b44de,_0xbb1501,_0x3adba0)['catch'](_0x32eb38=>{if(ut(_0x32eb38))return new Promise(_0x52a324=>{this['_bufferedRequests']['set'](_0x4c255e,{'resolve':_0x52a324,'suggestionData':_0xd6f611});});throw _0x32eb38;});return this['_bufferedRequests']['delete'](_0x4c255e),_0x17c221;},'updateSuggestion':async(_0x5cb7fd,_0x1cfe05)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1cfe05['state'])return this['_trackChangesService']['update'](_0x5cb7fd,_0x1cfe05)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x6ee9e8,_0x52f159)=>{_0x25b27d['hasSuggestion'](_0x52f159['id'])&&(_0x25b27d['getSuggestion'](_0x52f159['id'])['attributes']=_0x52f159['attributes']);}),this['_trackChangesService']['connect'](_0xff305b['connection'])['then'](_0x52ef7f=>(_0xff305b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x52ef7f)['then'](()=>{for(const _0x455301 of _0x52ef7f){_0x25b27d['addSuggestionData'](_0x455301)['_saved']=!0x0;}})));}async['reconnect'](){const _0x76d338=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x57409a}=this['editor']['plugins']['get'](n),_0xf641a8=await this['_trackChangesService']['connect'](_0x57409a);await this['_fetchMissingUsersForThreads'](_0xf641a8);for(const {suggestionData:_0x3b1173,resolve:_0x57d8d6}of this['_bufferedRequests']['values']()){let _0x468a11=_0xf641a8['find'](_0xff2a5f=>_0xff2a5f['id']===_0x3b1173['id']);_0x468a11||(_0x468a11=await this['_trackChangesService']['add'](_0x3b1173['id'],_0x3b1173['type'],_0x3b1173['data'],_0x3b1173['originalSuggestionId'])),_0x57d8d6(_0x468a11);}for(const _0x489d57 of _0xf641a8)_0x76d338['hasSuggestion'](_0x489d57['id'])||_0x76d338['addSuggestionData'](_0x489d57);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1c29d8=>{this['listenTo'](this['_trackChangesService'],'connected',_0x39ae2b=>{_0x39ae2b['off'](),_0x1c29d8();});});}async['_fetchMissingUsersForThreads'](_0x229efd){const _0x43adeb=this['editor']['plugins']['get'](_0x287641),{connection:_0x5a8e6f}=this['editor']['plugins']['get'](n),_0x3a07ac=new Set();for(const {authorId:_0x4712d6}of _0x229efd)_0x43adeb['getUser'](_0x4712d6)||_0x3a07ac['add'](_0x4712d6);if(0x0===_0x3a07ac['size'])return;const _0x42c230=await lt['getMany'](_0x5a8e6f,Array['from'](_0x3a07ac));for(const _0x2b5ddc of _0x42c230)_0x43adeb['getUser'](_0x2b5ddc['id'])||_0x43adeb['addUser'](_0x2b5ddc);}}function k(_0x236c76){if(ut(_0x236c76))return new Promise(()=>{});throw _0x236c76;}function ut(_0x4d0fec){return _0x4d0fec['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4d0fec['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x374ea5{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3dc4b1=this['editor']['plugins']['get'](n),_0x3e9a1d=this['editor']['plugins']['get']('CommentsEditing'),_0x577b0a=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3dc4b1,'change:state',(_0x444dda,_0x1972c3,_0x2332f5)=>{_0x3e9a1d['isThreadsLoadingPaused']='connected'!==_0x2332f5;});}),this['listenTo'](_0x3dc4b1,'change:state',(_0x346484,_0x1747ed,_0x3434cf)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x3434cf);}),_0x577b0a['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x374ea5{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x374ea5{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x287641];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c38a9){super(_0x1c38a9);const _0x2625d4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x2625d4);}async['init'](){const _0x5160f2=this['editor']['plugins']['get'](l),_0x1807ad=_0x5160f2['serverHistory'],_0x2c9397=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1807ad,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5160f2['sessionId']});const _0x518086=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x24d70d=await tt['isBundleUploaded'](_0x2c9397['connection'],_0x518086);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4d863f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4d863f)),'updateRevisions':async _0x30cb6d=>{await this['_waitForServiceReady']();const _0x47aee9=this['_revisionTracker']['currentRevision'];if(_0x24d70d&&0x1===_0x30cb6d['length']&&_0x30cb6d[0x0]['id']===_0x47aee9['id'])return _0x30cb6d;for(const _0x21901d of _0x30cb6d)_0x21901d['id']===_0x47aee9['id']&&(_0x21901d['isEmptyCurrent']=_0x21901d['fromVersion']===_0x21901d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x30cb6d,this['_lastRequestId'])['then'](_0x1b80b1=>(this['_lastRequestId']=_0x1b80b1,_0x30cb6d))['catch'](_0x380603=>{if(st(_0x380603)||'400'===_0x380603['code']&&void 0x0!==_0x380603['data']['wrongRequestId']){for(const _0x18d8b7 of _0x30cb6d){!this['_revisionTracker']['repository']['getRevision'](_0x18d8b7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x18d8b7['id'],_0x18d8b7,!0x1);}if(st(_0x380603))throw _0x380603;return _0x30cb6d;}throw _0x380603;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5b5955,{revisionsData:_0x3cd496,requestId:_0x11dad2})=>{Math['max'](..._0x3cd496['map'](_0x51dfce=>_0x51dfce['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3cd496,_0x11dad2);}):this['_handleRevisionsUpdate'](_0x3cd496,_0x11dad2);});const {revisions:_0x24fd52,requestId:_0x345102}=await this['_revisionHistoryService']['connect'](_0x2c9397['connection']);_0x2c9397['addToReconnectionStack'](this),this['_lastRequestId']=_0x345102,await this['_fetchMissingUsers'](_0x24fd52);for(const _0x1e9cb6 of _0x24fd52)this['_revisionTracker']['addRevisionData'](_0x1e9cb6);this['listenTo'](_0x5160f2,'change:_isConnected',(_0x164f7d,_0x4e6b36,_0x3c1928)=>{_0x3c1928&&(this['_oldOffset']=_0x5160f2['_offset'],_0x164f7d['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c9397,'state',_0x4c78d0=>_0x4c78d0===te['CONNECTED']);}async['reconnect'](){const _0x23650b=this['editor']['plugins']['get'](n),_0x208e99=this['editor']['plugins']['get'](l),_0x3ca25a=async()=>{const _0x69fec4=this['_revisionTracker']['currentRevision'],_0x4a596f=_0x69fec4['id'],_0x367b4e=_0x4a596f!==_0x208e99['sessionId'];if(_0x367b4e){const _0x247fa2=_0x208e99['_offset']-this['_oldOffset'],_0x1d7f68=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x69fec4['toVersion']+_0x247fa2!==_0x1d7f68){const _0x5adf96=_0x69fec4['fromVersion']+_0x247fa2,_0x59f4ce=this['editor']['plugins']['get'](_0x287641),_0x58ae5a=this['_revisionTracker']['buildRevisionData']({'revision':_0x69fec4,'from':_0x5adf96,'to':_0x1d7f68});_0x58ae5a['id']=_0x69fec4['id'];const _0x3fda78=_0x58ae5a['authorsIds']['map'](_0x481a73=>_0x59f4ce['getUser'](_0x481a73));_0x69fec4['_update']({..._0x58ae5a,'authors':_0x3fda78},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x69fec4['id'],_0x58ae5a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1d7f68,(_0x69fec4['toVersion']===_0x69fec4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4a596f)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4a596f),this['_revisionTracker']['_createCurrentRevision'](_0x1d7f68));}const {revisions:_0x12b78c,requestId:_0x53ef7f}=await this['_revisionHistoryService']['reconnect'](_0x23650b['connection'],this['_lastRequestId']);_0x367b4e&&_0x12b78c['length']>0x0?_0x208e99['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x12b78c),this['_handleRevisionsUpdate'](_0x12b78c,_0x53ef7f),this['_revisionTracker']['sendBufferedUpdates']());};return _0x208e99['_isConnected']?_0x3ca25a():new Promise((_0x902b26,_0x52ac13)=>{_0x208e99['once']('change:_isConnected',()=>{_0x3ca25a()['then'](_0x902b26)['catch'](_0x52ac13);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x13315a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4a081d=>{_0x4a081d['off'](),_0x13315a();});});}['_getLatestVersionFromServerOperations'](){const _0x14a82a=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1c4691 of _0x14a82a)if('marker'!==_0x1c4691['type']||_0x1c4691['affectsData'])return _0x1c4691['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4f138b=this['editor']['plugins']['get'](l);return new Promise(_0x2fe522=>{_0x4f138b['_isPendingUpdate']?_0x4f138b['once']('change:_isPendingUpdate',()=>{_0x2fe522(this['_getLatestVersionFromServerOperations']());}):_0x2fe522(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x33ce7d,_0x3ef696){const _0x1d4087=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3ef696;for(const _0x20667e of _0x33ce7d){const _0x50a70f=_0x1d4087['getRevision'](_0x20667e['id']);if(_0x50a70f){if((_0x20667e['fromVersion']||_0x20667e['toVersion'])&&(_0x20667e['diffData']=null),_0x50a70f===this['_revisionTracker']['currentRevision']){const _0x6785aa=Math['max'](_0x50a70f['toVersion'],_0x20667e['toVersion']),_0x357b71=Math['max'](_0x50a70f['fromVersion'],_0x20667e['fromVersion']);let _0x864e70;_0x50a70f['toVersion']===_0x20667e['toVersion']&&_0x50a70f['fromVersion']===_0x20667e['fromVersion']?(_0x864e70=!0x0,this['_preventResendingRevisionData'](_0x20667e)):_0x20667e['toVersion']===_0x6785aa&&_0x20667e['fromVersion']===_0x357b71?_0x864e70=!0x1:(_0x50a70f['toVersion']===_0x6785aa&&_0x50a70f['fromVersion']===_0x357b71||this['_fixRevision']({'revision':_0x50a70f,'from':_0x357b71,'to':_0x6785aa}),_0x864e70=!0x0),_0x864e70&&(delete _0x20667e['fromVersion'],delete _0x20667e['toVersion'],delete _0x20667e['diffData'],delete _0x20667e['createdAt'],delete _0x20667e['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x20667e),this['_preventResendingRevisionData'](_0x20667e);}else this['_revisionTracker']['addRevisionData'](_0x20667e);}const _0xaf5379=_0x1d4087['getRevisions']();_0xaf5379['reverse']();for(let _0x14c2f8=0x0;_0x14c2f8<_0xaf5379['length']-0x1;_0x14c2f8++){const _0x2e4b1c=_0xaf5379[_0x14c2f8],_0x1a7ee3=_0xaf5379[_0x14c2f8+0x1];if(_0x2e4b1c['fromVersion']<_0x1a7ee3['toVersion']){const _0x4fb8bb=_0x1a7ee3['toVersion'],_0x72260d=Math['max'](_0x4fb8bb,_0x2e4b1c['toVersion']);this['_fixRevision']({'revision':_0x2e4b1c,'from':_0x4fb8bb,'to':_0x72260d});}}}['_fixRevision']({revision:_0x16c4eb,from:_0x49dcc0,to:_0x110918}={}){const _0x305442=this['editor']['plugins']['get'](_0x287641),_0x42ae0b=this['_revisionTracker']['buildRevisionData']({'revision':_0x16c4eb,'from':_0x49dcc0,'to':_0x110918});_0x42ae0b['authors']=_0x42ae0b['authorsIds']['map'](_0x54606f=>_0x305442['getUser'](_0x54606f)),_0x16c4eb['_update'](_0x42ae0b);}['_preventResendingRevisionData'](_0x1c09b2){const _0x3130b8={};_0x3130b8['id']=_0x1c09b2['id'];for(const _0x56cb85 of Object['keys'](_0x1c09b2))'id'!==_0x56cb85&&(_0x3130b8[_0x56cb85]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3130b8['id'],_0x3130b8,!0x0);}async['_fetchMissingUsers'](_0x20c58f){const _0x415b14=this['editor']['plugins']['get'](_0x287641),{connection:_0x2c236a}=this['editor']['plugins']['get'](n),_0x29a0b2=new Set();for(const _0x2414af of _0x20c58f){for(const _0x31637e of _0x2414af['authorsIds'])_0x4c3753(_0x31637e);_0x2414af['creatorId']&&_0x4c3753(_0x2414af['creatorId']);}if(0x0===_0x29a0b2['size'])return;const _0x267a4c=await lt['getMany'](_0x2c236a,Array['from'](_0x29a0b2));for(const _0x32877e of _0x267a4c)_0x415b14['getUser'](_0x32877e['id'])||_0x415b14['addUser'](_0x32877e);function _0x4c3753(_0x49186e){_0x415b14['getUser'](_0x49186e)||_0x29a0b2['add'](_0x49186e);}}}function st(_0x5c1702){return _0x5c1702['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5c1702['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c1702['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x374ea5{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x379f83{['_collapseAt'];constructor(_0x4a5219,_0x25690e=0x6){super(_0x4a5219);const _0x245ba2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x25690e,this['bind']('isHidden')['to'](this,'usersCount',_0x1efaa5=>_0x1efaa5<_0x25690e),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x245ba2['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x245ba2['to']('usersCount',_0x4652b2=>'+'+(_0x4652b2-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x379f83{['items'];['keystrokes'];constructor(_0x43ba99){super(_0x43ba99);const _0x2c9dda=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4bff21(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2c9dda['if']('hasPopup'),'aria-expanded':_0x2c9dda['to']('isExpanded',_0x1082e3=>this['hasPopup']&&String(_0x1082e3)),'aria-label':_0x2c9dda['to']('hasPopup',_0x28f471=>V(_0x43ba99,_0x28f471?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2c9dda['to']('hasPopup',_0x2aab3a=>!!_0x2aab3a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2c9dda['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2c9dda['to'](_0x2d277e=>{const _0x2e0571=_0x2d277e,_0x584d66=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4eebfb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x584d66?.['contains'](_0x2e0571['relatedTarget'])||_0x4eebfb?.['contains'](_0x2e0571['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x471241,_0x280e38,_0x23ba4c)=>{this['element']&&(_0x23ba4c?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x379f83{['counterView'];['inlineListView'];constructor(_0x3a1663,_0x4dd351=0x6){super(_0x3a1663);const _0x2f710f=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x4dd351),this['inlineListView']=new is(_0x3a1663),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3a5fb3 of this['inlineListView']['items'])_0x3a5fb3['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x2f710f['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x379f83{['listWrapperView'];constructor(_0x34d69e,_0x372cd7){super(_0x34d69e);const _0x35d97c=this['bindTemplate'];this['listWrapperView']=new pt(_0x34d69e,_0x372cd7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x34d69e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x35d97c['to'](_0x1416b3=>{const _0x4952d0=_0x1416b3,_0x558a4d=document['querySelector']('.ck-presence-list__list'),_0x1b0422=document['querySelector']('.ck-balloon-panel_with-arrow');_0x558a4d?.['contains'](_0x4952d0['relatedTarget'])||_0x1b0422?.['contains'](_0x4952d0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x2ae42c{constructor(_0x5ce51c,_0x7846ab){super(_0x5ce51c);const _0x1d0a65=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7846ab?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1d0a65['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1d0a65['to']('role'),'aria-label':_0x1d0a65['to']('ariaLabel'),'aria-labelledby':_0x1d0a65['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3cf216['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2b72b1=this['element'];_0x2b72b1&&(this['_isScrollable']=Math['max'](_0x2b72b1['scrollHeight'],_0x2b72b1['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x1968a2,_0x5c8da0,_0x34bd1c){super(_0x1968a2);const _0x2e4c74=this['bindTemplate'];this['userView']=new ct(_0x1968a2,_0x5c8da0);const _0x3580f7={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c8da0['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c8da0['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c8da0['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x34bd1c&&(_0x3580f7['tag']='button',_0x3580f7['on']={'click':_0x2e4c74['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3580f7);}['focus'](){this['element']['focus']();}}class A extends _0x379f83{['userView'];['markerView'];constructor(_0x19d8ba,_0x18bc42,_0x3568f4){super(_0x19d8ba);const _0x2dfbc9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x19d8ba,_0x18bc42),this['markerView']=new at(_0x19d8ba,_0x18bc42);const _0x33aae5=new ot(_0x19d8ba);_0x33aae5['template']['tag']='span',_0x33aae5['text']=_0x18bc42['name'];const _0x53bfc5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2dfbc9['to']('isFocusable',_0x314f21=>!!_0x314f21&&0x0),'aria-labelledby':_0x33aae5['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2dfbc9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2dfbc9['to']('hasTooltip',_0x407b52=>!_0x407b52),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x33aae5]};_0x3568f4&&(_0x53bfc5['tag']='button',_0x53bfc5['on']={'click':_0x2dfbc9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x53bfc5);}}class at extends _0x379f83{constructor(_0x293c0e,_0x3e0b95){super(_0x293c0e),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3e0b95['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x558e27{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x41f81e){super(_0x41f81e),this['context']['config']['define']('presenceList',x);const _0x1416e3=_0x41f81e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1416e3)throw new _0x41a852('presencelist-collapseat-invalid-format',this);if(_0x1416e3<0x1)throw new _0x41a852('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x294023(),this['balloonPanelView']=new _0xda1005(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x52c476 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x52c476);this['listenTo'](this['_allConnectedUsers'],'add',(_0x15385f,_0x465e1e)=>{this['_handleUserAdd'](_0x465e1e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x43cb24,_0xcfac1)=>{this['_handleUserRemove'](_0xcfac1);});}['_createView'](){const _0x155fda=this['context'],_0x5771fb=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x17733b=this['balloonPanelView'];if(!_0x5a6ee3(_0x155fda['config']['get']('presenceList.container')))throw new _0x41a852('presencelist-missing-container',this);return _0x5771fb['counterView']['bind']('usersCount')['to'](this),_0x5771fb['bind']('isCollapsed')['to'](this,'usersCount',_0x54ba6c=>{const {collapseAt:_0x251808}=_0x155fda['config']['get']('presenceList'),_0x15673e=_0x54ba6c>=_0x251808;if(_0x15673e&&!_0x5771fb['inlineListView']['items']['find'](_0x2153ab=>_0x2153ab instanceof b)){const _0x144dfc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x144dfc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5771fb['inlineListView']['items']['add'](_0x5771fb['counterView']);}return _0x15673e||this['hideDropdown'](),_0x15673e;}),_0x5771fb['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4c052f=>{const _0x5db6b6=_0x155fda['config']['get']('presenceList'),_0x2b4e14=new A(_0x155fda['locale'],_0x4c052f,!!_0x5db6b6['onClick']);return _0x2b4e14['bind']('hasTooltip')['to'](_0x5771fb,'isCollapsed',_0x454f32=>!_0x454f32),_0x2b4e14['bind']('isFocusable')['to'](_0x5771fb,'isCollapsed',_0x5ca4de=>!_0x5ca4de),_0x5db6b6['onClick']&&this['listenTo'](_0x2b4e14,'execute',()=>{this['view']['isCollapsed']||_0x5db6b6['onClick'](_0x4c052f,_0x2b4e14['element']);}),_0x2b4e14;}),this['listenTo'](_0x5771fb['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5771fb['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5771fb['inlineListView']['keystrokes']['set']('Enter',(_0x4e2c71,_0x5d8b20)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5d8b20());}),_0x5771fb['render'](),_0x17733b['render'](),_0x170790({'emitter':_0x5771fb,'activator':()=>_0x17733b['isVisible'],'contextElements':[_0x17733b['element'],_0x5771fb['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x155fda['config']['get']('presenceList.container')['appendChild'](_0x5771fb['element']),this['_bodyCollection']=new _0xbf9b25(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5771fb;}['_handleUserAdd'](_0x51b1e5){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x51b1e5['isMe'])return;const _0x2e6151=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2e6151-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x531452=_0x51b1e5['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x51b1e5,_0x531452);}['_handleUserRemove'](_0x4f9699){this['usersCount']--;const {collapseAt:_0x22a870}=this['context']['config']['get']('presenceList'),_0x47cc3b=this['usersCount']>=_0x22a870;if(this['currentDisplayedUsers']['get'](_0x4f9699['id']))this['currentDisplayedUsers']['remove'](_0x4f9699['id']);else{if(_0x47cc3b&&this['currentDisplayedUsers']['length']+0x1===_0x22a870-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x47cc3b?0x1:0x0)<this['usersCount']){for(const _0x192326 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x192326['id'])&&(this['currentDisplayedUsers']['add'](_0x192326,Math['min'](this['currentDisplayedUsers']['length']-(_0x47cc3b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x47cc3b?0x1:0x0)===_0x22a870-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5a4256=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x5a4256['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xcbaf4}=this['presenceDropdownView'];_0xcbaf4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x363e15=>{if(!_0x5a4256['displayMe']&&_0x363e15['isMe'])return null;const _0x41e207=new j(this['context']['locale'],_0x363e15,!!_0x5a4256['onClick']);return _0x5a4256['onClick']&&this['listenTo'](_0x41e207,'execute',()=>{_0x5a4256['onClick'](_0x363e15,_0x41e207['element']);}),_0x41e207;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xcbaf4['focus'](),_0xcbaf4['checkIfScrollable']();const _0xc4aa13=(_0x5daf58,_0x2b9fd9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2b9fd9();};_0xcbaf4['keystrokes']['set']('Esc',_0xc4aa13),_0xcbaf4['keystrokes']['set']('Shift+Tab',_0xc4aa13),_0xcbaf4['keystrokes']['set']('Tab',(_0x53213b,_0x326ca6)=>{!function(_0x407efd){const _0x1a79fa=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xd7fd54=>_0xd7fd54+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x16e880=[...document['body']['querySelectorAll'](_0x1a79fa)]['filter'](_0x722b2c=>_0x722b2c===document['activeElement']||_0x722b2c['offsetWidth']+_0x722b2c['offsetHeight']>0x0)['sort']((_0x1e0457,_0x9809a2)=>(_0x1e0457['tabIndex']||0x0)-(_0x9809a2['tabIndex']||0x0)),_0x57a684=_0x16e880['indexOf'](_0x407efd),_0x175b58=_0x16e880[(_0x57a684+0x1)%_0x16e880['length']];_0x175b58&&_0x175b58['focus']();}(this['view']['element']),this['hideDropdown'](),_0x326ca6();}),_0xcbaf4['focusTracker']['add'](this['view']['element']),_0xcbaf4['focusTracker']['on']('change:isFocused',(_0x3af136,_0x12dd1d,_0x2e7a43)=>{_0x2e7a43||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x558e27{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x4c249c,Plugin as _0x4f787e,PendingActions as _0x1d653d,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x33542b,CKEditorError as _0x1eae7a,Collection as _0x3e0019,global as _0x54019e,version as at,uid as _0x510e6b,KeystrokeHandler as _0x5fd0a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4490d8,View as _0x25c62f,ListView as _0x48ce87,ListItemView as st,LabelView as it,BalloonPanelView as _0x36d5d9,clickOutsideHandler as _0x5c002c,BodyCollection as _0x5d787f}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x295c9e,History as _0x3775ce,NoOperation as _0x1f2b17,InsertOperation as _0x2b998f,MarkerOperation as _0x4f333c,RootAttributeOperation as _0x16d8a2,transformOperationSets as _0x3d32e8,OperationFactory as _0x178468}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as _0x52c1ac,CollaborativeEditingService as _0x18041f,User as lt,CommentsService as et,TrackChangesService as _0x5386cf,RevisionHistoryService as _0xd59705,EditorService as _0x26af7d}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x176ee1,UserView as rt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x45edb8}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2f0fba}from'es-toolkit/compat';class n extends _0x4c249c{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4490d8];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x111460){super(_0x111460),this['set']('state',_0x52c1ac['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x33542b())();}['init'](){const _0x364c1d=this['context'],_0x15182a=_0x364c1d['plugins']['get']('CloudServices'),_0x39ee4b=_0x364c1d['plugins']['get'](_0x4490d8);if(!_0x15182a['token'])throw new _0x1eae7a('websocketgateway-missing-token',this);if(!_0x15182a['webSocketUrl'])throw new _0x1eae7a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x15182a['token'],_0x15182a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5c15d7=>{if(this['connection']=_0x5c15d7,this['bind']('state')['to'](_0x5c15d7,'state',this,'_isBrowserOffline',(_0x1afbad,_0x3d5c8b)=>('connected'!==_0x1afbad&&(this['_shouldPluginsReconnect']=!0x0),_0x3d5c8b||_0x1afbad!==_0x52c1ac['CONNECTED']?_0x52c1ac['DISCONNECTED']:this['state']==_0x52c1ac['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x52c1ac['CONNECTING']):_0x52c1ac['CONNECTED'])),this['connection']['on']('error',(_0x5d3821,_0x5d40bb)=>{if('limitExceeded'!==_0x5d40bb['code'])throw console['error'](_0x5d40bb),new _0x1eae7a('cloudservices-init',null,{'originalError':_0x5d40bb});_0x39ee4b['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'});}),!_0x5c15d7['me'])return new Promise(_0x491a4f=>_0x5c15d7['on']('change:me',_0x491a4f));})['catch'](_0x40d7b0=>{throw console['error'](_0x40d7b0),new _0x1eae7a('cloudservices-init',null,{'originalError':_0x40d7b0});});}['addToReconnectionStack'](_0x5c55ae){if('function'!=typeof _0x5c55ae['reconnect'])throw new _0x1eae7a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5c55ae))throw new _0x1eae7a('websocketgateway-plugin-already-registered',this,{'name':_0x5c55ae['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5c55ae);}['removeFromReconnectionStack'](_0x1befd1){this['_reconnectionStack']['delete'](_0x1befd1);}['isInReconnectionStack'](_0x163aad){return this['_reconnectionStack']['has'](_0x163aad);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x84416b=>_0x84416b['reconnect']())))['then'](()=>this['state']=_0x52c1ac['CONNECTED'])['catch'](_0x1ccb7e=>{throw console['error'](_0x1ccb7e),new _0x1eae7a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x52c1ac['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x4c249c{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x176ee1];}constructor(_0x382aee){super(_0x382aee),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3e0019(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x176ee1);}['init'](){const _0x351e4a=this['context']['plugins']['get'](n);this['listenTo'](_0x351e4a,'change:state',(_0x1b78bc,_0x8b4ed,_0x352ae9)=>{if('connected'!==_0x352ae9)this['channelSessions']['forEach'](_0x4c95dc=>_0x4c95dc['clear']()),this['channelConnectedUsers']['forEach'](_0x3ff922=>_0x3ff922['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4abc37,_0x14eb08]of this['_registeredSessions'])for(const _0x25758c of _0x14eb08)this['_handleSessionAdd'](_0x4abc37,_0x25758c);}}),this['_createUser'](_0x351e4a['connection']['me'],!0x0);}['register'](_0x365e7b,_0x34ace3){if(this['_registeredSessions']['has'](_0x365e7b))throw new _0x1eae7a('sessions-register-already-registered',null,{'channelId':_0x365e7b});this['_registeredSessions']['set'](_0x365e7b,_0x34ace3),this['channelSessions']['set'](_0x365e7b,new _0x3e0019()),this['channelConnectedUsers']['set'](_0x365e7b,new _0x3e0019()),this['listenTo'](_0x34ace3,'add',(_0x1e7a55,_0x6f4e30)=>this['_handleSessionAdd'](_0x365e7b,_0x6f4e30)),this['listenTo'](_0x34ace3,'remove',(_0x27dfd8,_0x1092d4)=>this['_handleSessionRemove'](_0x365e7b,_0x1092d4));for(const _0x51b746 of _0x34ace3)this['_handleSessionAdd'](_0x365e7b,_0x51b746);}['unregister'](_0x235f07){if(!this['_registeredSessions']['has'](_0x235f07))throw new _0x1eae7a('sessions-unregister-not-exist',null,{'channelId':_0x235f07});const _0x5b9304=this['_registeredSessions']['get'](_0x235f07);this['stopListening'](_0x5b9304);for(const _0x1cb858 of _0x5b9304)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x235f07,_0x1cb858);this['_registeredSessions']['delete'](_0x235f07),this['channelSessions']['delete'](_0x235f07),this['channelConnectedUsers']['delete'](_0x235f07);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x17fdae){for(const _0x6a2b68 of this['channelSessions']['values']())for(const _0x175947 of _0x6a2b68)if(_0x175947['id']===_0x17fdae)return _0x175947['user'];}['getUserSessions'](_0x5d83c7,_0xa1bd02){const _0x4d649f=_0xa1bd02?[this['channelSessions']['get'](_0xa1bd02)]:this['channelSessions']['values'](),_0x7df868=new Set();for(const _0x546376 of _0x4d649f)for(const _0x125450 of _0x546376)_0x125450['user']['id']===_0x5d83c7['id']&&_0x7df868['add'](_0x125450['id']);return _0x7df868;}['getUserRole'](_0x57bebd){for(const _0x3b1be2 of this['channelSessions']['values']())for(const _0x2a11df of _0x3b1be2)if(_0x2a11df['user']===_0x57bebd)return _0x2a11df['role'];}['_handleSessionAdd'](_0x35c969,_0x200d91){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x322749=_0x200d91['user'],_0x3d5c1d=this['_users']['getUser'](_0x322749['id'])||this['_createUser'](_0x322749),_0x3393bc=Object['assign']({},_0x200d91,{'user':_0x3d5c1d});if(this['channelSessions']['get'](_0x35c969)['add'](_0x3393bc),!_0x322749['hiddenInPresenceList']){const _0x23c6fa=this['channelConnectedUsers']['get'](_0x35c969);_0x23c6fa['has'](_0x3d5c1d['id'])||_0x23c6fa['add'](_0x3d5c1d),this['allConnectedUsers']['has'](_0x3d5c1d['id'])||_0x322749['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3d5c1d,_0x3d5c1d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x35c969,{'channelId':_0x35c969,'session':_0x3393bc});}['_handleSessionRemove'](_0x75ad80,_0x16376d){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xa62a47=this['channelConnectedUsers']['get'](_0x75ad80),_0x1f4869=_0x16376d['user'];_0x1f4869['id']&&(this['channelSessions']['get'](_0x75ad80)['remove'](_0x16376d['id']),_0xa62a47['has'](_0x1f4869['id'])&&!this['getUserSessions'](_0x1f4869,_0x75ad80)['size']&&_0xa62a47['remove'](_0x1f4869['id']),this['allConnectedUsers']['get'](_0x1f4869['id'])&&!this['getUserSessions'](_0x1f4869)['size']&&this['allConnectedUsers']['remove'](_0x1f4869['id']));}['_createUser'](_0x3f6ba4,_0x271842){const _0x3bc841=this['_users']['addUser'](_0x3f6ba4);return _0x271842&&this['_users']['defineMe'](_0x3f6ba4['id']),_0x3bc841['orderNumber']=this['_uniqueUsersCount']++,_0x3bc841;}}class W extends _0x4f787e{['_domEmitter']=new(_0x33542b())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x54968f=this['editor'],_0x34e267=_0x54968f['plugins']['get'](i);_0x54968f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x460518,{writer:_0x116360})=>function(_0x9c5f55,_0x575063,_0x189b17,_0x392a43){const _0x4d16fa=_0x9c5f55['markerName']['split'](':')[0x2],_0x3f869a=_0x189b17['getUserBySessionId'](_0x4d16fa);if(!_0x3f869a||_0x4d16fa===_0x189b17['mySessionId'])return;if(!_0x392a43['model']['schema']['checkChild'](_0x9c5f55['markerRange']['start'],'$text'))return;const _0x1614cd={'class':'ck-user__marker\x20'+_0x3f869a['color']['getMarkerClass'](),'data-name':_0x3f869a['name'],'data-session-id':_0x4d16fa},_0x9939a9=_0x392a43['model']['markers']['get'](_0x9c5f55['markerName']),_0x23be95=_0x9939a9['getStart'](),_0x399313=_0x23be95['nodeAfter'],_0x5d58cb=_0x392a43['model']['schema'];if(_0x399313&&_0x5d58cb['isObject'](_0x399313)&&_0x5d58cb['isInline'](_0x399313)&&!_0x392a43['model']['markers']['get']('user:range:'+_0x4d16fa)['getRange']()['isCollapsed'])return;const _0x3a2373=_0x23be95['parent'];return _0x392a43['model']['schema']['isLimit'](_0x3a2373)&&!_0x392a43['model']['hasContent'](_0x3a2373)&&(_0x1614cd['contenteditable']=!0x1),function(_0x5ea97e,_0xbdbb50,_0x2ab490){const _0x47b90e=_0x5ea97e['createUIElement']('span',_0xbdbb50);return _0x5ea97e['setCustomProperty']('userPositionMarker',!0x0,_0x47b90e),_0x47b90e['render']=function(_0x50d86e){const _0x3c8b96=this['toDomElement'](_0x50d86e),_0xa85beb=document['createElement']('span');return _0xa85beb['classList']['add']('ck-user__marker-tooltip'),_0xa85beb['setAttribute']('contenteditable','false'),_0xa85beb['setAttribute']('spellcheck','false'),_0xa85beb['textContent']=_0x2ab490['name'],_0x3c8b96['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xa85beb['outerHTML']+'⁠',_0x3c8b96['addEventListener']('mouseenter',()=>{_0x3c8b96['classList']['add']('ck-user__marker_hovered');}),_0x3c8b96['addEventListener']('mouseleave',()=>{_0x3c8b96['classList']['remove']('ck-user__marker_hovered');}),_0x3c8b96;},_0x47b90e['isSimilar']=function(_0x4fba18){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4fba18['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4fba18['getAttribute']('data-session-id'));},_0x47b90e;}(_0x575063,_0x1614cd,_0x3f869a);}(_0x460518,_0x116360,_0x34e267,_0x54968f)}),_0x54968f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xf2fba8=>function(_0x5c69eb,_0x481206){const _0x344c49=_0x5c69eb['markerName']['split'](':')[0x2];if(_0x344c49===_0x481206['mySessionId'])return null;const _0x1765c9=_0x481206['getUserBySessionId'](_0x344c49);if(!_0x1765c9)return{'id':_0x344c49,'classes':[]};return{'id':_0x344c49,'classes':['ck-user__selection',_0x1765c9['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x344c49},'priority':0x7d0+_0x1765c9['orderNumber']};}(_0xf2fba8,_0x34e267)}),function(_0x546626){const _0x520182=_0x546626['model'],_0x1f0810=new Map(),_0x39407c=_0x546626['plugins']['get'](i);_0x520182['markers']['on']('update:user:range',(_0x519764,_0x24b1b0,_0x253c5a,_0x4577c4)=>{if(!_0x4577c4&&_0x1f0810['get'](_0x24b1b0['name']))return _0x1f0810['get'](_0x24b1b0['name'])['detach'](),void _0x1f0810['delete'](_0x24b1b0['name']);const _0x309bec=_0x24b1b0['name']['split'](':')[0x2];if(_0x309bec===_0x39407c['mySessionId'])return;const _0xa78b12='user:position:'+_0x309bec;_0x520182['markers']['has'](_0xa78b12)&&_0x546626['editing']['reconvertMarker'](_0xa78b12),_0x24b1b0['on']('change:range',(_0x22134a,_0x28c780,_0x56dda1)=>{if('$graveyard'!=_0x28c780['root']['rootName']&&'$graveyard'==_0x24b1b0['getRange']()['root']['rootName']&&!_0x1f0810['has'](_0x24b1b0['name'])){const _0x512e78=_0x520182['schema']['getNearestSelectionRange'](_0x56dda1['deletionPosition']);if(_0x512e78){const _0x48cc7e=_0x295c9e['fromRange'](_0x512e78);_0x1f0810['set'](_0x24b1b0['name'],_0x48cc7e),_0x48cc7e['on']('change:range',(_0x50628f,_0xa35b2e,_0x5e8c70)=>{if('$graveyard'==_0x48cc7e['root']['rootName']){const _0x589239=_0x520182['schema']['getNearestSelectionRange'](_0x5e8c70['deletionPosition']);_0x589239?(_0x48cc7e['start']=_0x589239['start'],_0x48cc7e['end']=_0x589239['end']):(_0x1f0810['delete'](_0x24b1b0['name']),_0x48cc7e['detach']());}});}}});}),_0x520182['document']['on']('change',()=>{_0x1f0810['size']>0x0&&_0x520182['enqueueChange']({'isUndoable':!0x1},_0x359dec=>{for(const [_0x5ada41,_0x351041]of _0x1f0810)'$graveyard'==_0x520182['markers']['get'](_0x5ada41)['getRange']()['root']['rootName']&&(ee(_0x5ada41['split'](':')[0x2],_0x351041['toRange'](),_0x520182,_0x359dec),_0x351041['detach']());_0x1f0810['clear']();});});}(_0x54968f),this['_domEmitter']['listenTo'](_0x54019e['document'],'keydown',(_0x27c52f,{key:_0x94f7ea})=>{'Escape'===_0x94f7ea&&function(_0xf711c0){_0xf711c0['editing']['view']['change'](_0x9afc20=>{for(const _0x416d55 of _0xf711c0['model']['markers']){if(!_0x416d55['name']['startsWith']('user:position'))continue;const _0x523780=_0xf711c0['editing']['mapper']['markerNameToElements'](_0x416d55['name']);if(_0x523780){for(const _0x1c31a4 of _0x523780)_0x9afc20['removeClass']('ck-user__marker_hovered',_0x1c31a4);}}});}(_0x54968f);},{'useCapture':!0x0});}['afterInit'](){const _0x476d52=this['editor'],_0x43aea4=_0x476d52['commands']['get']('undo');_0x43aea4&&_0x476d52['model']['on']('applyOperation',(_0x4d0bbb,_0x54ec30)=>{const _0x599231=_0x54ec30[0x0];if(!_0x599231['isDocumentOperation'])return;if('marker'!=_0x599231['type']||!_0x599231['name']['startsWith']('user:'))return;const _0x29fd92=_0x599231['batch'];_0x43aea4['_createdBatches']['has'](_0x29fd92)&&(_0x599231['newRange']=_0x599231['oldRange']?_0x476d52['model']['createRange'](_0x599231['oldRange']['start'],_0x599231['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x32efdc=this['editor'],_0x3d4cb3=_0x32efdc['model']['document'],_0x2b753e=_0x32efdc['plugins']['get'](i);_0x32efdc['model']['enqueueChange']({'isUndoable':!0x1},_0x354d5f=>{const _0x561530='user:range:'+_0x2b753e['mySessionId'],_0x1e639b='user:position:'+_0x2b753e['mySessionId'],_0x1f525b=_0x32efdc['model']['markers']['has'](_0x561530);_0x32efdc['editing']['view']['hasDomSelection']?ee(_0x2b753e['mySessionId'],_0x3d4cb3['selection']['getFirstRange'](),_0x32efdc['model'],_0x354d5f):_0x1f525b&&(_0x354d5f['removeMarker'](_0x561530),_0x354d5f['removeMarker'](_0x1e639b));});}}function ee(_0x20b0a4,_0x1e7af2,_0x15da68,_0x3cc662){const _0x452555='user:range:'+_0x20b0a4,_0x11b098='user:position:'+_0x20b0a4,_0x503dc7=_0x1e7af2['getContainedElement']();let _0x1b3090=_0x1e7af2['start'];if(_0x503dc7&&_0x503dc7['is']('element','tableCell')){const _0x43d8d1=function(_0x2234d5,_0x8b6fab){for(const _0x16a1d7 of _0x2234d5['getPositions']())if(_0x8b6fab['schema']['checkChild'](_0x16a1d7,'$text'))return _0x16a1d7;}(_0x1e7af2,_0x15da68);_0x43d8d1&&(_0x1b3090=_0x43d8d1,_0x1e7af2=_0x3cc662['createRange'](_0x1b3090));}const _0x41421b=_0x3cc662['createRange'](_0x1b3090);_0x15da68['markers']['has'](_0x452555)?(_0x3cc662['updateMarker'](_0x452555,{'range':_0x1e7af2}),_0x3cc662['updateMarker'](_0x11b098,{'range':_0x41421b})):(_0x3cc662['addMarker'](_0x452555,{'range':_0x1e7af2,'usingOperation':!0x0}),_0x3cc662['addMarker'](_0x11b098,{'range':_0x41421b,'usingOperation':!0x0}));}function F(_0x3b4722,_0x3573e5,_0x40a67b){const _0x55f1d2=_0x3b4722['t'],t=_0x3b4722['t'];switch(_0x3573e5){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 _0x55f1d2({'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'},_0x40a67b);default:return'';}}let $=0x1;class l extends _0x4f787e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x18041f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,W,_0x1d653d,_0x176ee1,_0x4490d8];}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 _0x29210a=this['serverHistory']['getOperations']();for(let _0xa0e9bf=_0x29210a['length']-0x1;_0xa0e9bf>=0x0;_0xa0e9bf--){const _0x5abbc7=_0x29210a[_0xa0e9bf];if(!this['_disconnectionOperations']['has'](_0x5abbc7))return _0x5abbc7['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xdd2e8){if(super(_0xdd2e8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3775ce(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1eae7a('collaboration-missing-channelid',this);const _0x16f5dd=_0xdd2e8['config']['get']('cloudServices.bundleVersion')||at;this['_service']=new l['CollaborativeEditingService'](_0x16f5dd,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x45edb8(),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 Q(this['_disconnectionOperations']);}['init'](){const _0x5b2913=this['editor'],_0x219a49=_0x5b2913['plugins']['get'](_0x176ee1),_0x3ed1a3=_0x5b2913['plugins']['get'](n);this['listenTo'](_0x219a49,'getOperationAuthor',(_0x43bb28,_0x391d99)=>{const _0x534c1e=_0x391d99[0x0];_0x534c1e['_authorId']&&(_0x43bb28['return']=_0x219a49['getUser'](_0x534c1e['_authorId']),_0x43bb28['stop']()),null===_0x534c1e['_authorId']&&(_0x43bb28['return']=null,_0x43bb28['stop']());},{'priority':'high'}),this['listenTo'](_0x5b2913['model']['document']['selection'],'change:range',(_0x5dc979,_0x25c20d)=>{_0x25c20d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5b2913['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5b2913['model']['on']('applyOperation',(_0x12cc28,_0x520b30)=>{const _0x586965=_0x520b30[0x0];_0x586965['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x586965),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3ed1a3,'state',this,'_hasSynchronizationProblem',(_0x36ae0a,_0x3e5913)=>'connected'===_0x36ae0a&&!_0x3e5913),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5b2913['disableReadOnlyMode']('rtc-offline'):_0x5b2913['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5b2913['disableReadOnlyMode']('rtc-offline'):_0x5b2913['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3f21d1=this['editor']['plugins']['get'](i),_0x384315=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x3f21d1['unregister'](this['_channelId']);const _0x6f9dde=await this['_service']['reconnect'](_0x384315['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x6f9dde)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x22845b=await this['_service']['getConnectedSessions']();_0x3f21d1['register'](this['_channelId'],_0x22845b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x89a42d){if(function(_0x480875){return'404'===_0x480875['code'];}(_0x89a42d)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xcdcbe4){return'409'===_0xcdcbe4['code'];}(_0x89a42d)){const _0x5d089c=F(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'](_0x5d089c);}else{if(!(_0x89a42d instanceof K))throw _0x89a42d;this['_handleReconnectionError']();}}}}['destroy'](){const _0x5b3b9a=this['editor']['plugins']['get'](n),_0x1df938=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1df938['channelSessions']['has'](this['_channelId'])&&_0x1df938['unregister'](this['_channelId']),_0x5b3b9a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x13d373){if(this['sessionId']!==_0x13d373['sessionId']&&this['_lastSyncedOperationId']!==_0x13d373['lastOperationId'])throw new K();return this['sessionId']=_0x13d373['sessionId'],this['_handleServerResponse']([],{..._0x13d373,'wereChangesApplied':!0x1,'data':_0x13d373['data']},'reconnect');}async['_connectService'](_0x192618,_0x35773e=!0x1){const {connection:_0x55b5cd}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x55b5cd,this['_channelId'])['then'](_0xc96b2e=>this['_initSessionsHandling'](_0xc96b2e))['catch'](_0x555790=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x555790);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x207022,_0x8cccbf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x8cccbf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x1a0d1e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x192618);this['_isPendingUpdate']=!0x0;const _0x2b9ef9=await this['_service']['connect'](_0x55b5cd,this['_compressOperations'](_0x192618),_0x1a0d1e);if(this['sessionId']=_0x2b9ef9['sessionId'],_0x35773e){if(!_0x2b9ef9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2b9ef9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x192618,_0x2b9ef9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2b9ef9,_0x192618);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5da838=this['editor']['plugins']['get'](i),_0xe507b0=this['editor']['plugins']['get'](W),_0xd02515=_0x5da838['channelSessions']['get'](this['_channelId']);_0xd02515&&_0xd02515['length']>0x1?_0xe507b0['createUserMarkerOperations']():this['listenTo'](_0x5da838,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5da838['channelSessions']['get'](this['_channelId'])['length']&&_0xe507b0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x32327c,_0x4f07ad,_0x2873b1,_0x51fe74){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4f07ad){const _0x5df948=this['_decompressOperations'](_0x2873b1,_0x51fe74);await this['_fetchMissingUsers'](_0x5df948),this['_handleExternalOperations'](_0x5df948,_0x4f07ad,_0x2873b1['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x53245f}=this['editor'];let _0x3dbf63;try{_0x3dbf63=await this['_service']['getDocumentDetails']();}catch{const _0x474178=F(_0x53245f,'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'](_0x474178);}const _0x28707f=_0x3dbf63['currentDocumentSession']||_0x3dbf63['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x28707f['lastOperationId']){const _0x63126a=F(_0x53245f,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x63126a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x367ce8){const _0x5b0847=this['editor']['plugins']['get'](i);this['listenTo'](_0x5b0847,'sessionAdd:'+this['_channelId'],(_0x196f85,{session:_0x52dd4c})=>{if(_0x52dd4c['id']===_0x5b0847['mySessionId']){_0x196f85['off']();const _0x5403bc=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4bdb14=_0x52dd4c['permissions'];_0x5403bc&&_0x5403bc['isEnabled']&&(_0x4bdb14=_0x4bdb14['filter'](_0x25d059=>'document:write'!==_0x25d059)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4bdb14,this['_channelId']);}}),_0x5b0847['register'](this['_channelId'],_0x367ce8);}['_initThrowingOnDataSet'](){const _0x467339=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x304a93)=>{if(!_0x304a93[_0x304a93['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1eae7a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x467339['apply'](this['editor']['data'],_0x304a93);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x46d7ac,[_0x5d4565])=>{if(this['_document']['version'])throw new _0x1eae7a('realtimecollaborationclient-init-document-already-initialized',this);_0x46d7ac['stop'](),this['_setPendingAction']();const _0x4283b9=this['editor']['config']['get']('rootsAttributes'),_0xd8fd2d=this['_getOperationsFromInitData'](_0x5d4565,_0x4283b9);0x0==_0xd8fd2d['length']&&_0xd8fd2d['push'](new _0x1f2b17(0x0)),_0x46d7ac['return']=this['_connectService'](_0xd8fd2d)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4f77a=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4f77a))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4c7543,[_0x584abd,_0x24c68a])=>{_0x4c7543['stop']();const _0x3a6d72=this['editor']['model']['document']['getRoot'](_0x584abd);if(!this['_knownRootNames']['has'](_0x584abd)){const _0x718d20=_0x24c68a&&_0x24c68a['data']?_0x24c68a['data']:'',_0x1056aa=_0x24c68a&&_0x24c68a['attributes']?_0x24c68a['attributes']:{};await this['_loadRoot'](_0x584abd,_0x718d20,_0x1056aa);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3a6d72['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3a6d72);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x57e3f2){const _0x2674b5=this['editor']['plugins']['get'](_0x176ee1),{connection:_0x38f220}=this['editor']['plugins']['get'](n),_0x37a921=new Set();for(const _0x17e23 of _0x57e3f2){const _0x28771c=_0x17e23['_authorId'];_0x28771c&&!_0x2674b5['getUser'](_0x28771c)&&_0x37a921['add'](_0x28771c);}if(0x0===_0x37a921['size'])return;const _0x33f2ff=await lt['getMany'](_0x38f220,Array['from'](_0x37a921));for(const _0x441aa2 of _0x33f2ff)_0x2674b5['getUser'](_0x441aa2['id'])||_0x2674b5['addUser'](_0x441aa2);}['_getOperationsFromInitData'](_0x879927,_0x2b8220={}){const _0x92664f=this['editor']['model'],_0x4ceb2b=[];let _0x12b228=0x0;const _0x3d1df6='string'==typeof _0x879927?{'main':_0x879927}:_0x879927;for(const _0x15c671 of Object['keys'](_0x3d1df6)){if(!this['_document']['roots']['has'](_0x15c671))throw new _0x1eae7a('realtimecollaborationclient-init-non-existent-root',this);const _0x2afff8=this['editor']['data']['parse'](_0x3d1df6[_0x15c671]),_0x270f21=this['_document']['getRoot'](_0x15c671),_0x4b1f1d=new _0x2b998f(_0x92664f['createPositionAt'](_0x270f21,0x0),_0x2afff8,_0x12b228++);_0x4ceb2b['push'](_0x4b1f1d);for(const [_0x4f6dba,_0x2dd379]of _0x2afff8['markers']){const _0x49a3d5=_0x92664f['createRange'](_0x92664f['createPositionFromPath'](_0x270f21,_0x2dd379['start']['path']['slice']()),_0x92664f['createPositionFromPath'](_0x270f21,_0x2dd379['end']['path']['slice']())),_0x591d99=new _0x4f333c(_0x4f6dba,null,_0x49a3d5,_0x92664f['markers'],!0x0,_0x12b228++);_0x4ceb2b['push'](_0x591d99);}}if(_0x2b8220)for(const [_0x293f33,_0x13cc7a]of Object['entries'](_0x2b8220)){const _0x41a288=_0x92664f['document']['getRoot'](_0x293f33);if(!_0x41a288)throw new _0x1eae7a('multi-root-editor-root-attributes-no-root',null);for(const [_0xa46b6b,_0x5b61b8]of Object['entries'](_0x13cc7a))if(null!==_0x5b61b8){const _0x5a7831=new _0x16d8a2(_0x41a288,_0xa46b6b,null,_0x5b61b8,_0x12b228++);_0x4ceb2b['push'](_0x5a7831);}}return _0x4ceb2b;}async['_loadRoot'](_0x30d13d,_0x31f81f,_0x46d89a){this['_getOperationsFromInitData']({[_0x30d13d]:_0x31f81f},{[_0x30d13d]:_0x46d89a})['forEach']((_0x3b9a5f,_0x358f6a)=>{_0x3b9a5f['baseVersion']=this['_document']['version']+_0x358f6a,_0x3b9a5f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3b9a5f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x59a440,_0x4b3131){let _0x5bc146;this['_offset']=_0x59a440['offset'];const _0x46fd4a=_0x59a440['wereChangesApplied']&&!_0x59a440['initData'],_0x160727=_0x46fd4a?0x0:_0x59a440['data']['baseVersion'];if(_0x4b3131['forEach'](_0x339339=>{_0x339339['_isInit']=!0x0,_0x339339['createdAt']=_0x59a440['sessionCreatedAt'],_0x339339['_authorId']=null;}),_0x46fd4a)_0x5bc146=_0x4b3131,this['_applyOperationsSet'](_0x5bc146,_0x46fd4a);else{if(_0x59a440['initData']){const _0x189664=this['_getOperationsFromInitData'](_0x59a440['initData']);this['_document']['history']['version']=-_0x189664['length'],_0x189664['forEach'](_0x57c8cd=>{_0x57c8cd['baseVersion']-=_0x189664['length'],_0x57c8cd['createdAt']=_0x59a440['sessionCreatedAt'],_0x57c8cd['_isInit']=!0x0,_0x57c8cd['_authorId']=null;}),this['_applyOperationsSet'](_0x189664,!0x0),this['serverHistory']['version']=-_0x189664['length']+this['_offset'],this['_updateServerHistory'](_0x189664);}this['_document']['history']['version']=_0x160727,_0x5bc146=this['_decompressOperations'](_0x59a440['data'],_0x59a440['metadata']),await this['_fetchMissingUsers'](_0x5bc146),this['_applyOperationsSet'](_0x5bc146,_0x46fd4a);}_0x59a440['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5bc146,_0x59a440['lastOperationId']),this['_lastSyncedOperationId']=_0x59a440['lastOperationId']),this['serverHistory']['version']=_0x160727+this['_offset'],this['_updateServerHistory'](_0x5bc146),_0x4b3131['filter'](_0x3e91f0=>{const _0x44c8f9=this['_getAffectedRoot'](_0x3e91f0);return _0x44c8f9&&!this['_knownRootNames']['has'](_0x44c8f9);})['forEach']((_0x3f515d,_0xb6361a)=>{_0x3f515d['baseVersion']=this['_document']['version']+_0xb6361a,this['_saveOperationInBuffer'](_0x3f515d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xddf8a8,_0xfd3afa){const _0x4d007c=_0xfd3afa&&_0xfd3afa['message'];if(_0x4d007c&&_0x4d007c['startsWith']('realtimecollaborationclient'))throw _0xfd3afa;const _0xdbaf84=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0xdbaf84['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1eae7a(_0xddf8a8,this['editor'],_0x4d007c?{'originalError':_0x4d007c}:void 0x0);}['_saveOperationInBuffer'](_0x529e0e){this['_knownOperations']['has'](_0x529e0e)||(this['_knownOperations']['add'](_0x529e0e),this['_bufferedOperations']['push'](_0x529e0e),this['_pendingAction']||'marker'==_0x529e0e['type']&&!_0x529e0e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x122284=!0x1){!_0x122284&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x12485a=>{_0x12485a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x44c4c8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5b10f8){return _0x5b10f8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b10f8['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5b10f8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x44c4c8)||this['_crash'](_0x44c4c8['message'],_0x44c4c8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5da56b=>{this['on']('change:_isPendingUpdate',()=>{_0x5da56b();});});}async['_sendBufferedOperations'](){const _0x23abc4=this['editor']['plugins']['get'](W);if(this['_shouldSendSelectionUpdate']()&&(_0x23abc4['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x356dfe=[...this['_bufferedOperations']];for(const _0x4f1c99 of _0x356dfe)_0x4f1c99['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4f1c99);const _0x3e0a35=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x356dfe),_0x1b6e70=$++,_0x15107f=this['_compressOperations'](_0x356dfe),_0x13abf0=await this['_service']['sendOperations'](_0x15107f,_0x15107f['baseVersion'],_0x3e0a35);try{return await this['_handleServerResponse'](_0x356dfe,_0x13abf0,_0x1b6e70);}catch(_0x336a22){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x336a22);}}async['_handleServerResponse'](_0x2e9b31,_0x5d996d,_0x3f0753){if('error'in _0x5d996d)throw _0x5d996d['error'];let _0x470c7d=!0x1;if(_0x5d996d['wereChangesApplied']){_0x5d996d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5d996d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2279c5=>!_0x2e9b31['includes'](_0x2279c5));for(const _0x362936 of _0x2e9b31)_0x362936['createdAt']='lastOperationAcceptedAt'in _0x5d996d&&_0x5d996d['lastOperationAcceptedAt']||void 0x0;J(_0x2e9b31,_0x5d996d['version']-_0x2e9b31['length']),this['_updateServerHistory'](_0x2e9b31);const _0x179f14=_0x2e9b31['filter'](_0xd6052b=>{if(!_0xd6052b['_isInit'])return!0x1;const _0x389588=this['_getAffectedRoot'](_0xd6052b);return _0x389588&&!this['_knownRootNames']['has'](_0x389588);});J(_0x179f14,this['_document']['version']),this['_applyOperationsSet'](_0x179f14),_0x470c7d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x44a754=this['_decompressOperations'](_0x5d996d['data'],_0x5d996d['metadata'])['filter'](_0x5f98da=>_0x5f98da['baseVersion']>=this['_lastServerVersion']);_0x44a754['forEach'](_0x2d4554=>this['_addKnownRoot'](_0x2d4554)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4ac41f=>!_0x4ac41f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4ac41f))),this['_bufferedOperations']['length']&&J(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x44a754),_0x470c7d=this['_handleExternalOperations'](_0x44a754,_0x5d996d['version'],_0x5d996d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x470c7d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1b57e9,_0x238f18,_0x1c69ad){try{const _0x5ae6d4={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x13515b,operationsB:_0x43ace2,originalOperations:_0x48084a}=_0x3d32e8(_0x1b57e9,this['_bufferedOperations'],_0x5ae6d4);J(_0x13515b,this['_document']['version']),J(_0x43ace2,_0x238f18);for(const _0x392bcf of _0x13515b){const _0x51b3bd=_0x48084a['get'](_0x392bcf);_0x392bcf['_authorId']=_0x51b3bd?_0x51b3bd['_authorId']:null;}_0x1c69ad&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b57e9,_0x1c69ad),this['_lastSyncedOperationId']=_0x1c69ad),this['_bufferedOperations']=[..._0x43ace2],this['_applyOperationsSet'](_0x13515b),this['_updateServerHistory'](_0x1b57e9);}catch(_0xa8927e){return console['error'](_0xa8927e),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1485f0,_0x5b1e4a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4f3154=>{for(const _0x280f45 of _0x1485f0)this['_knownOperations']['add'](_0x280f45),this['_addKnownRoot'](_0x280f45),_0x4f3154['batch']['addOperation'](_0x280f45),this['editor']['model']['applyOperation'](_0x280f45);});}['_addKnownRoot'](_0x260369){const _0x5077eb=this['_getAffectedRoot'](_0x260369);_0x5077eb&&this['_knownRootNames']['add'](_0x5077eb);}['_getAffectedRoot'](_0x5b880a){let _0x2b304b,_0x412da4;switch(_0x5b880a['type']){case'insert':_0x2b304b=_0x5b880a['position']['root'];break;case'marker':if(_0x412da4=_0x5b880a['newRange'],!_0x412da4)return null;_0x2b304b=_0x412da4['root'];break;case'addRootAttribute':_0x2b304b=_0x5b880a['root'];break;case'addRoot':_0x2b304b=_0x5b880a['affectedSelectable'];break;case'move':_0x2b304b=_0x5b880a['targetPosition']['root'];break;default:return null;}return _0x2b304b['rootName'];}['_updateServerHistory'](_0x28fc84){_0x28fc84['forEach'](_0x410e16=>{const _0x3a5603=_0x410e16['clone']();_0x3a5603['_authorId']=_0x410e16['_authorId'],_0x3a5603['_isInit']=!!_0x410e16['_isInit'],_0x3a5603['createdAt']=_0x410e16['createdAt'],_0x3a5603['baseVersion']+=this['_offset'],_0x410e16['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3a5603),this['serverHistory']['addOperation'](_0x3a5603);});}['_handleReconnectionError'](_0x260f8c){const _0x2c6247=this['editor']['plugins']['get']('Notification'),_0x5e9e46=this['editor']['locale'];_0x260f8c||(_0x260f8c=F(_0x5e9e46,'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.')),_0x2c6247['showWarning'](_0x260f8c,{'title':F(_0x5e9e46,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1d653d)['add'](F(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1d653d)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x78dc93){const _0x3eb065=_0x78dc93['map'](_0x3f6d2e=>_0x3f6d2e['toJSON']());return this['_compressor']['compress'](_0x3eb065);}['_decompressOperations'](_0x3b92d7,_0x2665f7){return this['_compressor']['decompress'](_0x3b92d7)['map']((_0x24b8f5,_0x484d50)=>{const _0x247590='init'==_0x2665f7[_0x484d50]['type'];if('InsertOperation'==_0x24b8f5['__className']){const _0x476f6f=_0x24b8f5['position']['root'];!this['_document']['getRoot'](_0x476f6f)&&(this['_document']['createRoot']('$root',_0x476f6f)['_isAttached']=!0x1);}const _0x36b3a3=_0x178468['fromJSON'](_0x24b8f5,this['_document']);return _0x36b3a3['wasUndone']=_0x24b8f5['wasUndone'],_0x36b3a3['_isInit']=_0x247590,_0x36b3a3['_authorId']=_0x247590?null:_0x2665f7[_0x484d50]['userId'],_0x36b3a3['_isDisconnection']='cs:removeUser'===_0x2665f7[_0x484d50]['type'],_0x36b3a3['createdAt']=_0x2665f7[_0x484d50]['createdAt'],_0x36b3a3;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x300ea3=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x300ea3&&_0x300ea3['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class K extends Error{}function J(_0xab018c,_0x2954d9){for(const _0x4f0938 of _0xab018c)_0x4f0938['baseVersion']=_0x2954d9++;}class Q{['_ignoredOperations'];['_operationToId'];constructor(_0xc32a7b){this['_ignoredOperations']=_0xc32a7b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x152a25){let _0x3fc6c7=_0x152a25['length'];for(;_0x3fc6c7--;){const _0x58a41e=_0x152a25[_0x3fc6c7];if(!this['_ignoredOperations']['has'](_0x58a41e)){if(!this['_operationToId']['has'](_0x58a41e)){const _0x3b78e1=_0x510e6b()['slice'](0x1,0x12);this['_operationToId']['set'](_0x58a41e,_0x3b78e1);}return this['_operationToId']['get'](_0x58a41e);}}}['setIdForTheLastOperation'](_0x41e1fd,_0x2854a6){if(!_0x2854a6)return;let _0x5f18b4=_0x41e1fd['length'];for(;_0x5f18b4--;){const _0x40406a=_0x41e1fd[_0x5f18b4];this['_ignoredOperations']['has'](_0x40406a)||this['_operationToId']['set'](_0x40406a,_0x2854a6);}}}class a extends _0x4f787e{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4c249c{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x176ee1];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x7acc95){super(_0x7acc95),this['_services']=new Map();}async['init'](){const _0x4e9a5c=this['context'],_0xdd6ccd=_0x4e9a5c['plugins']['get']('CommentsRepository');if(_0x4e9a5c['plugins']['get'](n)['addToReconnectionStack'](this),_0xdd6ccd['adapter']={'addCommentThread':async({channelId:_0x1a1029,threadId:_0x1fef69,comments:_0x519510,resolvedAt:_0x571044,resolvedBy:_0x29648a,context:_0x2cad7c,attributes:_0x52c574})=>{const _0x2a2da9=await this['_getService'](_0x1a1029)['addCommentThread']({'commentThreadId':_0x1fef69,'comments':_0x519510['map'](_0x52684c=>function(_0x251625,_0x51cda2,_0x59e5af){return{'commentThreadId':_0x59e5af,'commentId':_0x251625['commentId'],'userId':_0x251625['authorId'],'content':_0x251625['content'],'documentId':_0x51cda2,'createdAt':_0x251625['createdAt'],'attributes':_0x251625['attributes']||{}};}(_0x52684c,_0x1a1029,_0x1fef69)),'resolvedAt':_0x571044,'resolvedBy':_0x29648a,'context':_0x2cad7c,'attributes':_0x52c574})['catch'](dt);return{'threadId':_0x2a2da9['commentThreadId'],'comments':_0x2a2da9['comments']};},'getCommentThread':async({channelId:_0x27bf08,threadId:_0x28d97e})=>{const _0x7e3425=await this['_getService'](_0x27bf08)['getCommentThread'](_0x28d97e)['catch'](ot)['catch'](dt);return _0x7e3425?_0x7e3425['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x7e3425]),{'threadId':_0x7e3425['commentThreadId'],'comments':_0x7e3425['comments']['map'](nt),'context':_0x7e3425['context'],'resolvedAt':_0x7e3425['resolvedAt'],'resolvedBy':_0x7e3425['resolvedBy'],'attributes':_0x7e3425['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x8061d0,threadId:_0xad3728,context:_0x32cae6,unlinkedAt:_0x1b20fc,attributes:_0x35ed38})=>this['_getService'](_0x8061d0)['updateCommentThread']({'commentThreadId':_0xad3728,'context':_0x32cae6,'attributes':_0x35ed38,'unlinkedAt':_0x1b20fc})['catch'](ot)['catch'](dt),'resolveCommentThread':async({channelId:_0x54a801,threadId:_0xca1582})=>{const _0x439bfe=await this['_getService'](_0x54a801)['resolveCommentThread'](_0xca1582)['catch'](ot)['catch'](dt);return{'threadId':_0x439bfe['commentThreadId'],'resolvedAt':_0x439bfe['resolvedAt'],'resolvedBy':_0x439bfe['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5f5089,threadId:_0x3ee42a})=>this['_getService'](_0x5f5089)['reopenCommentThread'](_0x3ee42a)['catch'](ot)['catch'](dt),'removeCommentThread':({channelId:_0x5324f0,threadId:_0x74421e})=>this['_getService'](_0x5324f0)['removeCommentThread'](_0x74421e)['catch'](ot)['catch'](dt),'addComment':({channelId:_0x785c1b,threadId:_0x1ed2e1,commentId:_0x8ffae7,content:_0x308d66,attributes:_0x35a0b2})=>this['_getService'](_0x785c1b)['addComment'](_0x1ed2e1,_0x8ffae7,_0x308d66,_0x35a0b2)['catch'](dt),'updateComment':({channelId:_0x1c05cd,threadId:_0x230cd1,commentId:_0x3cd478,content:_0x36df6b,attributes:_0x12a3b0})=>this['_getService'](_0x1c05cd)['updateComment'](_0x230cd1,_0x3cd478,_0x36df6b,_0x12a3b0)['catch'](ot)['catch'](dt),'removeComment':({channelId:_0x514887,threadId:_0x4070d4,commentId:_0x126fab})=>this['_getService'](_0x514887)['removeComment'](_0x4070d4,_0x126fab)['catch'](ot)['catch'](dt)},_0x4e9a5c instanceof tt){const _0x5cd789=_0x4e9a5c['config']['get']('collaboration.channelId'),_0x3dc054=_0x4e9a5c['plugins']['get'](i);await this['_setUpService'](_0x5cd789);const _0x2b2b11=await this['_services']['get'](_0x5cd789)['getConnectedSessions']();this['listenTo'](_0x3dc054,'sessionAdd:'+_0x5cd789,(_0x570ced,{session:_0x3a7270})=>{_0x3a7270['id']===_0x3dc054['mySessionId']&&(_0x570ced['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3a7270['permissions'],_0x5cd789));}),_0x3dc054['register'](_0x5cd789,_0x2b2b11);}}async['_setUpService'](_0x257a9e){if(this['_services']['has'](_0x257a9e))throw new _0x1eae7a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x257a9e});const _0x507d6b=this['context']['plugins']['get']('CommentsRepository'),_0x316ee6=new s['CommentsService'](_0x257a9e);this['_services']['set'](_0x257a9e,_0x316ee6),this['listenTo'](_0x316ee6,'commentThreadAdded',(_0x484784,_0x19dc69)=>{const {commentThreadId:_0x2d35c1,documentId:_0x11a013,context:_0x2c8bc6,attributes:_0x1b0ce1,resolvedAt:_0x11627a,resolvedBy:_0x4e59a5,comments:_0x25caab}=_0x19dc69;_0x507d6b['getCommentThread'](_0x2d35c1)||_0x507d6b['addCommentThread']({'threadId':_0x2d35c1,'channelId':_0x11a013,'comments':_0x25caab?_0x25caab['map'](nt):[],'context':_0x2c8bc6,'attributes':_0x1b0ce1,'resolvedAt':_0x11627a,'resolvedBy':_0x4e59a5,'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadUpdated',(_0xb6d053,{commentThreadId:_0x4b29bc,documentId:_0x442768,context:_0x36719a,unlinkedAt:_0x4e91c6,attributes:_0x34a6c1})=>{_0x507d6b['getCommentThread'](_0x4b29bc)&&_0x507d6b['updateCommentThread']({'threadId':_0x4b29bc,'channelId':_0x442768,'context':_0x36719a,'unlinkedAt':_0x4e91c6,'attributes':_0x34a6c1,'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadResolved',(_0x533913,{commentThreadId:_0x6991ae,resolvedBy:_0x356d7a,resolvedAt:_0xa5ec09})=>{const _0x20e600=_0x507d6b['getCommentThread'](_0x6991ae);_0x20e600&&_0x20e600['resolve']({'resolvedBy':_0x356d7a,'resolvedAt':_0xa5ec09,'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadReopened',(_0x40ca93,{commentThreadId:_0x31879f})=>{const _0x5ebe41=_0x507d6b['getCommentThread'](_0x31879f);_0x5ebe41&&_0x5ebe41['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadRemoved',(_0x218801,{commentThreadId:_0x4f2a19})=>{const _0xa1a347=_0x507d6b['getCommentThread'](_0x4f2a19);_0xa1a347&&_0xa1a347['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentAdded',(_0x35738b,_0x4f87d1)=>{const _0x4bade2=_0x4f87d1['commentThreadId'],_0x58dbd7=_0x507d6b['getCommentThread'](_0x4bade2);_0x58dbd7&&_0x58dbd7['addComment']({...nt(_0x4f87d1),'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentUpdated',(_0x577868,{commentThreadId:_0x476fe1,commentId:_0x731e20,content:_0xe4aa06,attributes:_0x5070ce})=>{const _0x345833=_0x507d6b['getCommentThread'](_0x476fe1);if(_0x345833){const _0x13a101=_0x345833['getComment'](_0x731e20);_0x13a101&&_0x13a101['update']({'content':_0xe4aa06,'attributes':_0x5070ce,'isFromAdapter':!0x0});}}),this['listenTo'](_0x316ee6,'commentRemoved',(_0x519cc7,{commentThreadId:_0x491118,commentId:_0x57a2da})=>{const _0x2d2c70=_0x507d6b['getCommentThread'](_0x491118);if(_0x2d2c70){const _0x233cee=_0x2d2c70['getComment'](_0x57a2da);_0x233cee&&_0x233cee['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x257a9e);}['destroy'](){if(this['context']instanceof tt){const _0x4511d8=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4511d8);}}['_terminateService'](_0x20dfe7){if(!this['_services']['has'](_0x20dfe7))throw new _0x1eae7a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x20dfe7});this['_getService'](_0x20dfe7)['disconnect'](),this['_services']['delete'](_0x20dfe7);}async['reconnect'](){for(const _0x42b398 of this['_services']['keys']())await this['_connectService'](_0x42b398);if(this['context']instanceof tt){const _0x1985c1=this['context']['config']['get']('collaboration.channelId'),_0x3da24a=this['context']['plugins']['get'](i);_0x3da24a['unregister'](_0x1985c1);const _0x26f038=await this['_services']['get'](_0x1985c1)['getConnectedSessions']();_0x3da24a['register'](_0x1985c1,_0x26f038);}}async['_connectService'](_0x386e5f){const {connection:_0xd65b8b}=this['context']['plugins']['get'](n),_0x123d78=this['context']['plugins']['get']('CommentsRepository'),_0x39d5c0=this['_services']['get'](_0x386e5f),_0x4c248f=await _0x39d5c0['connect'](_0xd65b8b);await this['_fetchMissingUsersForThreads'](_0x4c248f);const _0xeb68f1=new Set(Array['from'](_0x123d78['getCommentThreads']({'channelId':_0x386e5f}),_0x84143f=>_0x84143f['id']));for(const _0x5d351c of _0x4c248f)_0x5d351c['deletedAt']||_0xeb68f1['delete'](_0x5d351c['commentThreadId']);for(const _0x5e6be5 of _0xeb68f1)_0x123d78['getCommentThread'](_0x5e6be5)['remove']({'isFromAdapter':!0x0});for(const _0x206bd5 of _0x4c248f){let _0xbbbb6a=_0x123d78['getCommentThread'](_0x206bd5['commentThreadId']);const {commentThreadId:_0x4a3762,context:_0x5b8c2a,attributes:_0x2845d9,resolvedBy:_0x227b3b,resolvedAt:_0x23e494,unlinkedAt:_0x1f6c12,deletedAt:_0x3179cc}=_0x206bd5;if(_0x3179cc)continue;_0xbbbb6a||(_0xbbbb6a=_0x123d78['addCommentThread']({'channelId':_0x386e5f,'threadId':_0x4a3762,'context':_0x5b8c2a,'attributes':_0x2845d9||{},'resolvedBy':_0x227b3b,'resolvedAt':_0x23e494,'unlinkedAt':_0x1f6c12,'isFromAdapter':!0x0}));const _0x32cabb=new Set(Array['from'](_0xbbbb6a['comments'],_0x35362a=>_0x35362a['id']));for(const _0x13a760 of _0x206bd5['comments'])_0x32cabb['delete'](_0x13a760['commentId']);for(const _0x1dac5b of _0x32cabb)_0xbbbb6a['getComment'](_0x1dac5b)['remove']({'isFromAdapter':!0x0});for(const _0x4aed55 of _0x206bd5['comments']){const _0x1ff43b=_0xbbbb6a['getComment'](_0x4aed55['commentId']);_0x1ff43b?_0x1ff43b['content']!==_0x4aed55['content']&&_0x1ff43b['update']({'content':_0x4aed55['content'],'isFromAdapter':!0x0}):_0xbbbb6a['addComment'](Object['assign'](nt(_0x4aed55),{'isFromAdapter':!0x0}));}}}['_getService'](_0x55a6c3){if(!this['_services']['has'](_0x55a6c3))throw new _0x1eae7a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x55a6c3});return this['_services']['get'](_0x55a6c3);}async['_fetchMissingUsersForThreads'](_0x5b1c8a){const _0x2fa03a=this['context']['plugins']['get'](_0x176ee1),{connection:_0x3a8bc4}=this['context']['plugins']['get'](n),_0x390e42=new Set();for(const {resolvedBy:_0x30e565,comments:_0x2ada54}of _0x5b1c8a){_0x30e565&&!_0x2fa03a['getUser'](_0x30e565)&&_0x390e42['add'](_0x30e565);for(const {userId:_0x4ef07e}of _0x2ada54)_0x2fa03a['getUser'](_0x4ef07e)||_0x390e42['add'](_0x4ef07e);}if(0x0===_0x390e42['size'])return;const _0x2b7c06=await lt['getMany'](_0x3a8bc4,Array['from'](_0x390e42));for(const _0x9eeba3 of _0x2b7c06)_0x2fa03a['getUser'](_0x9eeba3['id'])||_0x2fa03a['addUser'](_0x9eeba3);}}async function ot(_0x2d08b0){if('404'!==_0x2d08b0['code'])throw _0x2d08b0;}function dt(_0x4b125b){if((_0x3e75f9=_0x4b125b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e75f9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e75f9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e75f9;throw _0x4b125b;}function nt(_0x4ef86d){return{'threadId':_0x4ef86d['commentThreadId'],'commentId':_0x4ef86d['commentId'],'content':_0x4ef86d['content'],'createdAt':_0x4ef86d['createdAt'],'authorId':_0x4ef86d['userId'],'attributes':_0x4ef86d['attributes']||{}};}class m extends _0x4f787e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x5386cf)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x49c4c0){super(_0x49c4c0);const _0x266627=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x266627);}['init'](){const _0x2f81ac=this['editor']['plugins']['get'](n),_0x3983e3=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3983e3['adapter']={'getSuggestion':async _0x384b95=>{await this['_waitForServiceReady']();const _0x233c16=await this['_trackChangesService']['get'](_0x384b95)['catch'](T);return await this['_fetchMissingUsersForThreads']([_0x233c16]),_0x233c16;},'addSuggestion':async({id:_0x43ceca,type:_0x57fff4,data:_0x204032,originalSuggestionId:_0x348e9f,attributes:_0x17dc30})=>{await this['_waitForServiceReady']();const _0x3bd0c3={'id':_0x43ceca,'type':_0x57fff4,'data':_0x204032,'originalSuggestionId':_0x348e9f,'attributes':_0x17dc30},_0x4c7357=await this['_trackChangesService']['add'](_0x43ceca,_0x57fff4,_0x204032,_0x348e9f,_0x17dc30)['catch'](_0x30fe3d=>{if(ut(_0x30fe3d))return new Promise(_0x30b7fe=>{this['_bufferedRequests']['set'](_0x43ceca,{'resolve':_0x30b7fe,'suggestionData':_0x3bd0c3});});throw _0x30fe3d;});return this['_bufferedRequests']['delete'](_0x43ceca),_0x4c7357;},'updateSuggestion':async(_0x38aebd,_0x5df9a5)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5df9a5['state'])return this['_trackChangesService']['update'](_0x38aebd,_0x5df9a5)['catch'](T);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x416ea5,_0x320fa2)=>{_0x3983e3['hasSuggestion'](_0x320fa2['id'])&&(_0x3983e3['getSuggestion'](_0x320fa2['id'])['attributes']=_0x320fa2['attributes']);}),this['_trackChangesService']['connect'](_0x2f81ac['connection'])['then'](_0x184cab=>(_0x2f81ac['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x184cab)['then'](()=>{for(const _0x57c46c of _0x184cab){_0x3983e3['addSuggestionData'](_0x57c46c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x480622=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x8ad526}=this['editor']['plugins']['get'](n),_0x59a41b=await this['_trackChangesService']['connect'](_0x8ad526);await this['_fetchMissingUsersForThreads'](_0x59a41b);for(const {suggestionData:_0x46bec2,resolve:_0x528f35}of this['_bufferedRequests']['values']()){let _0x29e537=_0x59a41b['find'](_0x29dbea=>_0x29dbea['id']===_0x46bec2['id']);_0x29e537||(_0x29e537=await this['_trackChangesService']['add'](_0x46bec2['id'],_0x46bec2['type'],_0x46bec2['data'],_0x46bec2['originalSuggestionId'])),_0x528f35(_0x29e537);}for(const _0x1a415c of _0x59a41b)_0x480622['hasSuggestion'](_0x1a415c['id'])||_0x480622['addSuggestionData'](_0x1a415c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0xe33f16=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3fd0b3=>{_0x3fd0b3['off'](),_0xe33f16();});});}async['_fetchMissingUsersForThreads'](_0x1a20f7){const _0x29f079=this['editor']['plugins']['get'](_0x176ee1),{connection:_0x45b3b2}=this['editor']['plugins']['get'](n),_0x2b7622=new Set();for(const {authorId:_0x49f3f7}of _0x1a20f7)_0x29f079['getUser'](_0x49f3f7)||_0x2b7622['add'](_0x49f3f7);if(0x0===_0x2b7622['size'])return;const _0x125470=await lt['getMany'](_0x45b3b2,Array['from'](_0x2b7622));for(const _0x547468 of _0x125470)_0x29f079['getUser'](_0x547468['id'])||_0x29f079['addUser'](_0x547468);}}function T(_0x321819){if(ut(_0x321819))return new Promise(()=>{});throw _0x321819;}function ut(_0x3df97d){return _0x3df97d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3df97d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4f787e{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x581e31=this['editor']['plugins']['get'](n),_0x335471=this['editor']['plugins']['get']('CommentsEditing'),_0x4be549=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x581e31,'change:state',(_0x4609c9,_0x1dbed3,_0x514eae)=>{_0x335471['isThreadsLoadingPaused']='connected'!==_0x514eae;});}),this['listenTo'](_0x581e31,'change:state',(_0x46fca3,_0x2f0617,_0x2f8fd0)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x2f8fd0);}),_0x4be549['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x4f787e{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x4f787e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0xd59705)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x176ee1];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ccfe1){super(_0x5ccfe1);const _0x3f1133=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x3f1133);}async['init'](){const _0x23e47b=this['editor']['plugins']['get'](l),_0x139cea=_0x23e47b['serverHistory'],_0x45dc49=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x139cea,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x23e47b['sessionId']});const _0x503cb1=this['editor']['config']['get']('cloudServices.bundleVersion')||at,_0x5a0736=await _0x26af7d['isBundleUploaded'](_0x45dc49['connection'],_0x503cb1);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x129203})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x129203)),'updateRevisions':async _0x3880b3=>{await this['_waitForServiceReady']();const _0xc47eec=this['_revisionTracker']['currentRevision'];if(_0x5a0736&&0x1===_0x3880b3['length']&&_0x3880b3[0x0]['id']===_0xc47eec['id'])return _0x3880b3;for(const _0x2d2fbe of _0x3880b3)_0x2d2fbe['id']===_0xc47eec['id']&&(_0x2d2fbe['isEmptyCurrent']=_0x2d2fbe['fromVersion']===_0x2d2fbe['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3880b3,this['_lastRequestId'])['then'](_0x3da43a=>(this['_lastRequestId']=_0x3da43a,_0x3880b3))['catch'](_0x2aa298=>{if(w(_0x2aa298)||'400'===_0x2aa298['code']&&void 0x0!==_0x2aa298['data']['wrongRequestId']){for(const _0x3ff1f8 of _0x3880b3){!this['_revisionTracker']['repository']['getRevision'](_0x3ff1f8['id'])||this['_revisionTracker']['_bufferUpdate'](_0x3ff1f8['id'],_0x3ff1f8,!0x1);}if(w(_0x2aa298))throw _0x2aa298;return _0x3880b3;}throw _0x2aa298;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x36358b,{revisionsData:_0xf6163a,requestId:_0x45e4d1})=>{Math['max'](..._0xf6163a['map'](_0x18d475=>_0x18d475['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xf6163a,_0x45e4d1);}):this['_handleRevisionsUpdate'](_0xf6163a,_0x45e4d1);});const {revisions:_0x187601,requestId:_0x406310}=await this['_revisionHistoryService']['connect'](_0x45dc49['connection']);_0x45dc49['addToReconnectionStack'](this),this['_lastRequestId']=_0x406310,await this['_fetchMissingUsers'](_0x187601);for(const _0x2b2e03 of _0x187601)this['_revisionTracker']['addRevisionData'](_0x2b2e03);this['listenTo'](_0x23e47b,'change:_isConnected',(_0x121f85,_0x22321e,_0x5be66f)=>{_0x5be66f&&(this['_oldOffset']=_0x23e47b['_offset'],_0x121f85['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x45dc49,'state',_0x4b83a5=>_0x4b83a5===_0x52c1ac['CONNECTED']);}async['reconnect'](){const _0x50c633=this['editor']['plugins']['get'](n),_0xaaed1d=this['editor']['plugins']['get'](l),_0x113683=async()=>{const _0x32ca21=this['_revisionTracker']['currentRevision'],_0x2f0940=_0x32ca21['id'],_0x14a28a=_0x2f0940!==_0xaaed1d['sessionId'];if(_0x14a28a){const _0x58acee=_0xaaed1d['_offset']-this['_oldOffset'],_0x20d980=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x32ca21['toVersion']+_0x58acee!==_0x20d980){const _0x4dae0e=_0x32ca21['fromVersion']+_0x58acee,_0x32281e=this['editor']['plugins']['get'](_0x176ee1),_0x4a0643=this['_revisionTracker']['buildRevisionData']({'revision':_0x32ca21,'from':_0x4dae0e,'to':_0x20d980});_0x4a0643['id']=_0x32ca21['id'];const _0x3847e9=_0x4a0643['authorsIds']['map'](_0x962d8e=>_0x32281e['getUser'](_0x962d8e));_0x32ca21['_update']({..._0x4a0643,'authors':_0x3847e9},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x32ca21['id'],_0x4a0643,!0x0);}this['_revisionTracker']['_startingVersion']=_0x20d980,(_0x32ca21['toVersion']===_0x32ca21['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2f0940)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2f0940),this['_revisionTracker']['_createCurrentRevision'](_0x20d980));}const {revisions:_0x1f6cd7,requestId:_0x35aca1}=await this['_revisionHistoryService']['reconnect'](_0x50c633['connection'],this['_lastRequestId']);_0x14a28a&&_0x1f6cd7['length']>0x0?_0xaaed1d['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1f6cd7),this['_handleRevisionsUpdate'](_0x1f6cd7,_0x35aca1),this['_revisionTracker']['sendBufferedUpdates']());};return _0xaaed1d['_isConnected']?_0x113683():new Promise((_0x373cb0,_0x422736)=>{_0xaaed1d['once']('change:_isConnected',()=>{_0x113683()['then'](_0x373cb0)['catch'](_0x422736);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xbeaa69=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3c31bb=>{_0x3c31bb['off'](),_0xbeaa69();});});}['_getLatestVersionFromServerOperations'](){const _0x33b63f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1ed794 of _0x33b63f)if('marker'!==_0x1ed794['type']||_0x1ed794['affectsData'])return _0x1ed794['baseVersion']+0x1;}['_getLatestVersion'](){const _0x986429=this['editor']['plugins']['get'](l);return new Promise(_0x3b7edd=>{_0x986429['_isPendingUpdate']?_0x986429['once']('change:_isPendingUpdate',()=>{_0x3b7edd(this['_getLatestVersionFromServerOperations']());}):_0x3b7edd(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4c9d4f,_0xfcef73){const _0x54b41e=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xfcef73;for(const _0x5b8155 of _0x4c9d4f){const _0x1656cd=_0x54b41e['getRevision'](_0x5b8155['id']);if(_0x1656cd){if((_0x5b8155['fromVersion']||_0x5b8155['toVersion'])&&(_0x5b8155['diffData']=null),_0x1656cd===this['_revisionTracker']['currentRevision']){const _0x27099a=Math['max'](_0x1656cd['toVersion'],_0x5b8155['toVersion']),_0x29d47c=Math['max'](_0x1656cd['fromVersion'],_0x5b8155['fromVersion']);let _0x146a07;_0x1656cd['toVersion']===_0x5b8155['toVersion']&&_0x1656cd['fromVersion']===_0x5b8155['fromVersion']?(_0x146a07=!0x0,this['_preventResendingRevisionData'](_0x5b8155)):_0x5b8155['toVersion']===_0x27099a&&_0x5b8155['fromVersion']===_0x29d47c?_0x146a07=!0x1:(_0x1656cd['toVersion']===_0x27099a&&_0x1656cd['fromVersion']===_0x29d47c||this['_fixRevision']({'revision':_0x1656cd,'from':_0x29d47c,'to':_0x27099a}),_0x146a07=!0x0),_0x146a07&&(delete _0x5b8155['fromVersion'],delete _0x5b8155['toVersion'],delete _0x5b8155['diffData'],delete _0x5b8155['createdAt'],delete _0x5b8155['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5b8155),this['_preventResendingRevisionData'](_0x5b8155);}else this['_revisionTracker']['addRevisionData'](_0x5b8155);}const _0x599d8c=_0x54b41e['getRevisions']();_0x599d8c['reverse']();for(let _0xeef501=0x0;_0xeef501<_0x599d8c['length']-0x1;_0xeef501++){const _0x3c6b2d=_0x599d8c[_0xeef501],_0x428583=_0x599d8c[_0xeef501+0x1];if(_0x3c6b2d['fromVersion']<_0x428583['toVersion']){const _0x405360=_0x428583['toVersion'],_0x3fd6e4=Math['max'](_0x405360,_0x3c6b2d['toVersion']);this['_fixRevision']({'revision':_0x3c6b2d,'from':_0x405360,'to':_0x3fd6e4});}}}['_fixRevision']({revision:_0xde0384,from:_0x5c306c,to:_0x2f04c7}={}){const _0x19248c=this['editor']['plugins']['get'](_0x176ee1),_0xa30426=this['_revisionTracker']['buildRevisionData']({'revision':_0xde0384,'from':_0x5c306c,'to':_0x2f04c7});_0xa30426['authors']=_0xa30426['authorsIds']['map'](_0x2a1608=>_0x19248c['getUser'](_0x2a1608)),_0xde0384['_update'](_0xa30426);}['_preventResendingRevisionData'](_0x2053bd){const _0x2ea2ea={};_0x2ea2ea['id']=_0x2053bd['id'];for(const _0x322cf8 of Object['keys'](_0x2053bd))'id'!==_0x322cf8&&(_0x2ea2ea[_0x322cf8]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2ea2ea['id'],_0x2ea2ea,!0x0);}async['_fetchMissingUsers'](_0x4377fd){const _0xde1c0f=this['editor']['plugins']['get'](_0x176ee1),{connection:_0x1bd2c6}=this['editor']['plugins']['get'](n),_0x42aa83=new Set();for(const _0x3a5985 of _0x4377fd){for(const _0x18dc87 of _0x3a5985['authorsIds'])_0x24d2d3(_0x18dc87);_0x3a5985['creatorId']&&_0x24d2d3(_0x3a5985['creatorId']);}if(0x0===_0x42aa83['size'])return;const _0x3d314c=await lt['getMany'](_0x1bd2c6,Array['from'](_0x42aa83));for(const _0x439c8c of _0x3d314c)_0xde1c0f['getUser'](_0x439c8c['id'])||_0xde1c0f['addUser'](_0x439c8c);function _0x24d2d3(_0x8b0de2){_0xde1c0f['getUser'](_0x8b0de2)||_0x42aa83['add'](_0x8b0de2);}}}function w(_0x1d8c2d){return _0x1d8c2d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1d8c2d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1d8c2d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x4f787e{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class C extends _0x25c62f{['_collapseAt'];constructor(_0x6f0e5,_0x278bec=0x6){super(_0x6f0e5);const _0x2eeb40=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x278bec,this['bind']('isHidden')['to'](this,'usersCount',_0x4ebced=>_0x4ebced<_0x278bec),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2eeb40['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x2eeb40['to']('usersCount',_0x52add2=>'+'+(_0x52add2-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x25c62f{['items'];['keystrokes'];constructor(_0x34852b){super(_0x34852b);const _0xf26053=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5fd0a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xf26053['if']('hasPopup'),'aria-expanded':_0xf26053['to']('isExpanded',_0x5eb68f=>this['hasPopup']&&String(_0x5eb68f)),'aria-label':_0xf26053['to']('hasPopup',_0x50b595=>F(_0x34852b,_0x50b595?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xf26053['to']('hasPopup',_0x20fc8e=>!!_0x20fc8e&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xf26053['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xf26053['to'](_0x1862b0=>{const _0x13db5d=_0x1862b0,_0x337b50=document['querySelector']('.ck-presence-list__dropdown-list'),_0x247f52=document['querySelector']('.ck-balloon-panel_with-arrow');_0x337b50?.['contains'](_0x13db5d['relatedTarget'])||_0x247f52?.['contains'](_0x13db5d['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2965b2,_0x341d54,_0x5e5618)=>{this['element']&&(_0x5e5618?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 y extends _0x25c62f{['counterView'];['inlineListView'];constructor(_0x1a6ccd,_0x28dbbc=0x6){super(_0x1a6ccd);const _0x29a17d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new C(this['locale'],_0x28dbbc),this['inlineListView']=new is(_0x1a6ccd),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4af116 of this['inlineListView']['items'])_0x4af116['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',_0x29a17d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class P extends _0x25c62f{['listWrapperView'];constructor(_0x5513e2,_0x702678){super(_0x5513e2);const _0x2bc602=this['bindTemplate'];this['listWrapperView']=new pt(_0x5513e2,_0x702678),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':F(_0x5513e2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2bc602['to'](_0x4eb717=>{const _0xae333a=_0x4eb717,_0x1fea0f=document['querySelector']('.ck-presence-list__list'),_0x23edc8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1fea0f?.['contains'](_0xae333a['relatedTarget'])||_0x23edc8?.['contains'](_0xae333a['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x48ce87{constructor(_0x67f925,_0x2db9fd){super(_0x67f925);const _0x2d039b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2db9fd?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2d039b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2d039b['to']('role'),'aria-label':_0x2d039b['to']('ariaLabel'),'aria-labelledby':_0x2d039b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x54019e['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1aa0d3=this['element'];_0x1aa0d3&&(this['_isScrollable']=Math['max'](_0x1aa0d3['scrollHeight'],_0x1aa0d3['clientHeight'])>0.8*window['innerHeight']);}}class _ extends st{['userView'];constructor(_0x412138,_0x40141e,_0x296711){super(_0x412138);const _0x48dc63=this['bindTemplate'];this['userView']=new rt(_0x412138,_0x40141e);const _0x16eac2={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x40141e['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x40141e['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x40141e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x296711&&(_0x16eac2['tag']='button',_0x16eac2['on']={'click':_0x48dc63['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x16eac2);}['focus'](){this['element']['focus']();}}class U extends _0x25c62f{['userView'];['markerView'];constructor(_0x4937d3,_0x3e77bf,_0x891c1){super(_0x4937d3);const _0x2f0bcf=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new rt(_0x4937d3,_0x3e77bf),this['markerView']=new ct(_0x4937d3,_0x3e77bf);const _0x301d4f=new it(_0x4937d3);_0x301d4f['template']['tag']='span',_0x301d4f['text']=_0x3e77bf['name'];const _0x2ef37c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2f0bcf['to']('isFocusable',_0x4ceaed=>!!_0x4ceaed&&0x0),'aria-labelledby':_0x301d4f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2f0bcf['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2f0bcf['to']('hasTooltip',_0x1fbb26=>!_0x1fbb26),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x301d4f]};_0x891c1&&(_0x2ef37c['tag']='button',_0x2ef37c['on']={'click':_0x2f0bcf['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2ef37c);}}class ct extends _0x25c62f{constructor(_0x3939b8,_0x20a0b5){super(_0x3939b8),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x20a0b5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4c249c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x18b1ca){super(_0x18b1ca),this['context']['config']['define']('presenceList',D);const _0x5a15fa=_0x18b1ca['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5a15fa)throw new _0x1eae7a('presencelist-collapseat-invalid-format',this);if(_0x5a15fa<0x1)throw new _0x1eae7a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3e0019(),this['balloonPanelView']=new _0x36d5d9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2595b5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2595b5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x195399,_0x59f11c)=>{this['_handleUserAdd'](_0x59f11c);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2b4b35,_0x5b5bed)=>{this['_handleUserRemove'](_0x5b5bed);});}['_createView'](){const _0x34e06b=this['context'],_0x52aa87=new y(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x154f74=this['balloonPanelView'];if(!_0x2f0fba(_0x34e06b['config']['get']('presenceList.container')))throw new _0x1eae7a('presencelist-missing-container',this);return _0x52aa87['counterView']['bind']('usersCount')['to'](this),_0x52aa87['bind']('isCollapsed')['to'](this,'usersCount',_0x22b23a=>{const {collapseAt:_0x5938e1}=_0x34e06b['config']['get']('presenceList'),_0x59bf14=_0x22b23a>=_0x5938e1;if(_0x59bf14&&!_0x52aa87['inlineListView']['items']['find'](_0xa58181=>_0xa58181 instanceof C)){const _0x3e226d=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x3e226d&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x52aa87['inlineListView']['items']['add'](_0x52aa87['counterView']);}return _0x59bf14||this['hideDropdown'](),_0x59bf14;}),_0x52aa87['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x18ac76=>{const _0x5b34a5=_0x34e06b['config']['get']('presenceList'),_0xf5a11e=new U(_0x34e06b['locale'],_0x18ac76,!!_0x5b34a5['onClick']);return _0xf5a11e['bind']('hasTooltip')['to'](_0x52aa87,'isCollapsed',_0x557bbc=>!_0x557bbc),_0xf5a11e['bind']('isFocusable')['to'](_0x52aa87,'isCollapsed',_0x23a9fc=>!_0x23a9fc),_0x5b34a5['onClick']&&this['listenTo'](_0xf5a11e,'execute',()=>{this['view']['isCollapsed']||_0x5b34a5['onClick'](_0x18ac76,_0xf5a11e['element']);}),_0xf5a11e;}),this['listenTo'](_0x52aa87['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x52aa87['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x52aa87['inlineListView']['keystrokes']['set']('Enter',(_0x4d4dce,_0x14030e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x14030e());}),_0x52aa87['render'](),_0x154f74['render'](),_0x5c002c({'emitter':_0x52aa87,'activator':()=>_0x154f74['isVisible'],'contextElements':[_0x154f74['element'],_0x52aa87['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x34e06b['config']['get']('presenceList.container')['appendChild'](_0x52aa87['element']),this['_bodyCollection']=new _0x5d787f(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x52aa87;}['_handleUserAdd'](_0x4c4176){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4c4176['isMe'])return;const _0x4f2ba7=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4f2ba7-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x9975ee=_0x4c4176['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4c4176,_0x9975ee);}['_handleUserRemove'](_0x47b7c7){this['usersCount']--;const {collapseAt:_0x3779dd}=this['context']['config']['get']('presenceList'),_0x3ad640=this['usersCount']>=_0x3779dd;if(this['currentDisplayedUsers']['get'](_0x47b7c7['id']))this['currentDisplayedUsers']['remove'](_0x47b7c7['id']);else{if(_0x3ad640&&this['currentDisplayedUsers']['length']+0x1===_0x3779dd-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3ad640?0x1:0x0)<this['usersCount']){for(const _0x1f754c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1f754c['id'])&&(this['currentDisplayedUsers']['add'](_0x1f754c,Math['min'](this['currentDisplayedUsers']['length']-(_0x3ad640?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3ad640?0x1:0x0)===_0x3779dd-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xe8fbfc=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new P(this['context']['locale'],!!_0xe8fbfc['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x482947}=this['presenceDropdownView'];_0x482947['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3033f4=>{if(!_0xe8fbfc['displayMe']&&_0x3033f4['isMe'])return null;const _0x4684da=new _(this['context']['locale'],_0x3033f4,!!_0xe8fbfc['onClick']);return _0xe8fbfc['onClick']&&this['listenTo'](_0x4684da,'execute',()=>{_0xe8fbfc['onClick'](_0x3033f4,_0x4684da['element']);}),_0x4684da;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x482947['focus'](),_0x482947['checkIfScrollable']();const _0xd5e7b3=(_0x3ac967,_0x445112)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x445112();};_0x482947['keystrokes']['set']('Esc',_0xd5e7b3),_0x482947['keystrokes']['set']('Shift+Tab',_0xd5e7b3),_0x482947['keystrokes']['set']('Tab',(_0x348c2c,_0x55bfc7)=>{!function(_0xcccaba){const _0x385c8a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x8ff12a=>_0x8ff12a+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x137a01=[...document['body']['querySelectorAll'](_0x385c8a)]['filter'](_0x41ecd7=>_0x41ecd7===document['activeElement']||_0x41ecd7['offsetWidth']+_0x41ecd7['offsetHeight']>0x0)['sort']((_0x45696b,_0x1bc221)=>(_0x45696b['tabIndex']||0x0)-(_0x1bc221['tabIndex']||0x0)),_0x152085=_0x137a01['indexOf'](_0xcccaba),_0x17ff24=_0x137a01[(_0x152085+0x1)%_0x137a01['length']];_0x17ff24&&_0x17ff24['focus']();}(this['view']['element']),this['hideDropdown'](),_0x55bfc7();}),_0x482947['focusTracker']['add'](this['view']['element']),_0x482947['focusTracker']['on']('change:isFocused',(_0x401cb1,_0xafb56e,_0x388828)=>{_0x388828||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x4c249c{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};