@ckeditor/ckeditor5-real-time-collaboration 46.0.1-alpha.3 → 46.0.1-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 _0x4cc43f,Plugin as _0x396694,PendingActions as _0x2fa5ad,Context as _0x11b344}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x49f975,CKEditorError as _0x1ba148,Collection as _0x21c59b,global as _0x966207,version as nt,uid as _0x5edfd1,KeystrokeHandler as _0x31aa0d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x37e298,View as _0x110669,ListView as _0x43d313,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x311fc6,clickOutsideHandler as _0x8b85ba,BodyCollection as _0x5d87f6}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2685d7,History as _0x539356,NoOperation as _0xf2fe98,InsertOperation as _0xed6d9d,MarkerOperation as _0x1b4092,RootAttributeOperation as _0x11272c,transformOperationSets as _0x110201,OperationFactory as _0x36f745}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x56898a,User as lt,CommentsService as _0x1796b9,TrackChangesService as tt,RevisionHistoryService as et,EditorService as st}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5ae648,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3ed529}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x349429}from'es-toolkit/compat';class n extends _0x4cc43f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x37e298];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x40fee5){super(_0x40fee5),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x49f975())();}['init'](){const _0x16b94d=this['context'],_0x37494d=_0x16b94d['plugins']['get']('CloudServices'),_0x1d573b=_0x16b94d['plugins']['get'](_0x37e298);if(!_0x37494d['token'])throw new _0x1ba148('websocketgateway-missing-token',this);if(!_0x37494d['webSocketUrl'])throw new _0x1ba148('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x37494d['token'],_0x37494d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3c65c2=>{if(this['connection']=_0x3c65c2,this['bind']('state')['to'](_0x3c65c2,'state',this,'_isBrowserOffline',(_0x4db997,_0x4f60f9)=>('connected'!==_0x4db997&&(this['_shouldPluginsReconnect']=!0x0),_0x4f60f9||_0x4db997!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0xc8f6de,_0x3cc846)=>{if('limitExceeded'!==_0x3cc846['code'])throw console['error'](_0x3cc846),new _0x1ba148('cloudservices-init',null,{'originalError':_0x3cc846});_0x1d573b['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x3c65c2['me'])return new Promise(_0x5f2848=>_0x3c65c2['on']('change:me',_0x5f2848));})['catch'](_0x196f40=>{throw console['error'](_0x196f40),new _0x1ba148('cloudservices-init',null,{'originalError':_0x196f40});});}['addToReconnectionStack'](_0x917d61){if('function'!=typeof _0x917d61['reconnect'])throw new _0x1ba148('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x917d61))throw new _0x1ba148('websocketgateway-plugin-already-registered',this,{'name':_0x917d61['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x917d61);}['removeFromReconnectionStack'](_0x24ff8c){this['_reconnectionStack']['delete'](_0x24ff8c);}['isInReconnectionStack'](_0x1f787c){return this['_reconnectionStack']['has'](_0x1f787c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b20eb=>_0x1b20eb['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x36eaf4=>{throw console['error'](_0x36eaf4),new _0x1ba148('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x4cc43f{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x5ae648];}constructor(_0x5acee7){super(_0x5acee7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x21c59b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5ae648);}['init'](){const _0x56c25e=this['context']['plugins']['get'](n);this['listenTo'](_0x56c25e,'change:state',(_0x52eb4d,_0x3fe87a,_0x30defe)=>{if('connected'!==_0x30defe)this['channelSessions']['forEach'](_0x12e92d=>_0x12e92d['clear']()),this['channelConnectedUsers']['forEach'](_0x40baf6=>_0x40baf6['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4a99bf,_0x43ffb4]of this['_registeredSessions'])for(const _0x245a7c of _0x43ffb4)this['_handleSessionAdd'](_0x4a99bf,_0x245a7c);}}),this['_createUser'](_0x56c25e['connection']['me'],!0x0);}['register'](_0x2eb19f,_0x2f3f4a){if(this['_registeredSessions']['has'](_0x2eb19f))throw new _0x1ba148('sessions-register-already-registered',null,{'channelId':_0x2eb19f});this['_registeredSessions']['set'](_0x2eb19f,_0x2f3f4a),this['channelSessions']['set'](_0x2eb19f,new _0x21c59b()),this['channelConnectedUsers']['set'](_0x2eb19f,new _0x21c59b()),this['listenTo'](_0x2f3f4a,'add',(_0x5302b8,_0x7da4be)=>this['_handleSessionAdd'](_0x2eb19f,_0x7da4be)),this['listenTo'](_0x2f3f4a,'remove',(_0x38c0d6,_0x55f8fe)=>this['_handleSessionRemove'](_0x2eb19f,_0x55f8fe));for(const _0x564464 of _0x2f3f4a)this['_handleSessionAdd'](_0x2eb19f,_0x564464);}['unregister'](_0x16c5b6){if(!this['_registeredSessions']['has'](_0x16c5b6))throw new _0x1ba148('sessions-unregister-not-exist',null,{'channelId':_0x16c5b6});const _0x410892=this['_registeredSessions']['get'](_0x16c5b6);this['stopListening'](_0x410892);for(const _0x5209f3 of _0x410892)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x16c5b6,_0x5209f3);this['_registeredSessions']['delete'](_0x16c5b6),this['channelSessions']['delete'](_0x16c5b6),this['channelConnectedUsers']['delete'](_0x16c5b6);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x36798c){for(const _0x350787 of this['channelSessions']['values']())for(const _0x1b63b2 of _0x350787)if(_0x1b63b2['id']===_0x36798c)return _0x1b63b2['user'];}['getUserSessions'](_0x14bbbb,_0x9edf42){const _0x49234e=_0x9edf42?[this['channelSessions']['get'](_0x9edf42)]:this['channelSessions']['values'](),_0xcb1887=new Set();for(const _0x1e8593 of _0x49234e)for(const _0x418680 of _0x1e8593)_0x418680['user']['id']===_0x14bbbb['id']&&_0xcb1887['add'](_0x418680['id']);return _0xcb1887;}['getUserRole'](_0x213475){for(const _0x313ae2 of this['channelSessions']['values']())for(const _0x110378 of _0x313ae2)if(_0x110378['user']===_0x213475)return _0x110378['role'];}['_handleSessionAdd'](_0x582501,_0x1a0658){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x46851c=_0x1a0658['user'],_0x5ab4a5=this['_users']['getUser'](_0x46851c['id'])||this['_createUser'](_0x46851c),_0x1e8091=Object['assign']({},_0x1a0658,{'user':_0x5ab4a5});this['channelSessions']['get'](_0x582501)['add'](_0x1e8091);const _0x5345bd=this['channelConnectedUsers']['get'](_0x582501);_0x5345bd['has'](_0x5ab4a5['id'])||_0x5345bd['add'](_0x5ab4a5),this['allConnectedUsers']['has'](_0x5ab4a5['id'])||this['allConnectedUsers']['add'](_0x5ab4a5,_0x5ab4a5['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x582501,{'channelId':_0x582501,'session':_0x1e8091});}['_handleSessionRemove'](_0x526300,_0x2e115b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x57b65e=this['channelConnectedUsers']['get'](_0x526300),_0x4c7609=_0x2e115b['user'];_0x4c7609['id']&&(this['channelSessions']['get'](_0x526300)['remove'](_0x2e115b['id']),_0x57b65e['has'](_0x4c7609['id'])&&!this['getUserSessions'](_0x4c7609,_0x526300)['size']&&_0x57b65e['remove'](_0x4c7609['id']),this['allConnectedUsers']['get'](_0x4c7609['id'])&&!this['getUserSessions'](_0x4c7609)['size']&&this['allConnectedUsers']['remove'](_0x4c7609['id']));}['_createUser'](_0x1813e1,_0x47b707){const _0x4c9685=this['_users']['addUser'](_0x1813e1);return _0x47b707&&this['_users']['defineMe'](_0x1813e1['id']),_0x4c9685['orderNumber']=this['_uniqueUsersCount']++,_0x4c9685;}}class V extends _0x396694{['_domEmitter']=new(_0x49f975())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x301c58=this['editor'],_0x1cdc90=_0x301c58['plugins']['get'](i);_0x301c58['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x25a74d,{writer:_0x3f4e5c})=>function(_0x336136,_0x557414,_0x20be79,_0x2c92d){const _0x1ec594=_0x336136['markerName']['split'](':')[0x2],_0x3cf75b=_0x20be79['getUserBySessionId'](_0x1ec594);if(!_0x3cf75b||_0x1ec594===_0x20be79['mySessionId'])return;if(!_0x2c92d['model']['schema']['checkChild'](_0x336136['markerRange']['start'],'$text'))return;const _0x5e4849={'class':'ck-user__marker\x20'+_0x3cf75b['color']['getMarkerClass'](),'data-name':_0x3cf75b['name'],'data-session-id':_0x1ec594},_0x517e14=_0x2c92d['model']['markers']['get'](_0x336136['markerName']),_0x99b003=_0x517e14['getStart'](),_0x5f3ee8=_0x99b003['nodeAfter'],_0x48c77e=_0x2c92d['model']['schema'];if(_0x5f3ee8&&_0x48c77e['isObject'](_0x5f3ee8)&&_0x48c77e['isInline'](_0x5f3ee8)&&!_0x2c92d['model']['markers']['get']('user:range:'+_0x1ec594)['getRange']()['isCollapsed'])return;const _0x21c731=_0x99b003['parent'];return _0x2c92d['model']['schema']['isLimit'](_0x21c731)&&!_0x2c92d['model']['hasContent'](_0x21c731)&&(_0x5e4849['contenteditable']=!0x1),function(_0x4373fe,_0x5dbecf,_0x3efc1c){const _0x49e7e9=_0x4373fe['createUIElement']('span',_0x5dbecf);return _0x4373fe['setCustomProperty']('userPositionMarker',!0x0,_0x49e7e9),_0x49e7e9['render']=function(_0x1ea10e){const _0x5cd5a1=this['toDomElement'](_0x1ea10e),_0x10ead1=document['createElement']('span');return _0x10ead1['classList']['add']('ck-user__marker-tooltip'),_0x10ead1['setAttribute']('contenteditable','false'),_0x10ead1['setAttribute']('spellcheck','false'),_0x10ead1['textContent']=_0x3efc1c['name'],_0x5cd5a1['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x10ead1['outerHTML']+'⁠',_0x5cd5a1['addEventListener']('mouseenter',()=>{_0x5cd5a1['classList']['add']('ck-user__marker_hovered');}),_0x5cd5a1['addEventListener']('mouseleave',()=>{_0x5cd5a1['classList']['remove']('ck-user__marker_hovered');}),_0x5cd5a1;},_0x49e7e9['isSimilar']=function(_0x1f8f5b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1f8f5b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1f8f5b['getAttribute']('data-session-id'));},_0x49e7e9;}(_0x557414,_0x5e4849,_0x3cf75b);}(_0x25a74d,_0x3f4e5c,_0x1cdc90,_0x301c58)}),_0x301c58['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4d6b18=>function(_0x549784,_0x266225){const _0x58e49f=_0x549784['markerName']['split'](':')[0x2];if(_0x58e49f===_0x266225['mySessionId'])return null;const _0x12cf19=_0x266225['getUserBySessionId'](_0x58e49f);if(!_0x12cf19)return{'id':_0x58e49f,'classes':[]};return{'id':_0x58e49f,'classes':['ck-user__selection',_0x12cf19['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x58e49f},'priority':0x7d0+_0x12cf19['orderNumber']};}(_0x4d6b18,_0x1cdc90)}),function(_0x5af9b2){const _0x49a304=_0x5af9b2['model'],_0x2071a4=new Map(),_0x281fd8=_0x5af9b2['plugins']['get'](i);_0x49a304['markers']['on']('update:user:range',(_0x2299e0,_0x406689,_0x219e7c,_0x529be1)=>{if(!_0x529be1&&_0x2071a4['get'](_0x406689['name']))return _0x2071a4['get'](_0x406689['name'])['detach'](),void _0x2071a4['delete'](_0x406689['name']);const _0x211897=_0x406689['name']['split'](':')[0x2];if(_0x211897===_0x281fd8['mySessionId'])return;const _0x3614c3='user:position:'+_0x211897;_0x49a304['markers']['has'](_0x3614c3)&&_0x5af9b2['editing']['reconvertMarker'](_0x3614c3),_0x406689['on']('change:range',(_0x16a2f7,_0x188e15,_0x47bade)=>{if('$graveyard'!=_0x188e15['root']['rootName']&&'$graveyard'==_0x406689['getRange']()['root']['rootName']&&!_0x2071a4['has'](_0x406689['name'])){const _0x341d70=_0x49a304['schema']['getNearestSelectionRange'](_0x47bade['deletionPosition']);if(_0x341d70){const _0x4d3ac3=_0x2685d7['fromRange'](_0x341d70);_0x2071a4['set'](_0x406689['name'],_0x4d3ac3),_0x4d3ac3['on']('change:range',(_0x24b9a2,_0x5d8b75,_0x34c42e)=>{if('$graveyard'==_0x4d3ac3['root']['rootName']){const _0x3e19a0=_0x49a304['schema']['getNearestSelectionRange'](_0x34c42e['deletionPosition']);_0x3e19a0?(_0x4d3ac3['start']=_0x3e19a0['start'],_0x4d3ac3['end']=_0x3e19a0['end']):(_0x2071a4['delete'](_0x406689['name']),_0x4d3ac3['detach']());}});}}});}),_0x49a304['document']['on']('change',()=>{_0x2071a4['size']>0x0&&_0x49a304['enqueueChange']({'isUndoable':!0x1},_0x1d303f=>{for(const [_0x925271,_0x56f046]of _0x2071a4)'$graveyard'==_0x49a304['markers']['get'](_0x925271)['getRange']()['root']['rootName']&&(Z(_0x925271['split'](':')[0x2],_0x56f046['toRange'](),_0x49a304,_0x1d303f),_0x56f046['detach']());_0x2071a4['clear']();});});}(_0x301c58),this['_domEmitter']['listenTo'](_0x966207['document'],'keydown',(_0x49cead,{key:_0x5aaab0})=>{'Escape'===_0x5aaab0&&function(_0x4e80b9){_0x4e80b9['editing']['view']['change'](_0x35fed8=>{for(const _0x121686 of _0x4e80b9['model']['markers']){if(!_0x121686['name']['startsWith']('user:position'))continue;const _0x1abe5d=_0x4e80b9['editing']['mapper']['markerNameToElements'](_0x121686['name']);if(_0x1abe5d){for(const _0x1582c4 of _0x1abe5d)_0x35fed8['removeClass']('ck-user__marker_hovered',_0x1582c4);}}});}(_0x301c58);},{'useCapture':!0x0});}['afterInit'](){const _0x3313dc=this['editor'],_0x9f6672=_0x3313dc['commands']['get']('undo');_0x9f6672&&_0x3313dc['model']['on']('applyOperation',(_0x5d8eff,_0x123fe4)=>{const _0x17dae2=_0x123fe4[0x0];if(!_0x17dae2['isDocumentOperation'])return;if('marker'!=_0x17dae2['type']||!_0x17dae2['name']['startsWith']('user:'))return;const _0x2a44ea=_0x17dae2['batch'];_0x9f6672['_createdBatches']['has'](_0x2a44ea)&&(_0x17dae2['newRange']=_0x17dae2['oldRange']?_0x3313dc['model']['createRange'](_0x17dae2['oldRange']['start'],_0x17dae2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4c5a55=this['editor'],_0x342303=_0x4c5a55['model']['document'],_0x4d2384=_0x4c5a55['plugins']['get'](i);_0x4c5a55['model']['enqueueChange']({'isUndoable':!0x1},_0x358aba=>{const _0x32d65e='user:range:'+_0x4d2384['mySessionId'],_0x40bf94='user:position:'+_0x4d2384['mySessionId'],_0x51a09f=_0x4c5a55['model']['markers']['has'](_0x32d65e);_0x4c5a55['editing']['view']['hasDomSelection']?Z(_0x4d2384['mySessionId'],_0x342303['selection']['getFirstRange'](),_0x4c5a55['model'],_0x358aba):_0x51a09f&&(_0x358aba['removeMarker'](_0x32d65e),_0x358aba['removeMarker'](_0x40bf94));});}}function Z(_0x27e686,_0x1bfd46,_0x44c475,_0x3da357){const _0x4b51d5='user:range:'+_0x27e686,_0x42b56e='user:position:'+_0x27e686,_0x4b60cc=_0x1bfd46['getContainedElement']();let _0x4e2eca=_0x1bfd46['start'];if(_0x4b60cc&&_0x4b60cc['is']('element','tableCell')){const _0x139011=function(_0x80dce9,_0x477281){for(const _0x1a63de of _0x80dce9['getPositions']())if(_0x477281['schema']['checkChild'](_0x1a63de,'$text'))return _0x1a63de;}(_0x1bfd46,_0x44c475);_0x139011&&(_0x4e2eca=_0x139011,_0x1bfd46=_0x3da357['createRange'](_0x4e2eca));}const _0x3c2f78=_0x3da357['createRange'](_0x4e2eca);_0x44c475['markers']['has'](_0x4b51d5)?(_0x3da357['updateMarker'](_0x4b51d5,{'range':_0x1bfd46}),_0x3da357['updateMarker'](_0x42b56e,{'range':_0x3c2f78})):(_0x3da357['addMarker'](_0x4b51d5,{'range':_0x1bfd46,'usingOperation':!0x0}),_0x3da357['addMarker'](_0x42b56e,{'range':_0x3c2f78,'usingOperation':!0x0}));}function W(_0x4750e2,_0x4188e6,_0x63341){const _0x4d75af=_0x4750e2['t'],t=_0x4750e2['t'];switch(_0x4188e6){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x4d75af({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x63341);default:return'';}}let G=0x1;class l extends _0x396694{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x56898a)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0x2fa5ad,_0x5ae648,_0x37e298];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x238208=this['serverHistory']['getOperations']();for(let _0x4ea206=_0x238208['length']-0x1;_0x4ea206>=0x0;_0x4ea206--){const _0x1be738=_0x238208[_0x4ea206];if(!this['_disconnectionOperations']['has'](_0x1be738))return _0x1be738['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4de3d0){if(super(_0x4de3d0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x539356(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ba148('collaboration-missing-channelid',this);const _0x3b50d4=_0x4de3d0['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3b50d4,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3ed529(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x4ae51f=this['editor'],_0x2c07e7=_0x4ae51f['plugins']['get'](_0x5ae648),_0x5432a4=_0x4ae51f['plugins']['get'](n);this['listenTo'](_0x2c07e7,'getOperationAuthor',(_0x7b724a,_0x49d7c7)=>{const _0x44b0ff=_0x49d7c7[0x0];_0x44b0ff['_authorId']&&(_0x7b724a['return']=_0x2c07e7['getUser'](_0x44b0ff['_authorId']),_0x7b724a['stop']()),null===_0x44b0ff['_authorId']&&(_0x7b724a['return']=null,_0x7b724a['stop']());},{'priority':'high'}),this['listenTo'](_0x4ae51f['model']['document']['selection'],'change:range',(_0x5bc5db,_0xe095d0)=>{_0xe095d0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4ae51f['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4ae51f['model']['on']('applyOperation',(_0x16dbe6,_0x1f8d6e)=>{const _0x33ac27=_0x1f8d6e[0x0];_0x33ac27['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x33ac27),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5432a4,'state',this,'_hasSynchronizationProblem',(_0x2c3277,_0x5e5ad8)=>'connected'===_0x2c3277&&!_0x5e5ad8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4ae51f['disableReadOnlyMode']('rtc-offline'):_0x4ae51f['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4ae51f['disableReadOnlyMode']('rtc-offline'):_0x4ae51f['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2f2f3f=this['editor']['plugins']['get'](i),_0x37bbe1=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2f2f3f['unregister'](this['_channelId']);const _0x967196=await this['_service']['reconnect'](_0x37bbe1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x967196)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5ed608=await this['_service']['getConnectedSessions']();_0x2f2f3f['register'](this['_channelId'],_0x5ed608),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4cb6d6){if(function(_0x6c4409){return'404'===_0x6c4409['code'];}(_0x4cb6d6)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x178109){return'409'===_0x178109['code'];}(_0x4cb6d6)){const _0x54709f=W(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x54709f);}else{if(!(_0x4cb6d6 instanceof $))throw _0x4cb6d6;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4ec185=this['editor']['plugins']['get'](n),_0x54bcd4=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x54bcd4['channelSessions']['has'](this['_channelId'])&&_0x54bcd4['unregister'](this['_channelId']),_0x4ec185['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3af4b0){if(this['sessionId']!==_0x3af4b0['sessionId']&&this['_lastSyncedOperationId']!==_0x3af4b0['lastOperationId'])throw new $();return this['sessionId']=_0x3af4b0['sessionId'],this['_handleServerResponse']([],{..._0x3af4b0,'wereChangesApplied':!0x1,'data':_0x3af4b0['data']},'reconnect');}async['_connectService'](_0x5e85d8,_0x156b28=!0x1){const {connection:_0x59f3a3}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x59f3a3,this['_channelId'])['then'](_0x125fe5=>this['_initSessionsHandling'](_0x125fe5))['catch'](_0x31774c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x31774c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x55be4f,_0x3c4b24)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3c4b24);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4764a9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5e85d8);this['_isPendingUpdate']=!0x0;const _0x2f2503=await this['_service']['connect'](_0x59f3a3,this['_compressOperations'](_0x5e85d8),_0x4764a9);if(this['sessionId']=_0x2f2503['sessionId'],_0x156b28){if(!_0x2f2503['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2f2503['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5e85d8,_0x2f2503,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2f2503,_0x5e85d8);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x231df0=this['editor']['plugins']['get'](i),_0x353a41=this['editor']['plugins']['get'](V),_0x519591=_0x231df0['channelSessions']['get'](this['_channelId']);_0x519591&&_0x519591['length']>0x1?_0x353a41['createUserMarkerOperations']():this['listenTo'](_0x231df0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x231df0['channelSessions']['get'](this['_channelId'])['length']&&_0x353a41['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3c1eb7,_0x1c46ae,_0xa6da72,_0x5d3acf){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1c46ae){const _0x4b3d90=this['_decompressOperations'](_0xa6da72,_0x5d3acf);await this['_fetchMissingUsers'](_0x4b3d90),this['_handleExternalOperations'](_0x4b3d90,_0x1c46ae,_0xa6da72['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xfd6f27}=this['editor'];let _0x53f449;try{_0x53f449=await this['_service']['getDocumentDetails']();}catch{const _0xc9355b=W(_0xfd6f27,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0xc9355b);}const _0xb3e9c4=_0x53f449['currentDocumentSession']||_0x53f449['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0xb3e9c4['lastOperationId']){const _0x35d028=W(_0xfd6f27,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x35d028);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x29ac7e){const _0x1002a6=this['editor']['plugins']['get'](i);this['listenTo'](_0x1002a6,'sessionAdd:'+this['_channelId'],(_0xf5dc52,{session:_0x33e71c})=>{if(_0x33e71c['id']===_0x1002a6['mySessionId']){_0xf5dc52['off']();const _0x378f81=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3b3fe0=_0x33e71c['permissions'];_0x378f81&&_0x378f81['isEnabled']&&(_0x3b3fe0=_0x3b3fe0['filter'](_0xcc844c=>'document:write'!==_0xcc844c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3b3fe0,this['_channelId']);}}),_0x1002a6['register'](this['_channelId'],_0x29ac7e);}['_initThrowingOnDataSet'](){const _0x1f21dc=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x53c0af)=>{if(!_0x53c0af[_0x53c0af['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ba148('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1f21dc['apply'](this['editor']['data'],_0x53c0af);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x554679,[_0x20ad26])=>{if(this['_document']['version'])throw new _0x1ba148('realtimecollaborationclient-init-document-already-initialized',this);_0x554679['stop'](),this['_setPendingAction']();const _0x11817f=this['editor']['config']['get']('rootsAttributes'),_0x2964ab=this['_getOperationsFromInitData'](_0x20ad26,_0x11817f);0x0==_0x2964ab['length']&&_0x2964ab['push'](new _0xf2fe98(0x0)),_0x554679['return']=this['_connectService'](_0x2964ab)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3da618=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3da618))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x166261,[_0x371c39,_0x4775da])=>{_0x166261['stop']();const _0x5cab9f=this['editor']['model']['document']['getRoot'](_0x371c39);if(!this['_knownRootNames']['has'](_0x371c39)){const _0x1ae07a=_0x4775da&&_0x4775da['data']?_0x4775da['data']:'',_0x536dc4=_0x4775da&&_0x4775da['attributes']?_0x4775da['attributes']:{};await this['_loadRoot'](_0x371c39,_0x1ae07a,_0x536dc4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5cab9f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5cab9f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5f8ba1){const _0x594bff=this['editor']['plugins']['get'](_0x5ae648),{connection:_0x522ff3}=this['editor']['plugins']['get'](n),_0x5e318f=new Set();for(const _0x3e1f3a of _0x5f8ba1){const _0xdfc26d=_0x3e1f3a['_authorId'];_0xdfc26d&&!_0x594bff['getUser'](_0xdfc26d)&&_0x5e318f['add'](_0xdfc26d);}if(0x0===_0x5e318f['size'])return;const _0x429d16=await lt['getMany'](_0x522ff3,Array['from'](_0x5e318f));for(const _0x45eb21 of _0x429d16)_0x594bff['getUser'](_0x45eb21['id'])||_0x594bff['addUser'](_0x45eb21);}['_getOperationsFromInitData'](_0x3f7f11,_0x3e97d1={}){const _0x424d08=this['editor']['model'],_0x5a1cc9=[];let _0x1f2292=0x0;const _0x5e22ce='string'==typeof _0x3f7f11?{'main':_0x3f7f11}:_0x3f7f11;for(const _0x5de59e of Object['keys'](_0x5e22ce)){if(!this['_document']['roots']['has'](_0x5de59e))throw new _0x1ba148('realtimecollaborationclient-init-non-existent-root',this);const _0x447105=this['editor']['data']['parse'](_0x5e22ce[_0x5de59e]),_0xddba2e=this['_document']['getRoot'](_0x5de59e),_0x47ee77=new _0xed6d9d(_0x424d08['createPositionAt'](_0xddba2e,0x0),_0x447105,_0x1f2292++);_0x5a1cc9['push'](_0x47ee77);for(const [_0x3d5c5d,_0x44cd1d]of _0x447105['markers']){const _0x3b6dad=_0x424d08['createRange'](_0x424d08['createPositionFromPath'](_0xddba2e,_0x44cd1d['start']['path']['slice']()),_0x424d08['createPositionFromPath'](_0xddba2e,_0x44cd1d['end']['path']['slice']())),_0x2b5c3c=new _0x1b4092(_0x3d5c5d,null,_0x3b6dad,_0x424d08['markers'],!0x0,_0x1f2292++);_0x5a1cc9['push'](_0x2b5c3c);}}if(_0x3e97d1)for(const [_0x5189ca,_0x37ee69]of Object['entries'](_0x3e97d1)){const _0x5bcaa3=_0x424d08['document']['getRoot'](_0x5189ca);if(!_0x5bcaa3)throw new _0x1ba148('multi-root-editor-root-attributes-no-root',null);for(const [_0x567be5,_0x46632a]of Object['entries'](_0x37ee69))if(null!==_0x46632a){const _0x11cd46=new _0x11272c(_0x5bcaa3,_0x567be5,null,_0x46632a,_0x1f2292++);_0x5a1cc9['push'](_0x11cd46);}}return _0x5a1cc9;}async['_loadRoot'](_0x57cc24,_0xc46481,_0x26edc8){this['_getOperationsFromInitData']({[_0x57cc24]:_0xc46481},{[_0x57cc24]:_0x26edc8})['forEach']((_0x334801,_0x138c88)=>{_0x334801['baseVersion']=this['_document']['version']+_0x138c88,_0x334801['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x334801);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3399f5,_0x5e1542){let _0x43a0f5;this['_offset']=_0x3399f5['offset'];const _0xc495e0=_0x3399f5['wereChangesApplied']&&!_0x3399f5['initData'],_0x38c4e4=_0xc495e0?0x0:_0x3399f5['data']['baseVersion'];if(_0x5e1542['forEach'](_0x558499=>{_0x558499['_isInit']=!0x0,_0x558499['createdAt']=_0x3399f5['sessionCreatedAt'],_0x558499['_authorId']=null;}),_0xc495e0)_0x43a0f5=_0x5e1542,this['_applyOperationsSet'](_0x43a0f5,_0xc495e0);else{if(_0x3399f5['initData']){const _0x36b492=this['_getOperationsFromInitData'](_0x3399f5['initData']);this['_document']['history']['version']=-_0x36b492['length'],_0x36b492['forEach'](_0x264182=>{_0x264182['baseVersion']-=_0x36b492['length'],_0x264182['createdAt']=_0x3399f5['sessionCreatedAt'],_0x264182['_isInit']=!0x0,_0x264182['_authorId']=null;}),this['_applyOperationsSet'](_0x36b492,!0x0),this['serverHistory']['version']=-_0x36b492['length']+this['_offset'],this['_updateServerHistory'](_0x36b492);}this['_document']['history']['version']=_0x38c4e4,_0x43a0f5=this['_decompressOperations'](_0x3399f5['data'],_0x3399f5['metadata']),await this['_fetchMissingUsers'](_0x43a0f5),this['_applyOperationsSet'](_0x43a0f5,_0xc495e0);}_0x3399f5['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43a0f5,_0x3399f5['lastOperationId']),this['_lastSyncedOperationId']=_0x3399f5['lastOperationId']),this['serverHistory']['version']=_0x38c4e4+this['_offset'],this['_updateServerHistory'](_0x43a0f5),_0x5e1542['filter'](_0x293ba5=>{const _0xfebbe4=this['_getAffectedRoot'](_0x293ba5);return _0xfebbe4&&!this['_knownRootNames']['has'](_0xfebbe4);})['forEach']((_0x32922a,_0x56f768)=>{_0x32922a['baseVersion']=this['_document']['version']+_0x56f768,this['_saveOperationInBuffer'](_0x32922a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x535aa2,_0x3ca284){const _0x3a9e59=_0x3ca284&&_0x3ca284['message'];if(_0x3a9e59&&_0x3a9e59['startsWith']('realtimecollaborationclient'))throw _0x3ca284;const _0x4c45b6=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4c45b6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ba148(_0x535aa2,this['editor'],_0x3a9e59?{'originalError':_0x3a9e59}:void 0x0);}['_saveOperationInBuffer'](_0x1333a9){this['_knownOperations']['has'](_0x1333a9)||(this['_knownOperations']['add'](_0x1333a9),this['_bufferedOperations']['push'](_0x1333a9),this['_pendingAction']||'marker'==_0x1333a9['type']&&!_0x1333a9['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5da368=!0x1){!_0x5da368&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x317434=>{_0x317434&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x232c27=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x465591){return _0x465591['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x465591['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x465591['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x232c27)||this['_crash'](_0x232c27['message'],_0x232c27);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x311c99=>{this['on']('change:_isPendingUpdate',()=>{_0x311c99();});});}async['_sendBufferedOperations'](){const _0x592e2e=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x592e2e['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x390ca7=[...this['_bufferedOperations']];for(const _0x19fed8 of _0x390ca7)_0x19fed8['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x19fed8);const _0x2696fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x390ca7),_0x43e0dd=G++,_0x24b723=this['_compressOperations'](_0x390ca7),_0x351f67=await this['_service']['sendOperations'](_0x24b723,_0x24b723['baseVersion'],_0x2696fd);try{return await this['_handleServerResponse'](_0x390ca7,_0x351f67,_0x43e0dd);}catch(_0x553cfb){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x553cfb);}}async['_handleServerResponse'](_0x1c0eb4,_0x2115d7,_0x1e6404){if('error'in _0x2115d7)throw _0x2115d7['error'];let _0x32de48=!0x1;if(_0x2115d7['wereChangesApplied']){_0x2115d7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2115d7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3a4c79=>!_0x1c0eb4['includes'](_0x3a4c79));for(const _0x23dc7a of _0x1c0eb4)_0x23dc7a['createdAt']='lastOperationAcceptedAt'in _0x2115d7&&_0x2115d7['lastOperationAcceptedAt']||void 0x0;K(_0x1c0eb4,_0x2115d7['version']-_0x1c0eb4['length']),this['_updateServerHistory'](_0x1c0eb4);const _0x5ad6cd=_0x1c0eb4['filter'](_0x2384db=>{if(!_0x2384db['_isInit'])return!0x1;const _0x1c7534=this['_getAffectedRoot'](_0x2384db);return _0x1c7534&&!this['_knownRootNames']['has'](_0x1c7534);});K(_0x5ad6cd,this['_document']['version']),this['_applyOperationsSet'](_0x5ad6cd),_0x32de48=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x12815a=this['_decompressOperations'](_0x2115d7['data'],_0x2115d7['metadata'])['filter'](_0x195852=>_0x195852['baseVersion']>=this['_lastServerVersion']);_0x12815a['forEach'](_0x1201fc=>this['_addKnownRoot'](_0x1201fc)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5d4e9b=>!_0x5d4e9b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5d4e9b))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x12815a),_0x32de48=this['_handleExternalOperations'](_0x12815a,_0x2115d7['version'],_0x2115d7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x32de48?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xbd1af4,_0x637543,_0x343413){try{const _0x3d80ce={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x153b6f,operationsB:_0x268b4a,originalOperations:_0x46ae49}=_0x110201(_0xbd1af4,this['_bufferedOperations'],_0x3d80ce);K(_0x153b6f,this['_document']['version']),K(_0x268b4a,_0x637543);for(const _0x46da68 of _0x153b6f){const _0x232aff=_0x46ae49['get'](_0x46da68);_0x46da68['_authorId']=_0x232aff?_0x232aff['_authorId']:null;}_0x343413&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xbd1af4,_0x343413),this['_lastSyncedOperationId']=_0x343413),this['_bufferedOperations']=[..._0x268b4a],this['_applyOperationsSet'](_0x153b6f),this['_updateServerHistory'](_0xbd1af4);}catch(_0x180050){return console['error'](_0x180050),!0x1;}return!0x0;}['_applyOperationsSet'](_0x536343,_0x16748c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5c6a8c=>{for(const _0xb401e9 of _0x536343)this['_knownOperations']['add'](_0xb401e9),this['_addKnownRoot'](_0xb401e9),_0x5c6a8c['batch']['addOperation'](_0xb401e9),this['editor']['model']['applyOperation'](_0xb401e9);});}['_addKnownRoot'](_0x208c51){const _0x2097ad=this['_getAffectedRoot'](_0x208c51);_0x2097ad&&this['_knownRootNames']['add'](_0x2097ad);}['_getAffectedRoot'](_0x4bcaaf){let _0x3a47f0,_0x50dd4f;switch(_0x4bcaaf['type']){case'insert':_0x3a47f0=_0x4bcaaf['position']['root'];break;case'marker':if(_0x50dd4f=_0x4bcaaf['newRange'],!_0x50dd4f)return null;_0x3a47f0=_0x50dd4f['root'];break;case'addRootAttribute':_0x3a47f0=_0x4bcaaf['root'];break;case'addRoot':_0x3a47f0=_0x4bcaaf['affectedSelectable'];break;case'move':_0x3a47f0=_0x4bcaaf['targetPosition']['root'];break;default:return null;}return _0x3a47f0['rootName'];}['_updateServerHistory'](_0x526398){_0x526398['forEach'](_0x5ce78b=>{const _0x472ca0=_0x5ce78b['clone']();_0x472ca0['_authorId']=_0x5ce78b['_authorId'],_0x472ca0['_isInit']=!!_0x5ce78b['_isInit'],_0x472ca0['createdAt']=_0x5ce78b['createdAt'],_0x472ca0['baseVersion']+=this['_offset'],_0x5ce78b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x472ca0),this['serverHistory']['addOperation'](_0x472ca0);});}['_handleReconnectionError'](_0x5f3f25){const _0x39a7fc=this['editor']['plugins']['get']('Notification'),_0x3e725e=this['editor']['locale'];_0x5f3f25||(_0x5f3f25=W(_0x3e725e,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x39a7fc['showWarning'](_0x5f3f25,{'title':W(_0x3e725e,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2fa5ad)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fa5ad)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x196131){const _0x2d7a9b=_0x196131['map'](_0x2675bf=>_0x2675bf['toJSON']());return this['_compressor']['compress'](_0x2d7a9b);}['_decompressOperations'](_0xc35af4,_0x17313c){return this['_compressor']['decompress'](_0xc35af4)['map']((_0x411cb2,_0x55fc37)=>{const _0x2e88f9='init'==_0x17313c[_0x55fc37]['type'];if('InsertOperation'==_0x411cb2['__className']){const _0x1f285b=_0x411cb2['position']['root'];!this['_document']['getRoot'](_0x1f285b)&&(this['_document']['createRoot']('$root',_0x1f285b)['_isAttached']=!0x1);}const _0x433963=_0x36f745['fromJSON'](_0x411cb2,this['_document']);return _0x433963['wasUndone']=_0x411cb2['wasUndone'],_0x433963['_isInit']=_0x2e88f9,_0x433963['_authorId']=_0x2e88f9?null:_0x17313c[_0x55fc37]['userId'],_0x433963['_isDisconnection']='cs:removeUser'===_0x17313c[_0x55fc37]['type'],_0x433963['createdAt']=_0x17313c[_0x55fc37]['createdAt'],_0x433963;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xd11f2f=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xd11f2f&&_0xd11f2f['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x455174,_0x8b046){for(const _0x1b7c19 of _0x455174)_0x1b7c19['baseVersion']=_0x8b046++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0xb39c10){this['_ignoredOperations']=_0xb39c10,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1cf392){let _0x128d1e=_0x1cf392['length'];for(;_0x128d1e--;){const _0x475200=_0x1cf392[_0x128d1e];if(!this['_ignoredOperations']['has'](_0x475200)){if(!this['_operationToId']['has'](_0x475200)){const _0x1ef14f=_0x5edfd1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x475200,_0x1ef14f);}return this['_operationToId']['get'](_0x475200);}}}['setIdForTheLastOperation'](_0x29bd07,_0x193391){if(!_0x193391)return;let _0x5376c0=_0x29bd07['length'];for(;_0x5376c0--;){const _0x33686c=_0x29bd07[_0x5376c0];this['_ignoredOperations']['has'](_0x33686c)||this['_operationToId']['set'](_0x33686c,_0x193391);}}}class a extends _0x396694{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4cc43f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1796b9)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5ae648];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x23c3a0){super(_0x23c3a0),this['_services']=new Map();}async['init'](){const _0xb736c7=this['context'],_0x307e1b=_0xb736c7['plugins']['get']('CommentsRepository');if(_0xb736c7['plugins']['get'](n)['addToReconnectionStack'](this),_0x307e1b['adapter']={'addCommentThread':async({channelId:_0x1b0525,threadId:_0xdc7174,comments:_0x172da2,resolvedAt:_0x5b6877,resolvedBy:_0x70b5ca,context:_0x4b4f0a,attributes:_0x1d7efd})=>{const _0x3ea812=await this['_getService'](_0x1b0525)['addCommentThread']({'commentThreadId':_0xdc7174,'comments':_0x172da2['map'](_0x3dd4ab=>function(_0x2e0ff0,_0x3ccd6d,_0x3d31ac){return{'commentThreadId':_0x3d31ac,'commentId':_0x2e0ff0['commentId'],'userId':_0x2e0ff0['authorId'],'content':_0x2e0ff0['content'],'documentId':_0x3ccd6d,'createdAt':_0x2e0ff0['createdAt'],'attributes':_0x2e0ff0['attributes']||{}};}(_0x3dd4ab,_0x1b0525,_0xdc7174)),'resolvedAt':_0x5b6877,'resolvedBy':_0x70b5ca,'context':_0x4b4f0a,'attributes':_0x1d7efd})['catch'](dt);return{'threadId':_0x3ea812['commentThreadId'],'comments':_0x3ea812['comments']};},'getCommentThread':async({channelId:_0x5e88f4,threadId:_0x5cba09})=>{const _0xc3429f=await this['_getService'](_0x5e88f4)['getCommentThread'](_0x5cba09)['catch'](dt);return _0xc3429f['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xc3429f]),{'threadId':_0xc3429f['commentThreadId'],'comments':_0xc3429f['comments']['map'](p),'context':_0xc3429f['context'],'resolvedAt':_0xc3429f['resolvedAt'],'resolvedBy':_0xc3429f['resolvedBy'],'attributes':_0xc3429f['attributes']||{}});},'updateCommentThread':async({channelId:_0xcf07e2,threadId:_0x22f356,context:_0x2265dd,unlinkedAt:_0x3953de,attributes:_0xc1e669})=>this['_getService'](_0xcf07e2)['updateCommentThread']({'commentThreadId':_0x22f356,'context':_0x2265dd,'attributes':_0xc1e669,'unlinkedAt':_0x3953de})['catch'](v)['catch'](dt),'resolveCommentThread':async({channelId:_0xd4705b,threadId:_0x51c8b1})=>{const _0x42b730=await this['_getService'](_0xd4705b)['resolveCommentThread'](_0x51c8b1)['catch'](v)['catch'](dt);return{'threadId':_0x42b730['commentThreadId'],'resolvedAt':_0x42b730['resolvedAt'],'resolvedBy':_0x42b730['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4db5aa,threadId:_0x274d08})=>this['_getService'](_0x4db5aa)['reopenCommentThread'](_0x274d08)['catch'](v)['catch'](dt),'removeCommentThread':({channelId:_0x195b4,threadId:_0x58db59})=>this['_getService'](_0x195b4)['removeCommentThread'](_0x58db59)['catch'](v)['catch'](dt),'addComment':({channelId:_0x5ed51b,threadId:_0x2e6f8e,commentId:_0x445157,content:_0x2bcd2e,attributes:_0x2d6b1f})=>this['_getService'](_0x5ed51b)['addComment'](_0x2e6f8e,_0x445157,_0x2bcd2e,_0x2d6b1f)['catch'](dt),'updateComment':({channelId:_0x39099b,threadId:_0x289fd6,commentId:_0x3b4a1b,content:_0xf7db31,attributes:_0x38ce8d})=>this['_getService'](_0x39099b)['updateComment'](_0x289fd6,_0x3b4a1b,_0xf7db31,_0x38ce8d)['catch'](v)['catch'](dt),'removeComment':({channelId:_0x428b23,threadId:_0x151267,commentId:_0x120849})=>this['_getService'](_0x428b23)['removeComment'](_0x151267,_0x120849)['catch'](v)['catch'](dt)},_0xb736c7 instanceof _0x11b344){const _0x142def=_0xb736c7['config']['get']('collaboration.channelId'),_0x3c545e=_0xb736c7['plugins']['get'](i);await this['_setUpService'](_0x142def);const _0x5c6611=await this['_services']['get'](_0x142def)['getConnectedSessions']();this['listenTo'](_0x3c545e,'sessionAdd:'+_0x142def,(_0x963d92,{session:_0x404657})=>{_0x404657['id']===_0x3c545e['mySessionId']&&(_0x963d92['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x404657['permissions'],_0x142def));}),_0x3c545e['register'](_0x142def,_0x5c6611);}}async['_setUpService'](_0xbbc4b7){if(this['_services']['has'](_0xbbc4b7))throw new _0x1ba148('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xbbc4b7});const _0x39f9fb=this['context']['plugins']['get']('CommentsRepository'),_0x2c1757=new s['CommentsService'](_0xbbc4b7);this['_services']['set'](_0xbbc4b7,_0x2c1757),this['listenTo'](_0x2c1757,'commentThreadAdded',(_0x20f7c8,_0x139c00)=>{const {commentThreadId:_0x48752e,documentId:_0xcf468a,context:_0x97bc2b,attributes:_0x3d7963,resolvedAt:_0x122989,resolvedBy:_0x314a68,comments:_0x3e7df2}=_0x139c00;_0x39f9fb['getCommentThread'](_0x48752e)||_0x39f9fb['addCommentThread']({'threadId':_0x48752e,'channelId':_0xcf468a,'comments':_0x3e7df2?_0x3e7df2['map'](p):[],'context':_0x97bc2b,'attributes':_0x3d7963,'resolvedAt':_0x122989,'resolvedBy':_0x314a68,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadUpdated',(_0x1282c9,{commentThreadId:_0x57fb6f,documentId:_0x247986,context:_0x29a00b,unlinkedAt:_0x3fd67e,attributes:_0x262af6})=>{_0x39f9fb['getCommentThread'](_0x57fb6f)&&_0x39f9fb['updateCommentThread']({'threadId':_0x57fb6f,'channelId':_0x247986,'context':_0x29a00b,'unlinkedAt':_0x3fd67e,'attributes':_0x262af6,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadResolved',(_0x31c2a8,{commentThreadId:_0x59e4c4,resolvedBy:_0x37a637,resolvedAt:_0x38c509})=>{const _0x7ec05a=_0x39f9fb['getCommentThread'](_0x59e4c4);_0x7ec05a&&_0x7ec05a['resolve']({'resolvedBy':_0x37a637,'resolvedAt':_0x38c509,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadReopened',(_0x40c236,{commentThreadId:_0x209b86})=>{const _0x10c054=_0x39f9fb['getCommentThread'](_0x209b86);_0x10c054&&_0x10c054['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadRemoved',(_0x74622b,{commentThreadId:_0x4ab106})=>{const _0x24a82a=_0x39f9fb['getCommentThread'](_0x4ab106);_0x24a82a&&_0x24a82a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentAdded',(_0x44971c,_0x1eaaaf)=>{const _0x1a7ec3=_0x1eaaaf['commentThreadId'],_0x290ec9=_0x39f9fb['getCommentThread'](_0x1a7ec3);_0x290ec9&&_0x290ec9['addComment']({...p(_0x1eaaaf),'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentUpdated',(_0xee0caa,{commentThreadId:_0x43451d,commentId:_0x271fec,content:_0x30cb0c,attributes:_0x4e4dca})=>{const _0x45ee1b=_0x39f9fb['getCommentThread'](_0x43451d);if(_0x45ee1b){const _0x56e0f3=_0x45ee1b['getComment'](_0x271fec);_0x56e0f3&&_0x56e0f3['update']({'content':_0x30cb0c,'attributes':_0x4e4dca,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2c1757,'commentRemoved',(_0x26b439,{commentThreadId:_0x1e3853,commentId:_0x274b01})=>{const _0x2e6b6a=_0x39f9fb['getCommentThread'](_0x1e3853);if(_0x2e6b6a){const _0x1ded0f=_0x2e6b6a['getComment'](_0x274b01);_0x1ded0f&&_0x1ded0f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xbbc4b7);}['destroy'](){if(this['context']instanceof _0x11b344){const _0xde5f47=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0xde5f47);}}['_terminateService'](_0x59e441){if(!this['_services']['has'](_0x59e441))throw new _0x1ba148('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59e441});this['_getService'](_0x59e441)['disconnect'](),this['_services']['delete'](_0x59e441);}async['reconnect'](){for(const _0x4874a0 of this['_services']['keys']())await this['_connectService'](_0x4874a0);if(this['context']instanceof _0x11b344){const _0x221a97=this['context']['config']['get']('collaboration.channelId'),_0x35b63d=this['context']['plugins']['get'](i);_0x35b63d['unregister'](_0x221a97);const _0x363027=await this['_services']['get'](_0x221a97)['getConnectedSessions']();_0x35b63d['register'](_0x221a97,_0x363027);}}async['_connectService'](_0x3a1cfd){const {connection:_0x38c7e4}=this['context']['plugins']['get'](n),_0x172c04=this['context']['plugins']['get']('CommentsRepository'),_0x5b2a56=this['_services']['get'](_0x3a1cfd),_0x39b208=await _0x5b2a56['connect'](_0x38c7e4);await this['_fetchMissingUsersForThreads'](_0x39b208);const _0x51246d=new Set(Array['from'](_0x172c04['getCommentThreads']({'channelId':_0x3a1cfd}),_0x2a090a=>_0x2a090a['id']));for(const _0x2937d4 of _0x39b208)_0x2937d4['deletedAt']||_0x51246d['delete'](_0x2937d4['commentThreadId']);for(const _0xeaae86 of _0x51246d)_0x172c04['getCommentThread'](_0xeaae86)['remove']({'isFromAdapter':!0x0});for(const _0x2908a7 of _0x39b208){let _0x3959c4=_0x172c04['getCommentThread'](_0x2908a7['commentThreadId']);const {commentThreadId:_0x33b38a,context:_0x1facd5,attributes:_0x5a6ef7,resolvedBy:_0x4dd9cb,resolvedAt:_0x42f63e,unlinkedAt:_0x138433,deletedAt:_0x481f42}=_0x2908a7;if(_0x481f42)continue;_0x3959c4||(_0x3959c4=_0x172c04['addCommentThread']({'channelId':_0x3a1cfd,'threadId':_0x33b38a,'context':_0x1facd5,'attributes':_0x5a6ef7||{},'resolvedBy':_0x4dd9cb,'resolvedAt':_0x42f63e,'unlinkedAt':_0x138433,'isFromAdapter':!0x0}));const _0x493517=new Set(Array['from'](_0x3959c4['comments'],_0x4c3f1c=>_0x4c3f1c['id']));for(const _0x144ab4 of _0x2908a7['comments'])_0x493517['delete'](_0x144ab4['commentId']);for(const _0x46edfe of _0x493517)_0x3959c4['getComment'](_0x46edfe)['remove']({'isFromAdapter':!0x0});for(const _0x57afa8 of _0x2908a7['comments']){const _0x40d096=_0x3959c4['getComment'](_0x57afa8['commentId']);_0x40d096?_0x40d096['content']!==_0x57afa8['content']&&_0x40d096['update']({'content':_0x57afa8['content'],'isFromAdapter':!0x0}):_0x3959c4['addComment'](Object['assign'](p(_0x57afa8),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3cb93f){if(!this['_services']['has'](_0x3cb93f))throw new _0x1ba148('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3cb93f});return this['_services']['get'](_0x3cb93f);}async['_fetchMissingUsersForThreads'](_0x2b369f){const _0x2024ad=this['context']['plugins']['get'](_0x5ae648),{connection:_0x5981f8}=this['context']['plugins']['get'](n),_0x7bfeba=new Set();for(const {resolvedBy:_0x20c312,comments:_0x446c4c}of _0x2b369f){_0x20c312&&!_0x2024ad['getUser'](_0x20c312)&&_0x7bfeba['add'](_0x20c312);for(const {userId:_0x974c31}of _0x446c4c)_0x2024ad['getUser'](_0x974c31)||_0x7bfeba['add'](_0x974c31);}if(0x0===_0x7bfeba['size'])return;const _0x171d8f=await lt['getMany'](_0x5981f8,Array['from'](_0x7bfeba));for(const _0x5d94ed of _0x171d8f)_0x2024ad['getUser'](_0x5d94ed['id'])||_0x2024ad['addUser'](_0x5d94ed);}}async function v(_0x3554c1){if('404'!==_0x3554c1['code'])throw _0x3554c1;}function dt(_0x11994a){if((_0x431cd0=_0x11994a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x431cd0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x431cd0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x431cd0;throw _0x11994a;}function p(_0x3c9898){return{'threadId':_0x3c9898['commentThreadId'],'commentId':_0x3c9898['commentId'],'content':_0x3c9898['content'],'createdAt':_0x3c9898['createdAt'],'authorId':_0x3c9898['userId'],'attributes':_0x3c9898['attributes']||{}};}class m extends _0x396694{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2fe9ea){super(_0x2fe9ea);const _0x58024d=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x58024d);}['init'](){const _0x2a15b0=this['editor']['plugins']['get'](n),_0x4293e8=this['editor']['plugins']['get']('TrackChangesEditing');return _0x4293e8['adapter']={'getSuggestion':async _0x507415=>{await this['_waitForServiceReady']();const _0x4e48e8=await this['_trackChangesService']['get'](_0x507415)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x4e48e8]),_0x4e48e8;},'addSuggestion':async({id:_0x494395,type:_0x404481,data:_0x29d6ad,originalSuggestionId:_0x2e1983,attributes:_0x4c1b31})=>{await this['_waitForServiceReady']();const _0x600df9={'id':_0x494395,'type':_0x404481,'data':_0x29d6ad,'originalSuggestionId':_0x2e1983,'attributes':_0x4c1b31},_0x1e998f=await this['_trackChangesService']['add'](_0x494395,_0x404481,_0x29d6ad,_0x2e1983,_0x4c1b31)['catch'](_0x482c5f=>{if(ut(_0x482c5f))return new Promise(_0x4b324b=>{this['_bufferedRequests']['set'](_0x494395,{'resolve':_0x4b324b,'suggestionData':_0x600df9});});throw _0x482c5f;});return this['_bufferedRequests']['delete'](_0x494395),_0x1e998f;},'updateSuggestion':async(_0x374943,_0x1065b3)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1065b3['state'])return this['_trackChangesService']['update'](_0x374943,_0x1065b3)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x14901b,_0x32d2dd)=>{_0x4293e8['hasSuggestion'](_0x32d2dd['id'])&&(_0x4293e8['getSuggestion'](_0x32d2dd['id'])['attributes']=_0x32d2dd['attributes']);}),this['_trackChangesService']['connect'](_0x2a15b0['connection'])['then'](_0x1c082d=>(_0x2a15b0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1c082d)['then'](()=>{for(const _0x307973 of _0x1c082d){_0x4293e8['addSuggestionData'](_0x307973)['_saved']=!0x0;}})));}async['reconnect'](){const _0x293a25=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3a8213}=this['editor']['plugins']['get'](n),_0x1f8fe0=await this['_trackChangesService']['connect'](_0x3a8213);await this['_fetchMissingUsersForThreads'](_0x1f8fe0);for(const {suggestionData:_0x1504a4,resolve:_0x54f9cd}of this['_bufferedRequests']['values']()){let _0x141ca9=_0x1f8fe0['find'](_0x447dfc=>_0x447dfc['id']===_0x1504a4['id']);_0x141ca9||(_0x141ca9=await this['_trackChangesService']['add'](_0x1504a4['id'],_0x1504a4['type'],_0x1504a4['data'],_0x1504a4['originalSuggestionId'])),_0x54f9cd(_0x141ca9);}for(const _0x2b92eb of _0x1f8fe0)_0x293a25['hasSuggestion'](_0x2b92eb['id'])||_0x293a25['addSuggestionData'](_0x2b92eb);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x370f60=>{this['listenTo'](this['_trackChangesService'],'connected',_0xe323f=>{_0xe323f['off'](),_0x370f60();});});}async['_fetchMissingUsersForThreads'](_0x546d84){const _0x13d259=this['editor']['plugins']['get'](_0x5ae648),{connection:_0x9d4107}=this['editor']['plugins']['get'](n),_0xc1525c=new Set();for(const {authorId:_0x3d2fe5}of _0x546d84)_0x13d259['getUser'](_0x3d2fe5)||_0xc1525c['add'](_0x3d2fe5);if(0x0===_0xc1525c['size'])return;const _0xb1b0a9=await lt['getMany'](_0x9d4107,Array['from'](_0xc1525c));for(const _0x43538e of _0xb1b0a9)_0x13d259['getUser'](_0x43538e['id'])||_0x13d259['addUser'](_0x43538e);}}function A(_0x4868db){if(ut(_0x4868db))return new Promise(()=>{});throw _0x4868db;}function ut(_0x52ce39){return _0x52ce39['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52ce39['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x396694{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x37a4e0=this['editor']['plugins']['get'](n),_0x37adeb=this['editor']['plugins']['get']('CommentsEditing'),_0x684565=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x37a4e0,'change:state',(_0x4a6812,_0x3372f2,_0x11eaca)=>{_0x37adeb['isThreadsLoadingPaused']='connected'!==_0x11eaca;});}),this['listenTo'](_0x37a4e0,'change:state',(_0x13d0b6,_0x487577,_0x26aa7b)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x26aa7b);}),_0x684565['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x396694{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x396694{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>et)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5ae648];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x127ae2){super(_0x127ae2);const _0xd14a8d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xd14a8d);}async['init'](){const _0x2ad814=this['editor']['plugins']['get'](l),_0x3a64cd=_0x2ad814['serverHistory'],_0x3382ca=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3a64cd,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2ad814['sessionId']});const _0x5c8e3f=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x328d79=await st['isBundleUploaded'](_0x3382ca['connection'],_0x5c8e3f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4618c1})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4618c1)),'updateRevisions':async _0x5d72e2=>{await this['_waitForServiceReady']();const _0x359c50=this['_revisionTracker']['currentRevision'];if(_0x328d79&&0x1===_0x5d72e2['length']&&_0x5d72e2[0x0]['id']===_0x359c50['id'])return _0x5d72e2;for(const _0x42dfe9 of _0x5d72e2)_0x42dfe9['id']===_0x359c50['id']&&(_0x42dfe9['isEmptyCurrent']=_0x42dfe9['fromVersion']===_0x42dfe9['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5d72e2,this['_lastRequestId'])['then'](_0x282202=>(this['_lastRequestId']=_0x282202,_0x5d72e2))['catch'](_0x49d212=>{if(it(_0x49d212)||'400'===_0x49d212['code']&&void 0x0!==_0x49d212['data']['wrongRequestId']){for(const _0x1ece6f of _0x5d72e2){!this['_revisionTracker']['repository']['getRevision'](_0x1ece6f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1ece6f['id'],_0x1ece6f,!0x1);}if(it(_0x49d212))throw _0x49d212;return _0x5d72e2;}throw _0x49d212;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2ef4ad,{revisionsData:_0x28378d,requestId:_0x49094c})=>{Math['max'](..._0x28378d['map'](_0x28c6f6=>_0x28c6f6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x28378d,_0x49094c);}):this['_handleRevisionsUpdate'](_0x28378d,_0x49094c);});const {revisions:_0x2b9f60,requestId:_0x3157bc}=await this['_revisionHistoryService']['connect'](_0x3382ca['connection']);_0x3382ca['addToReconnectionStack'](this),this['_lastRequestId']=_0x3157bc,await this['_fetchMissingUsers'](_0x2b9f60);for(const _0x44af01 of _0x2b9f60)this['_revisionTracker']['addRevisionData'](_0x44af01);this['listenTo'](_0x2ad814,'change:_isConnected',(_0x1e1d7a,_0x3340a4,_0x1c5006)=>{_0x1c5006&&(this['_oldOffset']=_0x2ad814['_offset'],_0x1e1d7a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3382ca,'state',_0x218a35=>_0x218a35===te['CONNECTED']);}async['reconnect'](){const _0x264e27=this['editor']['plugins']['get'](n),_0x4cbed8=this['editor']['plugins']['get'](l),_0x30fd34=async()=>{const _0x3b919c=this['_revisionTracker']['currentRevision'],_0x147774=_0x3b919c['id'],_0x4cacb5=_0x147774!==_0x4cbed8['sessionId'];if(_0x4cacb5){const _0x7af6b1=_0x4cbed8['_offset']-this['_oldOffset'],_0x37788b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3b919c['toVersion']+_0x7af6b1!==_0x37788b){const _0x5abe12=_0x3b919c['fromVersion']+_0x7af6b1,_0x2aaa7d=this['editor']['plugins']['get'](_0x5ae648),_0x47b7a8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3b919c,'from':_0x5abe12,'to':_0x37788b});_0x47b7a8['id']=_0x3b919c['id'];const _0x1a4b88=_0x47b7a8['authorsIds']['map'](_0x231156=>_0x2aaa7d['getUser'](_0x231156));_0x3b919c['_update']({..._0x47b7a8,'authors':_0x1a4b88},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3b919c['id'],_0x47b7a8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x37788b,(_0x3b919c['toVersion']===_0x3b919c['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x147774)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x147774),this['_revisionTracker']['_createCurrentRevision'](_0x37788b));}const {revisions:_0x2b2d0e,requestId:_0x257ae3}=await this['_revisionHistoryService']['reconnect'](_0x264e27['connection'],this['_lastRequestId']);_0x4cacb5&&_0x2b2d0e['length']>0x0?_0x4cbed8['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2b2d0e),this['_handleRevisionsUpdate'](_0x2b2d0e,_0x257ae3),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4cbed8['_isConnected']?_0x30fd34():new Promise((_0x42157a,_0x1db8d7)=>{_0x4cbed8['once']('change:_isConnected',()=>{_0x30fd34()['then'](_0x42157a)['catch'](_0x1db8d7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2df88a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1c25f5=>{_0x1c25f5['off'](),_0x2df88a();});});}['_getLatestVersionFromServerOperations'](){const _0x334074=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4ac0be of _0x334074)if('marker'!==_0x4ac0be['type']||_0x4ac0be['affectsData'])return _0x4ac0be['baseVersion']+0x1;}['_getLatestVersion'](){const _0x72767e=this['editor']['plugins']['get'](l);return new Promise(_0x5a2f0e=>{_0x72767e['_isPendingUpdate']?_0x72767e['once']('change:_isPendingUpdate',()=>{_0x5a2f0e(this['_getLatestVersionFromServerOperations']());}):_0x5a2f0e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x52e713,_0x2cd341){const _0x45d4c6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2cd341;for(const _0x10c8dc of _0x52e713){const _0x387c9e=_0x45d4c6['getRevision'](_0x10c8dc['id']);if(_0x387c9e){if((_0x10c8dc['fromVersion']||_0x10c8dc['toVersion'])&&(_0x10c8dc['diffData']=null),_0x387c9e===this['_revisionTracker']['currentRevision']){const _0x1b8835=Math['max'](_0x387c9e['toVersion'],_0x10c8dc['toVersion']),_0x97cf88=Math['max'](_0x387c9e['fromVersion'],_0x10c8dc['fromVersion']);let _0x473b5a;_0x387c9e['toVersion']===_0x10c8dc['toVersion']&&_0x387c9e['fromVersion']===_0x10c8dc['fromVersion']?(_0x473b5a=!0x0,this['_preventResendingRevisionData'](_0x10c8dc)):_0x10c8dc['toVersion']===_0x1b8835&&_0x10c8dc['fromVersion']===_0x97cf88?_0x473b5a=!0x1:(_0x387c9e['toVersion']===_0x1b8835&&_0x387c9e['fromVersion']===_0x97cf88||this['_fixRevision']({'revision':_0x387c9e,'from':_0x97cf88,'to':_0x1b8835}),_0x473b5a=!0x0),_0x473b5a&&(delete _0x10c8dc['fromVersion'],delete _0x10c8dc['toVersion'],delete _0x10c8dc['diffData'],delete _0x10c8dc['createdAt'],delete _0x10c8dc['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x10c8dc),this['_preventResendingRevisionData'](_0x10c8dc);}else this['_revisionTracker']['addRevisionData'](_0x10c8dc);}const _0x170f0c=_0x45d4c6['getRevisions']();_0x170f0c['reverse']();for(let _0x5a5f5f=0x0;_0x5a5f5f<_0x170f0c['length']-0x1;_0x5a5f5f++){const _0x22cf6f=_0x170f0c[_0x5a5f5f],_0x3b3ed8=_0x170f0c[_0x5a5f5f+0x1];if(_0x22cf6f['fromVersion']<_0x3b3ed8['toVersion']){const _0x4a7034=_0x3b3ed8['toVersion'],_0x4ece13=Math['max'](_0x4a7034,_0x22cf6f['toVersion']);this['_fixRevision']({'revision':_0x22cf6f,'from':_0x4a7034,'to':_0x4ece13});}}}['_fixRevision']({revision:_0x4d31b8,from:_0x41c359,to:_0xdcca7f}={}){const _0x31c154=this['editor']['plugins']['get'](_0x5ae648),_0x5036ab=this['_revisionTracker']['buildRevisionData']({'revision':_0x4d31b8,'from':_0x41c359,'to':_0xdcca7f});_0x5036ab['authors']=_0x5036ab['authorsIds']['map'](_0xfbb6ea=>_0x31c154['getUser'](_0xfbb6ea)),_0x4d31b8['_update'](_0x5036ab);}['_preventResendingRevisionData'](_0x3e1781){const _0x2bba77={};_0x2bba77['id']=_0x3e1781['id'];for(const _0x568db2 of Object['keys'](_0x3e1781))'id'!==_0x568db2&&(_0x2bba77[_0x568db2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2bba77['id'],_0x2bba77,!0x0);}async['_fetchMissingUsers'](_0x430869){const _0x59a51b=this['editor']['plugins']['get'](_0x5ae648),{connection:_0xe36516}=this['editor']['plugins']['get'](n),_0x1e9020=new Set();for(const _0x323fdb of _0x430869){for(const _0xdf0f2c of _0x323fdb['authorsIds'])_0x50fd29(_0xdf0f2c);_0x323fdb['creatorId']&&_0x50fd29(_0x323fdb['creatorId']);}if(0x0===_0x1e9020['size'])return;const _0x2313ed=await lt['getMany'](_0xe36516,Array['from'](_0x1e9020));for(const _0x2f2fb8 of _0x2313ed)_0x59a51b['getUser'](_0x2f2fb8['id'])||_0x59a51b['addUser'](_0x2f2fb8);function _0x50fd29(_0x921a1c){_0x59a51b['getUser'](_0x921a1c)||_0x1e9020['add'](_0x921a1c);}}}function it(_0x373a5c){return _0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x396694{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x110669{['_collapseAt'];constructor(_0x1ebf04,_0x3c81bc=0x6){super(_0x1ebf04);const _0x522268=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3c81bc,this['bind']('isHidden')['to'](this,'usersCount',_0x422b61=>_0x422b61<_0x3c81bc),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x522268['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x522268['to']('usersCount',_0x5a1b30=>'+'+(_0x5a1b30-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x110669{['items'];['keystrokes'];constructor(_0x1d8925){super(_0x1d8925);const _0x359beb=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x31aa0d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x359beb['if']('hasPopup'),'aria-expanded':_0x359beb['to']('isExpanded',_0x5cef77=>this['hasPopup']&&String(_0x5cef77)),'aria-label':_0x359beb['to']('hasPopup',_0x560a05=>W(_0x1d8925,_0x560a05?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x359beb['to']('hasPopup',_0x2f80f5=>!!_0x2f80f5&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x359beb['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x359beb['to'](_0x27686f=>{const _0x122919=_0x27686f,_0x2528d5=document['querySelector']('.ck-presence-list__dropdown-list'),_0x2160eb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2528d5?.['contains'](_0x122919['relatedTarget'])||_0x2160eb?.['contains'](_0x122919['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4a8614,_0x3a39b0,_0x3f4f0b)=>{this['element']&&(_0x3f4f0b?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x110669{['counterView'];['inlineListView'];constructor(_0x309ca7,_0x445ca1=0x6){super(_0x309ca7);const _0x22ee64=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x445ca1),this['inlineListView']=new is(_0x309ca7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1e6b85 of this['inlineListView']['items'])_0x1e6b85['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x22ee64['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x110669{['listWrapperView'];constructor(_0x36a2eb,_0x5ce1c0){super(_0x36a2eb);const _0x45d7e7=this['bindTemplate'];this['listWrapperView']=new pt(_0x36a2eb,_0x5ce1c0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x36a2eb,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45d7e7['to'](_0xae230b=>{const _0x249a6d=_0xae230b,_0x229c0d=document['querySelector']('.ck-presence-list__list'),_0x567eba=document['querySelector']('.ck-balloon-panel_with-arrow');_0x229c0d?.['contains'](_0x249a6d['relatedTarget'])||_0x567eba?.['contains'](_0x249a6d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x43d313{constructor(_0x5b7e73,_0x5c1c4d){super(_0x5b7e73);const _0x4467d8=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5c1c4d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4467d8['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4467d8['to']('role'),'aria-label':_0x4467d8['to']('ariaLabel'),'aria-labelledby':_0x4467d8['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x966207['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2ff08b=this['element'];_0x2ff08b&&(this['_isScrollable']=Math['max'](_0x2ff08b['scrollHeight'],_0x2ff08b['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x2842ab,_0x4a0727,_0x33523c){super(_0x2842ab);const _0x25e56d=this['bindTemplate'];this['userView']=new ct(_0x2842ab,_0x4a0727);const _0x4707a5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4a0727['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4a0727['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a0727['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x33523c&&(_0x4707a5['tag']='button',_0x4707a5['on']={'click':_0x25e56d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4707a5);}['focus'](){this['element']['focus']();}}class _ extends _0x110669{['userView'];['markerView'];constructor(_0x42178d,_0x572d40,_0x44f5b1){super(_0x42178d);const _0xce27bd=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x42178d,_0x572d40),this['markerView']=new at(_0x42178d,_0x572d40);const _0x1dfd7f=new ot(_0x42178d);_0x1dfd7f['template']['tag']='span',_0x1dfd7f['text']=_0x572d40['name'];const _0x2b8ba6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xce27bd['to']('isFocusable',_0x3a7ec5=>!!_0x3a7ec5&&0x0),'aria-labelledby':_0x1dfd7f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xce27bd['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xce27bd['to']('hasTooltip',_0x1fddb3=>!_0x1fddb3),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1dfd7f]};_0x44f5b1&&(_0x2b8ba6['tag']='button',_0x2b8ba6['on']={'click':_0xce27bd['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b8ba6);}}class at extends _0x110669{constructor(_0x4b157f,_0x59f3aa){super(_0x4b157f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x59f3aa['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4cc43f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ed964){super(_0x2ed964),this['context']['config']['define']('presenceList',U);const _0x1aab8b=_0x2ed964['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1aab8b)throw new _0x1ba148('presencelist-collapseat-invalid-format',this);if(_0x1aab8b<0x1)throw new _0x1ba148('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x21c59b(),this['balloonPanelView']=new _0x311fc6(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x22e22c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x22e22c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4b496e,_0xda946)=>{this['_handleUserAdd'](_0xda946);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x55a64d,_0x32c906)=>{this['_handleUserRemove'](_0x32c906);});}['_createView'](){const _0x3d2509=this['context'],_0x2478b3=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x47d3f0=this['balloonPanelView'];if(!_0x349429(_0x3d2509['config']['get']('presenceList.container')))throw new _0x1ba148('presencelist-missing-container',this);return _0x2478b3['counterView']['bind']('usersCount')['to'](this),_0x2478b3['bind']('isCollapsed')['to'](this,'usersCount',_0x1dc599=>{const {collapseAt:_0x4fe1b0}=_0x3d2509['config']['get']('presenceList'),_0x3d14b6=_0x1dc599>=_0x4fe1b0;if(_0x3d14b6&&!_0x2478b3['inlineListView']['items']['find'](_0x5f54bc=>_0x5f54bc instanceof y)){const _0x5cf57c=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5cf57c&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2478b3['inlineListView']['items']['add'](_0x2478b3['counterView']);}return _0x3d14b6||this['hideDropdown'](),_0x3d14b6;}),_0x2478b3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5207d1=>{const _0x1b9c6d=_0x3d2509['config']['get']('presenceList'),_0x252e4b=new _(_0x3d2509['locale'],_0x5207d1,!!_0x1b9c6d['onClick']);return _0x252e4b['bind']('hasTooltip')['to'](_0x2478b3,'isCollapsed',_0x1d8cc3=>!_0x1d8cc3),_0x252e4b['bind']('isFocusable')['to'](_0x2478b3,'isCollapsed',_0x2e372a=>!_0x2e372a),_0x1b9c6d['onClick']&&this['listenTo'](_0x252e4b,'execute',()=>{this['view']['isCollapsed']||_0x1b9c6d['onClick'](_0x5207d1,_0x252e4b['element']);}),_0x252e4b;}),this['listenTo'](_0x2478b3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2478b3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2478b3['inlineListView']['keystrokes']['set']('Enter',(_0x2618e6,_0x32ad90)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x32ad90());}),_0x2478b3['render'](),_0x47d3f0['render'](),_0x8b85ba({'emitter':_0x2478b3,'activator':()=>_0x47d3f0['isVisible'],'contextElements':[_0x47d3f0['element'],_0x2478b3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3d2509['config']['get']('presenceList.container')['appendChild'](_0x2478b3['element']),this['_bodyCollection']=new _0x5d87f6(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2478b3;}['_handleUserAdd'](_0x1849b8){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1849b8['isMe'])return;const _0x469bdd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x469bdd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x100c4e=_0x1849b8['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1849b8,_0x100c4e);}['_handleUserRemove'](_0x5736a3){this['usersCount']--;const {collapseAt:_0x3ac6a9}=this['context']['config']['get']('presenceList'),_0x26ef30=this['usersCount']>=_0x3ac6a9;if(this['currentDisplayedUsers']['get'](_0x5736a3['id']))this['currentDisplayedUsers']['remove'](_0x5736a3['id']);else{if(_0x26ef30&&this['currentDisplayedUsers']['length']+0x1===_0x3ac6a9-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x26ef30?0x1:0x0)<this['usersCount']){for(const _0x3a2cbe of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3a2cbe['id'])&&(this['currentDisplayedUsers']['add'](_0x3a2cbe,Math['min'](this['currentDisplayedUsers']['length']-(_0x26ef30?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x26ef30?0x1:0x0)===_0x3ac6a9-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5ab776=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x5ab776['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5cb4bb}=this['presenceDropdownView'];_0x5cb4bb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2096fe=>{if(!_0x5ab776['displayMe']&&_0x2096fe['isMe'])return null;const _0x526018=new P(this['context']['locale'],_0x2096fe,!!_0x5ab776['onClick']);return _0x5ab776['onClick']&&this['listenTo'](_0x526018,'execute',()=>{_0x5ab776['onClick'](_0x2096fe,_0x526018['element']);}),_0x526018;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5cb4bb['focus'](),_0x5cb4bb['checkIfScrollable']();const _0x6bca81=(_0x3727b8,_0x297c6a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x297c6a();};_0x5cb4bb['keystrokes']['set']('Esc',_0x6bca81),_0x5cb4bb['keystrokes']['set']('Shift+Tab',_0x6bca81),_0x5cb4bb['keystrokes']['set']('Tab',(_0x50ad7c,_0x8f1c11)=>{!function(_0x4e11d7){const _0x4e7620=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x445992=>_0x445992+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x34eb9c=[...document['body']['querySelectorAll'](_0x4e7620)]['filter'](_0x19f276=>_0x19f276===document['activeElement']||_0x19f276['offsetWidth']+_0x19f276['offsetHeight']>0x0)['sort']((_0x497213,_0x1b8d81)=>(_0x497213['tabIndex']||0x0)-(_0x1b8d81['tabIndex']||0x0)),_0x551e91=_0x34eb9c['indexOf'](_0x4e11d7),_0x5b5fef=_0x34eb9c[(_0x551e91+0x1)%_0x34eb9c['length']];_0x5b5fef&&_0x5b5fef['focus']();}(this['view']['element']),this['hideDropdown'](),_0x8f1c11();}),_0x5cb4bb['focusTracker']['add'](this['view']['element']),_0x5cb4bb['focusTracker']['on']('change:isFocused',(_0xdcfd8f,_0x440904,_0x3367ab)=>{_0x3367ab||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x4cc43f{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x209765,Plugin as _0xc3a9c,PendingActions as _0x4d3072,Context as _0x43e148}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x7f6fd1,CKEditorError as _0x213e64,Collection as _0x1085f1,global as _0x46f1c0,version as nt,uid as _0x322f72,KeystrokeHandler as _0x58ca83}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1b6091,View as _0x56ef61,ListView as _0x34d1d2,ListItemView as et,LabelView as it,BalloonPanelView as _0x5272a8,clickOutsideHandler as _0x2af274,BodyCollection as _0x27fcf6}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x1d0b9e,History as _0x23a121,NoOperation as _0x2fc71e,InsertOperation as _0x475008,MarkerOperation as _0x4dfdf2,RootAttributeOperation as _0x2d41d3,transformOperationSets as _0x65b94f,OperationFactory as _0x5e5f99}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x5f0b2d,CollaborativeEditingService as _0x360198,User as ct,CommentsService as _0x35df08,TrackChangesService as tt,RevisionHistoryService as _0x11a9e4,EditorService as _0x1d9c68}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5a0a2c,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x26ced4}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x580414}from'es-toolkit/compat';class n extends _0x209765{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1b6091];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x36453c){super(_0x36453c),this['set']('state',_0x5f0b2d['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x7f6fd1())();}['init'](){const _0xe79552=this['context'],_0xbb1495=_0xe79552['plugins']['get']('CloudServices'),_0xf7f571=_0xe79552['plugins']['get'](_0x1b6091);if(!_0xbb1495['token'])throw new _0x213e64('websocketgateway-missing-token',this);if(!_0xbb1495['webSocketUrl'])throw new _0x213e64('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'](_0xbb1495['token'],_0xbb1495['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2d577a=>{if(this['connection']=_0x2d577a,this['bind']('state')['to'](_0x2d577a,'state',this,'_isBrowserOffline',(_0x1897aa,_0x47d40c)=>('connected'!==_0x1897aa&&(this['_shouldPluginsReconnect']=!0x0),_0x47d40c||_0x1897aa!==_0x5f0b2d['CONNECTED']?_0x5f0b2d['DISCONNECTED']:this['state']==_0x5f0b2d['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5f0b2d['CONNECTING']):_0x5f0b2d['CONNECTED'])),this['connection']['on']('error',(_0x406229,_0x1144f3)=>{if('limitExceeded'!==_0x1144f3['code'])throw console['error'](_0x1144f3),new _0x213e64('cloudservices-init',null,{'originalError':_0x1144f3});_0xf7f571['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'});}),!_0x2d577a['me'])return new Promise(_0x4d19b9=>_0x2d577a['on']('change:me',_0x4d19b9));})['catch'](_0x624e01=>{throw console['error'](_0x624e01),new _0x213e64('cloudservices-init',null,{'originalError':_0x624e01});});}['addToReconnectionStack'](_0x371d47){if('function'!=typeof _0x371d47['reconnect'])throw new _0x213e64('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x371d47))throw new _0x213e64('websocketgateway-plugin-already-registered',this,{'name':_0x371d47['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x371d47);}['removeFromReconnectionStack'](_0x1006ec){this['_reconnectionStack']['delete'](_0x1006ec);}['isInReconnectionStack'](_0x23b604){return this['_reconnectionStack']['has'](_0x23b604);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1482f3=>_0x1482f3['reconnect']())))['then'](()=>this['state']=_0x5f0b2d['CONNECTED'])['catch'](_0x66f2b6=>{throw console['error'](_0x66f2b6),new _0x213e64('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5f0b2d['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x209765{['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,_0x5a0a2c];}constructor(_0x4259ab){super(_0x4259ab),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1085f1(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5a0a2c);}['init'](){const _0x419ef5=this['context']['plugins']['get'](n);this['listenTo'](_0x419ef5,'change:state',(_0x41267e,_0x394296,_0xc31e8d)=>{if('connected'!==_0xc31e8d)this['channelSessions']['forEach'](_0x5ad079=>_0x5ad079['clear']()),this['channelConnectedUsers']['forEach'](_0x86e9a6=>_0x86e9a6['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x9c57f5,_0x7ccced]of this['_registeredSessions'])for(const _0x3f63cf of _0x7ccced)this['_handleSessionAdd'](_0x9c57f5,_0x3f63cf);}}),this['_createUser'](_0x419ef5['connection']['me'],!0x0);}['register'](_0x4a501c,_0x4919e8){if(this['_registeredSessions']['has'](_0x4a501c))throw new _0x213e64('sessions-register-already-registered',null,{'channelId':_0x4a501c});this['_registeredSessions']['set'](_0x4a501c,_0x4919e8),this['channelSessions']['set'](_0x4a501c,new _0x1085f1()),this['channelConnectedUsers']['set'](_0x4a501c,new _0x1085f1()),this['listenTo'](_0x4919e8,'add',(_0x109d55,_0x3d0f5e)=>this['_handleSessionAdd'](_0x4a501c,_0x3d0f5e)),this['listenTo'](_0x4919e8,'remove',(_0x47b2be,_0x56b0cc)=>this['_handleSessionRemove'](_0x4a501c,_0x56b0cc));for(const _0x5991b5 of _0x4919e8)this['_handleSessionAdd'](_0x4a501c,_0x5991b5);}['unregister'](_0x4b42b9){if(!this['_registeredSessions']['has'](_0x4b42b9))throw new _0x213e64('sessions-unregister-not-exist',null,{'channelId':_0x4b42b9});const _0x514eb2=this['_registeredSessions']['get'](_0x4b42b9);this['stopListening'](_0x514eb2);for(const _0x1cf909 of _0x514eb2)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x4b42b9,_0x1cf909);this['_registeredSessions']['delete'](_0x4b42b9),this['channelSessions']['delete'](_0x4b42b9),this['channelConnectedUsers']['delete'](_0x4b42b9);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x518035){for(const _0x40bd30 of this['channelSessions']['values']())for(const _0x5a0475 of _0x40bd30)if(_0x5a0475['id']===_0x518035)return _0x5a0475['user'];}['getUserSessions'](_0x50e06e,_0x47cc60){const _0x3aa010=_0x47cc60?[this['channelSessions']['get'](_0x47cc60)]:this['channelSessions']['values'](),_0xb93e2=new Set();for(const _0x50da1c of _0x3aa010)for(const _0x5ce695 of _0x50da1c)_0x5ce695['user']['id']===_0x50e06e['id']&&_0xb93e2['add'](_0x5ce695['id']);return _0xb93e2;}['getUserRole'](_0x4ce73d){for(const _0x411641 of this['channelSessions']['values']())for(const _0x57d3f8 of _0x411641)if(_0x57d3f8['user']===_0x4ce73d)return _0x57d3f8['role'];}['_handleSessionAdd'](_0x33184b,_0x12240e){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4f42fb=_0x12240e['user'],_0x42abbb=this['_users']['getUser'](_0x4f42fb['id'])||this['_createUser'](_0x4f42fb),_0x5ab0c6=Object['assign']({},_0x12240e,{'user':_0x42abbb});this['channelSessions']['get'](_0x33184b)['add'](_0x5ab0c6);const _0x2e28ee=this['channelConnectedUsers']['get'](_0x33184b);_0x2e28ee['has'](_0x42abbb['id'])||_0x2e28ee['add'](_0x42abbb),this['allConnectedUsers']['has'](_0x42abbb['id'])||this['allConnectedUsers']['add'](_0x42abbb,_0x42abbb['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x33184b,{'channelId':_0x33184b,'session':_0x5ab0c6});}['_handleSessionRemove'](_0x1ad427,_0x330807){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5934fd=this['channelConnectedUsers']['get'](_0x1ad427),_0x4f1d2d=_0x330807['user'];_0x4f1d2d['id']&&(this['channelSessions']['get'](_0x1ad427)['remove'](_0x330807['id']),_0x5934fd['has'](_0x4f1d2d['id'])&&!this['getUserSessions'](_0x4f1d2d,_0x1ad427)['size']&&_0x5934fd['remove'](_0x4f1d2d['id']),this['allConnectedUsers']['get'](_0x4f1d2d['id'])&&!this['getUserSessions'](_0x4f1d2d)['size']&&this['allConnectedUsers']['remove'](_0x4f1d2d['id']));}['_createUser'](_0x5ba660,_0xfc0551){const _0x2957e0=this['_users']['addUser'](_0x5ba660);return _0xfc0551&&this['_users']['defineMe'](_0x5ba660['id']),_0x2957e0['orderNumber']=this['_uniqueUsersCount']++,_0x2957e0;}}class G extends _0xc3a9c{['_domEmitter']=new(_0x7f6fd1())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x46908d=this['editor'],_0x1ce923=_0x46908d['plugins']['get'](i);_0x46908d['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x531d4b,{writer:_0x53ea17})=>function(_0x7daeee,_0x37c47d,_0x25d2f8,_0x2cf971){const _0x5654af=_0x7daeee['markerName']['split'](':')[0x2],_0x46e89f=_0x25d2f8['getUserBySessionId'](_0x5654af);if(!_0x46e89f||_0x5654af===_0x25d2f8['mySessionId'])return;if(!_0x2cf971['model']['schema']['checkChild'](_0x7daeee['markerRange']['start'],'$text'))return;const _0x37e7fa={'class':'ck-user__marker\x20'+_0x46e89f['color']['getMarkerClass'](),'data-name':_0x46e89f['name'],'data-session-id':_0x5654af},_0x33a77b=_0x2cf971['model']['markers']['get'](_0x7daeee['markerName']),_0x9b1597=_0x33a77b['getStart'](),_0xef6060=_0x9b1597['nodeAfter'],_0x508d2a=_0x2cf971['model']['schema'];if(_0xef6060&&_0x508d2a['isObject'](_0xef6060)&&_0x508d2a['isInline'](_0xef6060)&&!_0x2cf971['model']['markers']['get']('user:range:'+_0x5654af)['getRange']()['isCollapsed'])return;const _0x113eb8=_0x9b1597['parent'];return _0x2cf971['model']['schema']['isLimit'](_0x113eb8)&&!_0x2cf971['model']['hasContent'](_0x113eb8)&&(_0x37e7fa['contenteditable']=!0x1),function(_0x19d392,_0xb4b299,_0x3c7bea){const _0x5c8816=_0x19d392['createUIElement']('span',_0xb4b299);return _0x19d392['setCustomProperty']('userPositionMarker',!0x0,_0x5c8816),_0x5c8816['render']=function(_0x304429){const _0x1c89f3=this['toDomElement'](_0x304429),_0x595a0e=document['createElement']('span');return _0x595a0e['classList']['add']('ck-user__marker-tooltip'),_0x595a0e['setAttribute']('contenteditable','false'),_0x595a0e['setAttribute']('spellcheck','false'),_0x595a0e['textContent']=_0x3c7bea['name'],_0x1c89f3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x595a0e['outerHTML']+'⁠',_0x1c89f3['addEventListener']('mouseenter',()=>{_0x1c89f3['classList']['add']('ck-user__marker_hovered');}),_0x1c89f3['addEventListener']('mouseleave',()=>{_0x1c89f3['classList']['remove']('ck-user__marker_hovered');}),_0x1c89f3;},_0x5c8816['isSimilar']=function(_0x51d4e2){return!(!this['getCustomProperty']('userPositionMarker')||!_0x51d4e2['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x51d4e2['getAttribute']('data-session-id'));},_0x5c8816;}(_0x37c47d,_0x37e7fa,_0x46e89f);}(_0x531d4b,_0x53ea17,_0x1ce923,_0x46908d)}),_0x46908d['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1c8f74=>function(_0x2cfdc9,_0x5071d5){const _0x5b71d8=_0x2cfdc9['markerName']['split'](':')[0x2];if(_0x5b71d8===_0x5071d5['mySessionId'])return null;const _0x3eb42b=_0x5071d5['getUserBySessionId'](_0x5b71d8);if(!_0x3eb42b)return{'id':_0x5b71d8,'classes':[]};return{'id':_0x5b71d8,'classes':['ck-user__selection',_0x3eb42b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5b71d8},'priority':0x7d0+_0x3eb42b['orderNumber']};}(_0x1c8f74,_0x1ce923)}),function(_0x27662e){const _0x32866d=_0x27662e['model'],_0x123e2a=new Map(),_0x53beb1=_0x27662e['plugins']['get'](i);_0x32866d['markers']['on']('update:user:range',(_0xdce792,_0x21be06,_0x3957b0,_0x2835d4)=>{if(!_0x2835d4&&_0x123e2a['get'](_0x21be06['name']))return _0x123e2a['get'](_0x21be06['name'])['detach'](),void _0x123e2a['delete'](_0x21be06['name']);const _0x54b0a6=_0x21be06['name']['split'](':')[0x2];if(_0x54b0a6===_0x53beb1['mySessionId'])return;const _0x3e6c66='user:position:'+_0x54b0a6;_0x32866d['markers']['has'](_0x3e6c66)&&_0x27662e['editing']['reconvertMarker'](_0x3e6c66),_0x21be06['on']('change:range',(_0x4768cb,_0x360aad,_0x16250b)=>{if('$graveyard'!=_0x360aad['root']['rootName']&&'$graveyard'==_0x21be06['getRange']()['root']['rootName']&&!_0x123e2a['has'](_0x21be06['name'])){const _0x2ecd99=_0x32866d['schema']['getNearestSelectionRange'](_0x16250b['deletionPosition']);if(_0x2ecd99){const _0x1d98aa=_0x1d0b9e['fromRange'](_0x2ecd99);_0x123e2a['set'](_0x21be06['name'],_0x1d98aa),_0x1d98aa['on']('change:range',(_0x3cbc2e,_0x517c3a,_0x5e6f45)=>{if('$graveyard'==_0x1d98aa['root']['rootName']){const _0x1291be=_0x32866d['schema']['getNearestSelectionRange'](_0x5e6f45['deletionPosition']);_0x1291be?(_0x1d98aa['start']=_0x1291be['start'],_0x1d98aa['end']=_0x1291be['end']):(_0x123e2a['delete'](_0x21be06['name']),_0x1d98aa['detach']());}});}}});}),_0x32866d['document']['on']('change',()=>{_0x123e2a['size']>0x0&&_0x32866d['enqueueChange']({'isUndoable':!0x1},_0x34c93d=>{for(const [_0x25a589,_0x104707]of _0x123e2a)'$graveyard'==_0x32866d['markers']['get'](_0x25a589)['getRange']()['root']['rootName']&&(te(_0x25a589['split'](':')[0x2],_0x104707['toRange'](),_0x32866d,_0x34c93d),_0x104707['detach']());_0x123e2a['clear']();});});}(_0x46908d),this['_domEmitter']['listenTo'](_0x46f1c0['document'],'keydown',(_0x903e4a,{key:_0x3371ca})=>{'Escape'===_0x3371ca&&function(_0x4d315b){_0x4d315b['editing']['view']['change'](_0x214882=>{for(const _0x2ffe7c of _0x4d315b['model']['markers']){if(!_0x2ffe7c['name']['startsWith']('user:position'))continue;const _0x477535=_0x4d315b['editing']['mapper']['markerNameToElements'](_0x2ffe7c['name']);if(_0x477535){for(const _0xf69871 of _0x477535)_0x214882['removeClass']('ck-user__marker_hovered',_0xf69871);}}});}(_0x46908d);},{'useCapture':!0x0});}['afterInit'](){const _0x4b9b02=this['editor'],_0x3a81c9=_0x4b9b02['commands']['get']('undo');_0x3a81c9&&_0x4b9b02['model']['on']('applyOperation',(_0x50cd5f,_0x5c7f15)=>{const _0x4ef601=_0x5c7f15[0x0];if(!_0x4ef601['isDocumentOperation'])return;if('marker'!=_0x4ef601['type']||!_0x4ef601['name']['startsWith']('user:'))return;const _0x41309a=_0x4ef601['batch'];_0x3a81c9['_createdBatches']['has'](_0x41309a)&&(_0x4ef601['newRange']=_0x4ef601['oldRange']?_0x4b9b02['model']['createRange'](_0x4ef601['oldRange']['start'],_0x4ef601['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3b010e=this['editor'],_0x3d47a7=_0x3b010e['model']['document'],_0x55a41a=_0x3b010e['plugins']['get'](i);_0x3b010e['model']['enqueueChange']({'isUndoable':!0x1},_0x1e5d74=>{const _0x13fccd='user:range:'+_0x55a41a['mySessionId'],_0x248d11='user:position:'+_0x55a41a['mySessionId'],_0x2f0832=_0x3b010e['model']['markers']['has'](_0x13fccd);_0x3b010e['editing']['view']['hasDomSelection']?te(_0x55a41a['mySessionId'],_0x3d47a7['selection']['getFirstRange'](),_0x3b010e['model'],_0x1e5d74):_0x2f0832&&(_0x1e5d74['removeMarker'](_0x13fccd),_0x1e5d74['removeMarker'](_0x248d11));});}}function te(_0x4c333c,_0x25e053,_0x4b8305,_0x2697b1){const _0x56d2e4='user:range:'+_0x4c333c,_0x1fca03='user:position:'+_0x4c333c,_0x45945b=_0x25e053['getContainedElement']();let _0x29cb38=_0x25e053['start'];if(_0x45945b&&_0x45945b['is']('element','tableCell')){const _0x3d8c8a=function(_0x14d9f5,_0x541e23){for(const _0x294d2d of _0x14d9f5['getPositions']())if(_0x541e23['schema']['checkChild'](_0x294d2d,'$text'))return _0x294d2d;}(_0x25e053,_0x4b8305);_0x3d8c8a&&(_0x29cb38=_0x3d8c8a,_0x25e053=_0x2697b1['createRange'](_0x29cb38));}const _0x2eb8ed=_0x2697b1['createRange'](_0x29cb38);_0x4b8305['markers']['has'](_0x56d2e4)?(_0x2697b1['updateMarker'](_0x56d2e4,{'range':_0x25e053}),_0x2697b1['updateMarker'](_0x1fca03,{'range':_0x2eb8ed})):(_0x2697b1['addMarker'](_0x56d2e4,{'range':_0x25e053,'usingOperation':!0x0}),_0x2697b1['addMarker'](_0x1fca03,{'range':_0x2eb8ed,'usingOperation':!0x0}));}function $(_0x1f1e46,_0x3a534b,_0x653431){const _0x480a00=_0x1f1e46['t'],t=_0x1f1e46['t'];switch(_0x3a534b){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 _0x480a00({'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'},_0x653431);default:return'';}}let Q=0x1;class l extends _0xc3a9c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x360198)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x4d3072,_0x5a0a2c,_0x1b6091];}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 _0x5c508c=this['serverHistory']['getOperations']();for(let _0x5272b8=_0x5c508c['length']-0x1;_0x5272b8>=0x0;_0x5272b8--){const _0x3eff8a=_0x5c508c[_0x5272b8];if(!this['_disconnectionOperations']['has'](_0x3eff8a))return _0x3eff8a['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x63aa96){if(super(_0x63aa96),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x23a121(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x213e64('collaboration-missing-channelid',this);const _0x5e0d6a=_0x63aa96['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x5e0d6a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x26ced4(),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 Z(this['_disconnectionOperations']);}['init'](){const _0x11294b=this['editor'],_0x10eefe=_0x11294b['plugins']['get'](_0x5a0a2c),_0x214f69=_0x11294b['plugins']['get'](n);this['listenTo'](_0x10eefe,'getOperationAuthor',(_0x2629c5,_0x4690d4)=>{const _0x2685d0=_0x4690d4[0x0];_0x2685d0['_authorId']&&(_0x2629c5['return']=_0x10eefe['getUser'](_0x2685d0['_authorId']),_0x2629c5['stop']()),null===_0x2685d0['_authorId']&&(_0x2629c5['return']=null,_0x2629c5['stop']());},{'priority':'high'}),this['listenTo'](_0x11294b['model']['document']['selection'],'change:range',(_0x47d587,_0x363b8f)=>{_0x363b8f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x11294b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x11294b['model']['on']('applyOperation',(_0x46dac9,_0x9b5f4f)=>{const _0x19e28e=_0x9b5f4f[0x0];_0x19e28e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x19e28e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x214f69,'state',this,'_hasSynchronizationProblem',(_0x2381b0,_0x15da46)=>'connected'===_0x2381b0&&!_0x15da46),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x11294b['disableReadOnlyMode']('rtc-offline'):_0x11294b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x11294b['disableReadOnlyMode']('rtc-offline'):_0x11294b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4652a1=this['editor']['plugins']['get'](i),_0x43602f=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x4652a1['unregister'](this['_channelId']);const _0x41de8a=await this['_service']['reconnect'](_0x43602f['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x41de8a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4f371e=await this['_service']['getConnectedSessions']();_0x4652a1['register'](this['_channelId'],_0x4f371e),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4996f2){if(function(_0x46cfa3){return'404'===_0x46cfa3['code'];}(_0x4996f2)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xc2a561){return'409'===_0xc2a561['code'];}(_0x4996f2)){const _0x2998b5=$(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'](_0x2998b5);}else{if(!(_0x4996f2 instanceof X))throw _0x4996f2;this['_handleReconnectionError']();}}}}['destroy'](){const _0x539754=this['editor']['plugins']['get'](n),_0x52cabf=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x52cabf['channelSessions']['has'](this['_channelId'])&&_0x52cabf['unregister'](this['_channelId']),_0x539754['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x6d8790){if(this['sessionId']!==_0x6d8790['sessionId']&&this['_lastSyncedOperationId']!==_0x6d8790['lastOperationId'])throw new X();return this['sessionId']=_0x6d8790['sessionId'],this['_handleServerResponse']([],{..._0x6d8790,'wereChangesApplied':!0x1,'data':_0x6d8790['data']},'reconnect');}async['_connectService'](_0x51f823,_0x50f14e=!0x1){const {connection:_0x8674f5}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x8674f5,this['_channelId'])['then'](_0x206940=>this['_initSessionsHandling'](_0x206940))['catch'](_0x4abb86=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4abb86);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x21908e,_0x2b13b0)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2b13b0);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4c2c23=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x51f823);this['_isPendingUpdate']=!0x0;const _0x123703=await this['_service']['connect'](_0x8674f5,this['_compressOperations'](_0x51f823),_0x4c2c23);if(this['sessionId']=_0x123703['sessionId'],_0x50f14e){if(!_0x123703['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x123703['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x51f823,_0x123703,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x123703,_0x51f823);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x322944=this['editor']['plugins']['get'](i),_0x189c99=this['editor']['plugins']['get'](G),_0x37c44d=_0x322944['channelSessions']['get'](this['_channelId']);_0x37c44d&&_0x37c44d['length']>0x1?_0x189c99['createUserMarkerOperations']():this['listenTo'](_0x322944,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x322944['channelSessions']['get'](this['_channelId'])['length']&&_0x189c99['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xc38a07,_0x24c78a,_0x4be95a,_0x409694){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x24c78a){const _0x4d020b=this['_decompressOperations'](_0x4be95a,_0x409694);await this['_fetchMissingUsers'](_0x4d020b),this['_handleExternalOperations'](_0x4d020b,_0x24c78a,_0x4be95a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x54c4e3}=this['editor'];let _0x1addc4;try{_0x1addc4=await this['_service']['getDocumentDetails']();}catch{const _0x1e3347=$(_0x54c4e3,'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'](_0x1e3347);}const _0x43c417=_0x1addc4['currentDocumentSession']||_0x1addc4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x43c417['lastOperationId']){const _0x56777c=$(_0x54c4e3,'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'](_0x56777c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x5438db){const _0x1dd73a=this['editor']['plugins']['get'](i);this['listenTo'](_0x1dd73a,'sessionAdd:'+this['_channelId'],(_0x269a9a,{session:_0x57212a})=>{if(_0x57212a['id']===_0x1dd73a['mySessionId']){_0x269a9a['off']();const _0xe5de99=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5c364a=_0x57212a['permissions'];_0xe5de99&&_0xe5de99['isEnabled']&&(_0x5c364a=_0x5c364a['filter'](_0x34386c=>'document:write'!==_0x34386c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5c364a,this['_channelId']);}}),_0x1dd73a['register'](this['_channelId'],_0x5438db);}['_initThrowingOnDataSet'](){const _0x2ce412=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4c9321)=>{if(!_0x4c9321[_0x4c9321['length']-0x1]['suppressErrorInCollaboration'])throw new _0x213e64('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2ce412['apply'](this['editor']['data'],_0x4c9321);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4e917b,[_0x10d715])=>{if(this['_document']['version'])throw new _0x213e64('realtimecollaborationclient-init-document-already-initialized',this);_0x4e917b['stop'](),this['_setPendingAction']();const _0x43a894=this['editor']['config']['get']('rootsAttributes'),_0x435ff6=this['_getOperationsFromInitData'](_0x10d715,_0x43a894);0x0==_0x435ff6['length']&&_0x435ff6['push'](new _0x2fc71e(0x0)),_0x4e917b['return']=this['_connectService'](_0x435ff6)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1f59fd=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1f59fd))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x23853e,[_0x37baba,_0x2b65c3])=>{_0x23853e['stop']();const _0x390b5a=this['editor']['model']['document']['getRoot'](_0x37baba);if(!this['_knownRootNames']['has'](_0x37baba)){const _0x188dd3=_0x2b65c3&&_0x2b65c3['data']?_0x2b65c3['data']:'',_0x5b2081=_0x2b65c3&&_0x2b65c3['attributes']?_0x2b65c3['attributes']:{};await this['_loadRoot'](_0x37baba,_0x188dd3,_0x5b2081);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x390b5a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x390b5a);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x352142){const _0x48f0eb=this['editor']['plugins']['get'](_0x5a0a2c),{connection:_0x24d033}=this['editor']['plugins']['get'](n),_0x2f3087=new Set();for(const _0x3ebfdc of _0x352142){const _0x54f8cc=_0x3ebfdc['_authorId'];_0x54f8cc&&!_0x48f0eb['getUser'](_0x54f8cc)&&_0x2f3087['add'](_0x54f8cc);}if(0x0===_0x2f3087['size'])return;const _0x2dcb04=await ct['getMany'](_0x24d033,Array['from'](_0x2f3087));for(const _0x3e8972 of _0x2dcb04)_0x48f0eb['getUser'](_0x3e8972['id'])||_0x48f0eb['addUser'](_0x3e8972);}['_getOperationsFromInitData'](_0x110eb7,_0x1904c9={}){const _0x19c01d=this['editor']['model'],_0x4c3602=[];let _0x2d3f10=0x0;const _0x414f65='string'==typeof _0x110eb7?{'main':_0x110eb7}:_0x110eb7;for(const _0x8902c8 of Object['keys'](_0x414f65)){if(!this['_document']['roots']['has'](_0x8902c8))throw new _0x213e64('realtimecollaborationclient-init-non-existent-root',this);const _0x3749ed=this['editor']['data']['parse'](_0x414f65[_0x8902c8]),_0x43aeef=this['_document']['getRoot'](_0x8902c8),_0x2e1d87=new _0x475008(_0x19c01d['createPositionAt'](_0x43aeef,0x0),_0x3749ed,_0x2d3f10++);_0x4c3602['push'](_0x2e1d87);for(const [_0x7eb64f,_0x1d92cb]of _0x3749ed['markers']){const _0x4034de=_0x19c01d['createRange'](_0x19c01d['createPositionFromPath'](_0x43aeef,_0x1d92cb['start']['path']['slice']()),_0x19c01d['createPositionFromPath'](_0x43aeef,_0x1d92cb['end']['path']['slice']())),_0x17ffd8=new _0x4dfdf2(_0x7eb64f,null,_0x4034de,_0x19c01d['markers'],!0x0,_0x2d3f10++);_0x4c3602['push'](_0x17ffd8);}}if(_0x1904c9)for(const [_0x85454e,_0x3d954a]of Object['entries'](_0x1904c9)){const _0x377d88=_0x19c01d['document']['getRoot'](_0x85454e);if(!_0x377d88)throw new _0x213e64('multi-root-editor-root-attributes-no-root',null);for(const [_0xdec6c,_0x4044e4]of Object['entries'](_0x3d954a))if(null!==_0x4044e4){const _0x2e63b5=new _0x2d41d3(_0x377d88,_0xdec6c,null,_0x4044e4,_0x2d3f10++);_0x4c3602['push'](_0x2e63b5);}}return _0x4c3602;}async['_loadRoot'](_0x57d1d2,_0x11c420,_0x2b23f2){this['_getOperationsFromInitData']({[_0x57d1d2]:_0x11c420},{[_0x57d1d2]:_0x2b23f2})['forEach']((_0x559059,_0x499d33)=>{_0x559059['baseVersion']=this['_document']['version']+_0x499d33,_0x559059['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x559059);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x47ddde,_0x1d4334){let _0x8432ce;this['_offset']=_0x47ddde['offset'];const _0x51251d=_0x47ddde['wereChangesApplied']&&!_0x47ddde['initData'],_0x16f9aa=_0x51251d?0x0:_0x47ddde['data']['baseVersion'];if(_0x1d4334['forEach'](_0x1050cd=>{_0x1050cd['_isInit']=!0x0,_0x1050cd['createdAt']=_0x47ddde['sessionCreatedAt'],_0x1050cd['_authorId']=null;}),_0x51251d)_0x8432ce=_0x1d4334,this['_applyOperationsSet'](_0x8432ce,_0x51251d);else{if(_0x47ddde['initData']){const _0x484dc9=this['_getOperationsFromInitData'](_0x47ddde['initData']);this['_document']['history']['version']=-_0x484dc9['length'],_0x484dc9['forEach'](_0x5bfaeb=>{_0x5bfaeb['baseVersion']-=_0x484dc9['length'],_0x5bfaeb['createdAt']=_0x47ddde['sessionCreatedAt'],_0x5bfaeb['_isInit']=!0x0,_0x5bfaeb['_authorId']=null;}),this['_applyOperationsSet'](_0x484dc9,!0x0),this['serverHistory']['version']=-_0x484dc9['length']+this['_offset'],this['_updateServerHistory'](_0x484dc9);}this['_document']['history']['version']=_0x16f9aa,_0x8432ce=this['_decompressOperations'](_0x47ddde['data'],_0x47ddde['metadata']),await this['_fetchMissingUsers'](_0x8432ce),this['_applyOperationsSet'](_0x8432ce,_0x51251d);}_0x47ddde['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x8432ce,_0x47ddde['lastOperationId']),this['_lastSyncedOperationId']=_0x47ddde['lastOperationId']),this['serverHistory']['version']=_0x16f9aa+this['_offset'],this['_updateServerHistory'](_0x8432ce),_0x1d4334['filter'](_0x236240=>{const _0x4cbb73=this['_getAffectedRoot'](_0x236240);return _0x4cbb73&&!this['_knownRootNames']['has'](_0x4cbb73);})['forEach']((_0x174dc6,_0x13945a)=>{_0x174dc6['baseVersion']=this['_document']['version']+_0x13945a,this['_saveOperationInBuffer'](_0x174dc6);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xf6906,_0x3f7392){const _0x40d90e=_0x3f7392&&_0x3f7392['message'];if(_0x40d90e&&_0x40d90e['startsWith']('realtimecollaborationclient'))throw _0x3f7392;const _0x1bec69=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x1bec69['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x213e64(_0xf6906,this['editor'],_0x40d90e?{'originalError':_0x40d90e}:void 0x0);}['_saveOperationInBuffer'](_0x41b340){this['_knownOperations']['has'](_0x41b340)||(this['_knownOperations']['add'](_0x41b340),this['_bufferedOperations']['push'](_0x41b340),this['_pendingAction']||'marker'==_0x41b340['type']&&!_0x41b340['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x54b933=!0x1){!_0x54b933&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x16689d=>{_0x16689d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1caf41=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xb59674){return _0xb59674['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xb59674['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xb59674['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1caf41)||this['_crash'](_0x1caf41['message'],_0x1caf41);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x228521=>{this['on']('change:_isPendingUpdate',()=>{_0x228521();});});}async['_sendBufferedOperations'](){const _0x4a9bca=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x4a9bca['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x125300=[...this['_bufferedOperations']];for(const _0x3d1740 of _0x125300)_0x3d1740['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3d1740);const _0x4c372c=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x125300),_0x5e92cf=Q++,_0x3face5=this['_compressOperations'](_0x125300),_0x53d7cf=await this['_service']['sendOperations'](_0x3face5,_0x3face5['baseVersion'],_0x4c372c);try{return await this['_handleServerResponse'](_0x125300,_0x53d7cf,_0x5e92cf);}catch(_0x2cb100){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2cb100);}}async['_handleServerResponse'](_0xdf7610,_0x3e8266,_0x4d32a2){if('error'in _0x3e8266)throw _0x3e8266['error'];let _0x39c84a=!0x1;if(_0x3e8266['wereChangesApplied']){_0x3e8266['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3e8266['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x64f06d=>!_0xdf7610['includes'](_0x64f06d));for(const _0x2c426e of _0xdf7610)_0x2c426e['createdAt']='lastOperationAcceptedAt'in _0x3e8266&&_0x3e8266['lastOperationAcceptedAt']||void 0x0;Y(_0xdf7610,_0x3e8266['version']-_0xdf7610['length']),this['_updateServerHistory'](_0xdf7610);const _0x2abc27=_0xdf7610['filter'](_0x33741a=>{if(!_0x33741a['_isInit'])return!0x1;const _0x478643=this['_getAffectedRoot'](_0x33741a);return _0x478643&&!this['_knownRootNames']['has'](_0x478643);});Y(_0x2abc27,this['_document']['version']),this['_applyOperationsSet'](_0x2abc27),_0x39c84a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x44289f=this['_decompressOperations'](_0x3e8266['data'],_0x3e8266['metadata'])['filter'](_0x200020=>_0x200020['baseVersion']>=this['_lastServerVersion']);_0x44289f['forEach'](_0x37fd6f=>this['_addKnownRoot'](_0x37fd6f)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x383bd7=>!_0x383bd7['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x383bd7))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x44289f),_0x39c84a=this['_handleExternalOperations'](_0x44289f,_0x3e8266['version'],_0x3e8266['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x39c84a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x54f6d5,_0x5dfb62,_0x47e372){try{const _0x3e4b56={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x36830a,operationsB:_0x20abff,originalOperations:_0x1e06b5}=_0x65b94f(_0x54f6d5,this['_bufferedOperations'],_0x3e4b56);Y(_0x36830a,this['_document']['version']),Y(_0x20abff,_0x5dfb62);for(const _0x2cb39c of _0x36830a){const _0x1a5056=_0x1e06b5['get'](_0x2cb39c);_0x2cb39c['_authorId']=_0x1a5056?_0x1a5056['_authorId']:null;}_0x47e372&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x54f6d5,_0x47e372),this['_lastSyncedOperationId']=_0x47e372),this['_bufferedOperations']=[..._0x20abff],this['_applyOperationsSet'](_0x36830a),this['_updateServerHistory'](_0x54f6d5);}catch(_0x16a175){return console['error'](_0x16a175),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3b85f1,_0x1896f9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1fdbc1=>{for(const _0x16cc73 of _0x3b85f1)this['_knownOperations']['add'](_0x16cc73),this['_addKnownRoot'](_0x16cc73),_0x1fdbc1['batch']['addOperation'](_0x16cc73),this['editor']['model']['applyOperation'](_0x16cc73);});}['_addKnownRoot'](_0x558ce8){const _0x4d57c2=this['_getAffectedRoot'](_0x558ce8);_0x4d57c2&&this['_knownRootNames']['add'](_0x4d57c2);}['_getAffectedRoot'](_0x23ce1e){let _0x53cc81,_0x7c6ae3;switch(_0x23ce1e['type']){case'insert':_0x53cc81=_0x23ce1e['position']['root'];break;case'marker':if(_0x7c6ae3=_0x23ce1e['newRange'],!_0x7c6ae3)return null;_0x53cc81=_0x7c6ae3['root'];break;case'addRootAttribute':_0x53cc81=_0x23ce1e['root'];break;case'addRoot':_0x53cc81=_0x23ce1e['affectedSelectable'];break;case'move':_0x53cc81=_0x23ce1e['targetPosition']['root'];break;default:return null;}return _0x53cc81['rootName'];}['_updateServerHistory'](_0x1f3c10){_0x1f3c10['forEach'](_0x451277=>{const _0x57692f=_0x451277['clone']();_0x57692f['_authorId']=_0x451277['_authorId'],_0x57692f['_isInit']=!!_0x451277['_isInit'],_0x57692f['createdAt']=_0x451277['createdAt'],_0x57692f['baseVersion']+=this['_offset'],_0x451277['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x57692f),this['serverHistory']['addOperation'](_0x57692f);});}['_handleReconnectionError'](_0x4b73f7){const _0xf00095=this['editor']['plugins']['get']('Notification'),_0x565289=this['editor']['locale'];_0x4b73f7||(_0x4b73f7=$(_0x565289,'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.')),_0xf00095['showWarning'](_0x4b73f7,{'title':$(_0x565289,'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'](_0x4d3072)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4d3072)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x6d426b){const _0xc52aff=_0x6d426b['map'](_0x46eaa5=>_0x46eaa5['toJSON']());return this['_compressor']['compress'](_0xc52aff);}['_decompressOperations'](_0xdb8b4b,_0x508338){return this['_compressor']['decompress'](_0xdb8b4b)['map']((_0x24ca31,_0x2876cc)=>{const _0xf29f81='init'==_0x508338[_0x2876cc]['type'];if('InsertOperation'==_0x24ca31['__className']){const _0x2c21a6=_0x24ca31['position']['root'];!this['_document']['getRoot'](_0x2c21a6)&&(this['_document']['createRoot']('$root',_0x2c21a6)['_isAttached']=!0x1);}const _0x106810=_0x5e5f99['fromJSON'](_0x24ca31,this['_document']);return _0x106810['wasUndone']=_0x24ca31['wasUndone'],_0x106810['_isInit']=_0xf29f81,_0x106810['_authorId']=_0xf29f81?null:_0x508338[_0x2876cc]['userId'],_0x106810['_isDisconnection']='cs:removeUser'===_0x508338[_0x2876cc]['type'],_0x106810['createdAt']=_0x508338[_0x2876cc]['createdAt'],_0x106810;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x11f8b4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x11f8b4&&_0x11f8b4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x14909c,_0x557cc3){for(const _0x48cb4d of _0x14909c)_0x48cb4d['baseVersion']=_0x557cc3++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x5168bc){this['_ignoredOperations']=_0x5168bc,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x358de6){let _0x8dedc8=_0x358de6['length'];for(;_0x8dedc8--;){const _0x356d97=_0x358de6[_0x8dedc8];if(!this['_ignoredOperations']['has'](_0x356d97)){if(!this['_operationToId']['has'](_0x356d97)){const _0x28ceeb=_0x322f72()['slice'](0x1,0x12);this['_operationToId']['set'](_0x356d97,_0x28ceeb);}return this['_operationToId']['get'](_0x356d97);}}}['setIdForTheLastOperation'](_0x2b72c2,_0x40676a){if(!_0x40676a)return;let _0xcc540c=_0x2b72c2['length'];for(;_0xcc540c--;){const _0x49cec0=_0x2b72c2[_0xcc540c];this['_ignoredOperations']['has'](_0x49cec0)||this['_operationToId']['set'](_0x49cec0,_0x40676a);}}}class a extends _0xc3a9c{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x209765{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x35df08)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5a0a2c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x54f32e){super(_0x54f32e),this['_services']=new Map();}async['init'](){const _0x3a1038=this['context'],_0x2354a1=_0x3a1038['plugins']['get']('CommentsRepository');if(_0x3a1038['plugins']['get'](n)['addToReconnectionStack'](this),_0x2354a1['adapter']={'addCommentThread':async({channelId:_0x462444,threadId:_0x54c2ff,comments:_0x318eba,resolvedAt:_0x162278,resolvedBy:_0x520fb3,context:_0x1664f5,attributes:_0x3c494a})=>{const _0x25c5b4=await this['_getService'](_0x462444)['addCommentThread']({'commentThreadId':_0x54c2ff,'comments':_0x318eba['map'](_0x3d5882=>function(_0x514746,_0x394f0a,_0x61eade){return{'commentThreadId':_0x61eade,'commentId':_0x514746['commentId'],'userId':_0x514746['authorId'],'content':_0x514746['content'],'documentId':_0x394f0a,'createdAt':_0x514746['createdAt'],'attributes':_0x514746['attributes']||{}};}(_0x3d5882,_0x462444,_0x54c2ff)),'resolvedAt':_0x162278,'resolvedBy':_0x520fb3,'context':_0x1664f5,'attributes':_0x3c494a})['catch'](at);return{'threadId':_0x25c5b4['commentThreadId'],'comments':_0x25c5b4['comments']};},'getCommentThread':async({channelId:_0x15103d,threadId:_0xebd68e})=>{const _0x514bd2=await this['_getService'](_0x15103d)['getCommentThread'](_0xebd68e)['catch'](at);return _0x514bd2['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x514bd2]),{'threadId':_0x514bd2['commentThreadId'],'comments':_0x514bd2['comments']['map'](p),'context':_0x514bd2['context'],'resolvedAt':_0x514bd2['resolvedAt'],'resolvedBy':_0x514bd2['resolvedBy'],'attributes':_0x514bd2['attributes']||{}});},'updateCommentThread':async({channelId:_0xdd6eda,threadId:_0x11e272,context:_0x5f035f,unlinkedAt:_0x260379,attributes:_0x835e52})=>this['_getService'](_0xdd6eda)['updateCommentThread']({'commentThreadId':_0x11e272,'context':_0x5f035f,'attributes':_0x835e52,'unlinkedAt':_0x260379})['catch'](v)['catch'](at),'resolveCommentThread':async({channelId:_0x59a472,threadId:_0x9b968d})=>{const _0x9523b5=await this['_getService'](_0x59a472)['resolveCommentThread'](_0x9b968d)['catch'](v)['catch'](at);return{'threadId':_0x9523b5['commentThreadId'],'resolvedAt':_0x9523b5['resolvedAt'],'resolvedBy':_0x9523b5['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4342a2,threadId:_0x425e2b})=>this['_getService'](_0x4342a2)['reopenCommentThread'](_0x425e2b)['catch'](v)['catch'](at),'removeCommentThread':({channelId:_0x3c80f5,threadId:_0x2b682e})=>this['_getService'](_0x3c80f5)['removeCommentThread'](_0x2b682e)['catch'](v)['catch'](at),'addComment':({channelId:_0x5942f4,threadId:_0x7fcbdc,commentId:_0xb476b5,content:_0x535213,attributes:_0x5a623a})=>this['_getService'](_0x5942f4)['addComment'](_0x7fcbdc,_0xb476b5,_0x535213,_0x5a623a)['catch'](at),'updateComment':({channelId:_0x4ccb8b,threadId:_0x3a50e6,commentId:_0x188bf6,content:_0x530ad3,attributes:_0x9ea24a})=>this['_getService'](_0x4ccb8b)['updateComment'](_0x3a50e6,_0x188bf6,_0x530ad3,_0x9ea24a)['catch'](v)['catch'](at),'removeComment':({channelId:_0x4722be,threadId:_0x4d49c6,commentId:_0x5b1d76})=>this['_getService'](_0x4722be)['removeComment'](_0x4d49c6,_0x5b1d76)['catch'](v)['catch'](at)},_0x3a1038 instanceof _0x43e148){const _0x1faa73=_0x3a1038['config']['get']('collaboration.channelId'),_0x18b212=_0x3a1038['plugins']['get'](i);await this['_setUpService'](_0x1faa73);const _0x1b200e=await this['_services']['get'](_0x1faa73)['getConnectedSessions']();this['listenTo'](_0x18b212,'sessionAdd:'+_0x1faa73,(_0x5412db,{session:_0x397342})=>{_0x397342['id']===_0x18b212['mySessionId']&&(_0x5412db['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x397342['permissions'],_0x1faa73));}),_0x18b212['register'](_0x1faa73,_0x1b200e);}}async['_setUpService'](_0x3e755f){if(this['_services']['has'](_0x3e755f))throw new _0x213e64('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3e755f});const _0x2dd2f0=this['context']['plugins']['get']('CommentsRepository'),_0x1b98aa=new s['CommentsService'](_0x3e755f);this['_services']['set'](_0x3e755f,_0x1b98aa),this['listenTo'](_0x1b98aa,'commentThreadAdded',(_0x341fa3,_0x3d8f9b)=>{const {commentThreadId:_0x14ae9b,documentId:_0x314bc4,context:_0x5bc60a,attributes:_0x40fa82,resolvedAt:_0x2775ee,resolvedBy:_0x9311ca,comments:_0x29b363}=_0x3d8f9b;_0x2dd2f0['getCommentThread'](_0x14ae9b)||_0x2dd2f0['addCommentThread']({'threadId':_0x14ae9b,'channelId':_0x314bc4,'comments':_0x29b363?_0x29b363['map'](p):[],'context':_0x5bc60a,'attributes':_0x40fa82,'resolvedAt':_0x2775ee,'resolvedBy':_0x9311ca,'isFromAdapter':!0x0});}),this['listenTo'](_0x1b98aa,'commentThreadUpdated',(_0x2a3fae,{commentThreadId:_0x38d1b9,documentId:_0x2aa0b4,context:_0x3a5e41,unlinkedAt:_0x2e843a,attributes:_0x853037})=>{_0x2dd2f0['getCommentThread'](_0x38d1b9)&&_0x2dd2f0['updateCommentThread']({'threadId':_0x38d1b9,'channelId':_0x2aa0b4,'context':_0x3a5e41,'unlinkedAt':_0x2e843a,'attributes':_0x853037,'isFromAdapter':!0x0});}),this['listenTo'](_0x1b98aa,'commentThreadResolved',(_0x165ea4,{commentThreadId:_0xaa3070,resolvedBy:_0x44a6c1,resolvedAt:_0x337584})=>{const _0x56e5a1=_0x2dd2f0['getCommentThread'](_0xaa3070);_0x56e5a1&&_0x56e5a1['resolve']({'resolvedBy':_0x44a6c1,'resolvedAt':_0x337584,'isFromAdapter':!0x0});}),this['listenTo'](_0x1b98aa,'commentThreadReopened',(_0x1c14a5,{commentThreadId:_0x49f8eb})=>{const _0x5e6ba9=_0x2dd2f0['getCommentThread'](_0x49f8eb);_0x5e6ba9&&_0x5e6ba9['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1b98aa,'commentThreadRemoved',(_0x3add11,{commentThreadId:_0x349969})=>{const _0x1f5645=_0x2dd2f0['getCommentThread'](_0x349969);_0x1f5645&&_0x1f5645['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1b98aa,'commentAdded',(_0x2418ce,_0x52a7a5)=>{const _0x1a0707=_0x52a7a5['commentThreadId'],_0x416266=_0x2dd2f0['getCommentThread'](_0x1a0707);_0x416266&&_0x416266['addComment']({...p(_0x52a7a5),'isFromAdapter':!0x0});}),this['listenTo'](_0x1b98aa,'commentUpdated',(_0x1dc876,{commentThreadId:_0x1daeda,commentId:_0x471ffa,content:_0x174c01,attributes:_0x4aab39})=>{const _0x136823=_0x2dd2f0['getCommentThread'](_0x1daeda);if(_0x136823){const _0x55f61d=_0x136823['getComment'](_0x471ffa);_0x55f61d&&_0x55f61d['update']({'content':_0x174c01,'attributes':_0x4aab39,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1b98aa,'commentRemoved',(_0x5cbb5c,{commentThreadId:_0x3233e2,commentId:_0x2b9083})=>{const _0xd0c311=_0x2dd2f0['getCommentThread'](_0x3233e2);if(_0xd0c311){const _0x3ef29c=_0xd0c311['getComment'](_0x2b9083);_0x3ef29c&&_0x3ef29c['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3e755f);}['destroy'](){if(this['context']instanceof _0x43e148){const _0x58a77b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x58a77b);}}['_terminateService'](_0x5dccf6){if(!this['_services']['has'](_0x5dccf6))throw new _0x213e64('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5dccf6});this['_getService'](_0x5dccf6)['disconnect'](),this['_services']['delete'](_0x5dccf6);}async['reconnect'](){for(const _0x2f7f14 of this['_services']['keys']())await this['_connectService'](_0x2f7f14);if(this['context']instanceof _0x43e148){const _0x383a62=this['context']['config']['get']('collaboration.channelId'),_0x2d90e2=this['context']['plugins']['get'](i);_0x2d90e2['unregister'](_0x383a62);const _0x207f27=await this['_services']['get'](_0x383a62)['getConnectedSessions']();_0x2d90e2['register'](_0x383a62,_0x207f27);}}async['_connectService'](_0x17b506){const {connection:_0x264ec7}=this['context']['plugins']['get'](n),_0x1cd97e=this['context']['plugins']['get']('CommentsRepository'),_0x420c2e=this['_services']['get'](_0x17b506),_0x5b8de7=await _0x420c2e['connect'](_0x264ec7);await this['_fetchMissingUsersForThreads'](_0x5b8de7);const _0x2a6479=new Set(Array['from'](_0x1cd97e['getCommentThreads']({'channelId':_0x17b506}),_0x2d9b3b=>_0x2d9b3b['id']));for(const _0xfd7efd of _0x5b8de7)_0xfd7efd['deletedAt']||_0x2a6479['delete'](_0xfd7efd['commentThreadId']);for(const _0x4e96e0 of _0x2a6479)_0x1cd97e['getCommentThread'](_0x4e96e0)['remove']({'isFromAdapter':!0x0});for(const _0x57fcb3 of _0x5b8de7){let _0xabfb0e=_0x1cd97e['getCommentThread'](_0x57fcb3['commentThreadId']);const {commentThreadId:_0x51a9c8,context:_0xffdf00,attributes:_0x18a6ee,resolvedBy:_0x3952da,resolvedAt:_0x1a1f1f,unlinkedAt:_0x31026e,deletedAt:_0x4ba25e}=_0x57fcb3;if(_0x4ba25e)continue;_0xabfb0e||(_0xabfb0e=_0x1cd97e['addCommentThread']({'channelId':_0x17b506,'threadId':_0x51a9c8,'context':_0xffdf00,'attributes':_0x18a6ee||{},'resolvedBy':_0x3952da,'resolvedAt':_0x1a1f1f,'unlinkedAt':_0x31026e,'isFromAdapter':!0x0}));const _0x4d70aa=new Set(Array['from'](_0xabfb0e['comments'],_0x375fe6=>_0x375fe6['id']));for(const _0x25e0c7 of _0x57fcb3['comments'])_0x4d70aa['delete'](_0x25e0c7['commentId']);for(const _0x45dc10 of _0x4d70aa)_0xabfb0e['getComment'](_0x45dc10)['remove']({'isFromAdapter':!0x0});for(const _0x4b715a of _0x57fcb3['comments']){const _0x2c4454=_0xabfb0e['getComment'](_0x4b715a['commentId']);_0x2c4454?_0x2c4454['content']!==_0x4b715a['content']&&_0x2c4454['update']({'content':_0x4b715a['content'],'isFromAdapter':!0x0}):_0xabfb0e['addComment'](Object['assign'](p(_0x4b715a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x575112){if(!this['_services']['has'](_0x575112))throw new _0x213e64('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x575112});return this['_services']['get'](_0x575112);}async['_fetchMissingUsersForThreads'](_0x46ca9e){const _0x1cca64=this['context']['plugins']['get'](_0x5a0a2c),{connection:_0x504b21}=this['context']['plugins']['get'](n),_0x4408d1=new Set();for(const {resolvedBy:_0x22ab9f,comments:_0x2e9327}of _0x46ca9e){_0x22ab9f&&!_0x1cca64['getUser'](_0x22ab9f)&&_0x4408d1['add'](_0x22ab9f);for(const {userId:_0x496ec4}of _0x2e9327)_0x1cca64['getUser'](_0x496ec4)||_0x4408d1['add'](_0x496ec4);}if(0x0===_0x4408d1['size'])return;const _0x454e60=await ct['getMany'](_0x504b21,Array['from'](_0x4408d1));for(const _0x396637 of _0x454e60)_0x1cca64['getUser'](_0x396637['id'])||_0x1cca64['addUser'](_0x396637);}}async function v(_0x5204b6){if('404'!==_0x5204b6['code'])throw _0x5204b6;}function at(_0x21d110){if((_0x2af84e=_0x21d110)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2af84e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2af84e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2af84e;throw _0x21d110;}function p(_0x55e7d8){return{'threadId':_0x55e7d8['commentThreadId'],'commentId':_0x55e7d8['commentId'],'content':_0x55e7d8['content'],'createdAt':_0x55e7d8['createdAt'],'authorId':_0x55e7d8['userId'],'attributes':_0x55e7d8['attributes']||{}};}class m extends _0xc3a9c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b5306){super(_0x5b5306);const _0x1b508d=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x1b508d);}['init'](){const _0x44bede=this['editor']['plugins']['get'](n),_0x456a13=this['editor']['plugins']['get']('TrackChangesEditing');return _0x456a13['adapter']={'getSuggestion':async _0x52ce3d=>{await this['_waitForServiceReady']();const _0xab5a61=await this['_trackChangesService']['get'](_0x52ce3d)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0xab5a61]),_0xab5a61;},'addSuggestion':async({id:_0x7403b5,type:_0x2ef97c,data:_0x2e32c1,originalSuggestionId:_0x150b4f,attributes:_0x1c4713})=>{await this['_waitForServiceReady']();const _0x1a2aee={'id':_0x7403b5,'type':_0x2ef97c,'data':_0x2e32c1,'originalSuggestionId':_0x150b4f,'attributes':_0x1c4713},_0x6107e8=await this['_trackChangesService']['add'](_0x7403b5,_0x2ef97c,_0x2e32c1,_0x150b4f,_0x1c4713)['catch'](_0x196eeb=>{if(ht(_0x196eeb))return new Promise(_0xef6191=>{this['_bufferedRequests']['set'](_0x7403b5,{'resolve':_0xef6191,'suggestionData':_0x1a2aee});});throw _0x196eeb;});return this['_bufferedRequests']['delete'](_0x7403b5),_0x6107e8;},'updateSuggestion':async(_0xc05c09,_0x58827f)=>{if(await this['_waitForServiceReady'](),'open'!==_0x58827f['state'])return this['_trackChangesService']['update'](_0xc05c09,_0x58827f)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4ee95a,_0x2cec7c)=>{_0x456a13['hasSuggestion'](_0x2cec7c['id'])&&(_0x456a13['getSuggestion'](_0x2cec7c['id'])['attributes']=_0x2cec7c['attributes']);}),this['_trackChangesService']['connect'](_0x44bede['connection'])['then'](_0x15fc1e=>(_0x44bede['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x15fc1e)['then'](()=>{for(const _0x329602 of _0x15fc1e){_0x456a13['addSuggestionData'](_0x329602)['_saved']=!0x0;}})));}async['reconnect'](){const _0xe661f2=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2753ab}=this['editor']['plugins']['get'](n),_0x5d1b56=await this['_trackChangesService']['connect'](_0x2753ab);await this['_fetchMissingUsersForThreads'](_0x5d1b56);for(const {suggestionData:_0x159d77,resolve:_0x5712ad}of this['_bufferedRequests']['values']()){let _0x5c76cd=_0x5d1b56['find'](_0x56895a=>_0x56895a['id']===_0x159d77['id']);_0x5c76cd||(_0x5c76cd=await this['_trackChangesService']['add'](_0x159d77['id'],_0x159d77['type'],_0x159d77['data'],_0x159d77['originalSuggestionId'])),_0x5712ad(_0x5c76cd);}for(const _0x4879ff of _0x5d1b56)_0xe661f2['hasSuggestion'](_0x4879ff['id'])||_0xe661f2['addSuggestionData'](_0x4879ff);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5f5b23=>{this['listenTo'](this['_trackChangesService'],'connected',_0x14b746=>{_0x14b746['off'](),_0x5f5b23();});});}async['_fetchMissingUsersForThreads'](_0x49cbf7){const _0x327b05=this['editor']['plugins']['get'](_0x5a0a2c),{connection:_0x1beae1}=this['editor']['plugins']['get'](n),_0x24b362=new Set();for(const {authorId:_0xd3ea00}of _0x49cbf7)_0x327b05['getUser'](_0xd3ea00)||_0x24b362['add'](_0xd3ea00);if(0x0===_0x24b362['size'])return;const _0xbc2559=await ct['getMany'](_0x1beae1,Array['from'](_0x24b362));for(const _0x46a626 of _0xbc2559)_0x327b05['getUser'](_0x46a626['id'])||_0x327b05['addUser'](_0x46a626);}}function A(_0x2eb894){if(ht(_0x2eb894))return new Promise(()=>{});throw _0x2eb894;}function ht(_0x5b0ee3){return _0x5b0ee3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b0ee3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xc3a9c{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 _0x378c50=this['editor']['plugins']['get'](n),_0x5ac9ae=this['editor']['plugins']['get']('CommentsEditing'),_0x5cd8a8=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x378c50,'change:state',(_0x45827c,_0x5da531,_0x2cefcb)=>{_0x5ac9ae['isThreadsLoadingPaused']='connected'!==_0x2cefcb;});}),this['listenTo'](_0x378c50,'change:state',(_0x5d743f,_0x36a387,_0x2d3b3e)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x2d3b3e);}),_0x5cd8a8['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0xc3a9c{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 _0xc3a9c{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x11a9e4)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5a0a2c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x311665){super(_0x311665);const _0x55b43d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x55b43d);}async['init'](){const _0xe2b307=this['editor']['plugins']['get'](l),_0x199aee=_0xe2b307['serverHistory'],_0x26fd8e=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x199aee,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xe2b307['sessionId']});const _0x24c4fa=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x221264=await _0x1d9c68['isBundleUploaded'](_0x26fd8e['connection'],_0x24c4fa);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1114d6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1114d6)),'updateRevisions':async _0x2f0731=>{await this['_waitForServiceReady']();const _0x3d82bb=this['_revisionTracker']['currentRevision'];if(_0x221264&&0x1===_0x2f0731['length']&&_0x2f0731[0x0]['id']===_0x3d82bb['id'])return _0x2f0731;for(const _0x4889e8 of _0x2f0731)_0x4889e8['id']===_0x3d82bb['id']&&(_0x4889e8['isEmptyCurrent']=_0x4889e8['fromVersion']===_0x4889e8['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2f0731,this['_lastRequestId'])['then'](_0x1b673c=>(this['_lastRequestId']=_0x1b673c,_0x2f0731))['catch'](_0x106cfd=>{if(M(_0x106cfd)||'400'===_0x106cfd['code']&&void 0x0!==_0x106cfd['data']['wrongRequestId']){for(const _0x2e429e of _0x2f0731){!this['_revisionTracker']['repository']['getRevision'](_0x2e429e['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2e429e['id'],_0x2e429e,!0x1);}if(M(_0x106cfd))throw _0x106cfd;return _0x2f0731;}throw _0x106cfd;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x416e92,{revisionsData:_0x21e7a4,requestId:_0x5045cc})=>{Math['max'](..._0x21e7a4['map'](_0x3ed862=>_0x3ed862['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x21e7a4,_0x5045cc);}):this['_handleRevisionsUpdate'](_0x21e7a4,_0x5045cc);});const {revisions:_0x1e4bc7,requestId:_0x24efff}=await this['_revisionHistoryService']['connect'](_0x26fd8e['connection']);_0x26fd8e['addToReconnectionStack'](this),this['_lastRequestId']=_0x24efff,await this['_fetchMissingUsers'](_0x1e4bc7);for(const _0x3469ac of _0x1e4bc7)this['_revisionTracker']['addRevisionData'](_0x3469ac);this['listenTo'](_0xe2b307,'change:_isConnected',(_0x19f813,_0x2bbfea,_0x331326)=>{_0x331326&&(this['_oldOffset']=_0xe2b307['_offset'],_0x19f813['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x26fd8e,'state',_0x941110=>_0x941110===_0x5f0b2d['CONNECTED']);}async['reconnect'](){const _0x2548c8=this['editor']['plugins']['get'](n),_0x224a20=this['editor']['plugins']['get'](l),_0x17f1c7=async()=>{const _0x1d22d7=this['_revisionTracker']['currentRevision'],_0x1b442b=_0x1d22d7['id'],_0x39cbf7=_0x1b442b!==_0x224a20['sessionId'];if(_0x39cbf7){const _0x5a7683=_0x224a20['_offset']-this['_oldOffset'],_0x170bc9=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1d22d7['toVersion']+_0x5a7683!==_0x170bc9){const _0x52decf=_0x1d22d7['fromVersion']+_0x5a7683,_0x19277a=this['editor']['plugins']['get'](_0x5a0a2c),_0x29d362=this['_revisionTracker']['buildRevisionData']({'revision':_0x1d22d7,'from':_0x52decf,'to':_0x170bc9});_0x29d362['id']=_0x1d22d7['id'];const _0x572736=_0x29d362['authorsIds']['map'](_0x120f2e=>_0x19277a['getUser'](_0x120f2e));_0x1d22d7['_update']({..._0x29d362,'authors':_0x572736},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1d22d7['id'],_0x29d362,!0x0);}this['_revisionTracker']['_startingVersion']=_0x170bc9,(_0x1d22d7['toVersion']===_0x1d22d7['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1b442b)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1b442b),this['_revisionTracker']['_createCurrentRevision'](_0x170bc9));}const {revisions:_0x57a5f8,requestId:_0x4e5780}=await this['_revisionHistoryService']['reconnect'](_0x2548c8['connection'],this['_lastRequestId']);_0x39cbf7&&_0x57a5f8['length']>0x0?_0x224a20['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x57a5f8),this['_handleRevisionsUpdate'](_0x57a5f8,_0x4e5780),this['_revisionTracker']['sendBufferedUpdates']());};return _0x224a20['_isConnected']?_0x17f1c7():new Promise((_0x498d4c,_0x251d8c)=>{_0x224a20['once']('change:_isConnected',()=>{_0x17f1c7()['then'](_0x498d4c)['catch'](_0x251d8c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x969061=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5d757b=>{_0x5d757b['off'](),_0x969061();});});}['_getLatestVersionFromServerOperations'](){const _0x2639c9=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x457dc2 of _0x2639c9)if('marker'!==_0x457dc2['type']||_0x457dc2['affectsData'])return _0x457dc2['baseVersion']+0x1;}['_getLatestVersion'](){const _0xe8b56a=this['editor']['plugins']['get'](l);return new Promise(_0x3254f7=>{_0xe8b56a['_isPendingUpdate']?_0xe8b56a['once']('change:_isPendingUpdate',()=>{_0x3254f7(this['_getLatestVersionFromServerOperations']());}):_0x3254f7(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1a03a8,_0x2882a6){const _0x5ce572=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2882a6;for(const _0x68f7b7 of _0x1a03a8){const _0x213947=_0x5ce572['getRevision'](_0x68f7b7['id']);if(_0x213947){if((_0x68f7b7['fromVersion']||_0x68f7b7['toVersion'])&&(_0x68f7b7['diffData']=null),_0x213947===this['_revisionTracker']['currentRevision']){const _0x50ab59=Math['max'](_0x213947['toVersion'],_0x68f7b7['toVersion']),_0x3cda34=Math['max'](_0x213947['fromVersion'],_0x68f7b7['fromVersion']);let _0x3472f7;_0x213947['toVersion']===_0x68f7b7['toVersion']&&_0x213947['fromVersion']===_0x68f7b7['fromVersion']?(_0x3472f7=!0x0,this['_preventResendingRevisionData'](_0x68f7b7)):_0x68f7b7['toVersion']===_0x50ab59&&_0x68f7b7['fromVersion']===_0x3cda34?_0x3472f7=!0x1:(_0x213947['toVersion']===_0x50ab59&&_0x213947['fromVersion']===_0x3cda34||this['_fixRevision']({'revision':_0x213947,'from':_0x3cda34,'to':_0x50ab59}),_0x3472f7=!0x0),_0x3472f7&&(delete _0x68f7b7['fromVersion'],delete _0x68f7b7['toVersion'],delete _0x68f7b7['diffData'],delete _0x68f7b7['createdAt'],delete _0x68f7b7['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x68f7b7),this['_preventResendingRevisionData'](_0x68f7b7);}else this['_revisionTracker']['addRevisionData'](_0x68f7b7);}const _0x19fb21=_0x5ce572['getRevisions']();_0x19fb21['reverse']();for(let _0x35b0db=0x0;_0x35b0db<_0x19fb21['length']-0x1;_0x35b0db++){const _0x1d192b=_0x19fb21[_0x35b0db],_0x28b080=_0x19fb21[_0x35b0db+0x1];if(_0x1d192b['fromVersion']<_0x28b080['toVersion']){const _0x575a27=_0x28b080['toVersion'],_0x3a022c=Math['max'](_0x575a27,_0x1d192b['toVersion']);this['_fixRevision']({'revision':_0x1d192b,'from':_0x575a27,'to':_0x3a022c});}}}['_fixRevision']({revision:_0x1b5659,from:_0x53a1a5,to:_0x14347f}={}){const _0x3eb29a=this['editor']['plugins']['get'](_0x5a0a2c),_0x23070c=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b5659,'from':_0x53a1a5,'to':_0x14347f});_0x23070c['authors']=_0x23070c['authorsIds']['map'](_0x583d5b=>_0x3eb29a['getUser'](_0x583d5b)),_0x1b5659['_update'](_0x23070c);}['_preventResendingRevisionData'](_0x3e8f6f){const _0x27421a={};_0x27421a['id']=_0x3e8f6f['id'];for(const _0x56121a of Object['keys'](_0x3e8f6f))'id'!==_0x56121a&&(_0x27421a[_0x56121a]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x27421a['id'],_0x27421a,!0x0);}async['_fetchMissingUsers'](_0xabf2dd){const _0x354691=this['editor']['plugins']['get'](_0x5a0a2c),{connection:_0x42bc51}=this['editor']['plugins']['get'](n),_0x31e97f=new Set();for(const _0x1a6935 of _0xabf2dd){for(const _0x333a1e of _0x1a6935['authorsIds'])_0x33c4b7(_0x333a1e);_0x1a6935['creatorId']&&_0x33c4b7(_0x1a6935['creatorId']);}if(0x0===_0x31e97f['size'])return;const _0x27724c=await ct['getMany'](_0x42bc51,Array['from'](_0x31e97f));for(const _0xaa319e of _0x27724c)_0x354691['getUser'](_0xaa319e['id'])||_0x354691['addUser'](_0xaa319e);function _0x33c4b7(_0x4f8d11){_0x354691['getUser'](_0x4f8d11)||_0x31e97f['add'](_0x4f8d11);}}}function M(_0x5c701b){return _0x5c701b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5c701b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c701b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0xc3a9c{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x56ef61{['_collapseAt'];constructor(_0x41f365,_0x3e5460=0x6){super(_0x41f365);const _0x1524cc=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3e5460,this['bind']('isHidden')['to'](this,'usersCount',_0x2b9857=>_0x2b9857<_0x3e5460),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1524cc['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':_0x1524cc['to']('usersCount',_0xb72bbc=>'+'+(_0xb72bbc-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x56ef61{['items'];['keystrokes'];constructor(_0x1adb69){super(_0x1adb69);const _0x1609d6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x58ca83(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1609d6['if']('hasPopup'),'aria-expanded':_0x1609d6['to']('isExpanded',_0x1310e1=>this['hasPopup']&&String(_0x1310e1)),'aria-label':_0x1609d6['to']('hasPopup',_0x2a2354=>$(_0x1adb69,_0x2a2354?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1609d6['to']('hasPopup',_0x6a020d=>!!_0x6a020d&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x1609d6['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x1609d6['to'](_0x82b620=>{const _0x3df603=_0x82b620,_0x3780e1=document['querySelector']('.ck-presence-list__dropdown-list'),_0x39e3b5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3780e1?.['contains'](_0x3df603['relatedTarget'])||_0x39e3b5?.['contains'](_0x3df603['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x169737,_0x51a1e1,_0x1f1e60)=>{this['element']&&(_0x1f1e60?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x56ef61{['counterView'];['inlineListView'];constructor(_0x5933b3,_0x2ac06f=0x6){super(_0x5933b3);const _0x2f1e93=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x2ac06f),this['inlineListView']=new is(_0x5933b3),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3bf1a9 of this['inlineListView']['items'])_0x3bf1a9['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',_0x2f1e93['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x56ef61{['listWrapperView'];constructor(_0x5961c5,_0x45bff4){super(_0x5961c5);const _0x3ce3bd=this['bindTemplate'];this['listWrapperView']=new ut(_0x5961c5,_0x45bff4),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x5961c5,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3ce3bd['to'](_0x7d4490=>{const _0x5b9b77=_0x7d4490,_0x5c5ff5=document['querySelector']('.ck-presence-list__list'),_0x133f41=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5c5ff5?.['contains'](_0x5b9b77['relatedTarget'])||_0x133f41?.['contains'](_0x5b9b77['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x34d1d2{constructor(_0x5e8945,_0x501fac){super(_0x5e8945);const _0x2babf0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x501fac?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2babf0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2babf0['to']('role'),'aria-label':_0x2babf0['to']('ariaLabel'),'aria-labelledby':_0x2babf0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x46f1c0['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x19d71e=this['element'];_0x19d71e&&(this['_isScrollable']=Math['max'](_0x19d71e['scrollHeight'],_0x19d71e['clientHeight'])>0.8*window['innerHeight']);}}class P extends et{['userView'];constructor(_0x2ad101,_0x3ed62e,_0x28c635){super(_0x2ad101);const _0x1a0b1f=this['bindTemplate'];this['userView']=new st(_0x2ad101,_0x3ed62e);const _0x2b5d44={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3ed62e['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3ed62e['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3ed62e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x28c635&&(_0x2b5d44['tag']='button',_0x2b5d44['on']={'click':_0x1a0b1f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b5d44);}['focus'](){this['element']['focus']();}}class _ extends _0x56ef61{['userView'];['markerView'];constructor(_0x438233,_0x37a0b1,_0x253870){super(_0x438233);const _0x2f165b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x438233,_0x37a0b1),this['markerView']=new ot(_0x438233,_0x37a0b1);const _0x3b0415=new it(_0x438233);_0x3b0415['template']['tag']='span',_0x3b0415['text']=_0x37a0b1['name'];const _0x2dd270={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2f165b['to']('isFocusable',_0x129366=>!!_0x129366&&0x0),'aria-labelledby':_0x3b0415['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2f165b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2f165b['to']('hasTooltip',_0x214024=>!_0x214024),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3b0415]};_0x253870&&(_0x2dd270['tag']='button',_0x2dd270['on']={'click':_0x2f165b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2dd270);}}class ot extends _0x56ef61{constructor(_0x58ab53,_0x337a0f){super(_0x58ab53),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x337a0f['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x209765{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x44895a){super(_0x44895a),this['context']['config']['define']('presenceList',U);const _0x23db9a=_0x44895a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x23db9a)throw new _0x213e64('presencelist-collapseat-invalid-format',this);if(_0x23db9a<0x1)throw new _0x213e64('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1085f1(),this['balloonPanelView']=new _0x5272a8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5a33a5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5a33a5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x146413,_0x5d4ea2)=>{this['_handleUserAdd'](_0x5d4ea2);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5bb2ca,_0x9dbb7b)=>{this['_handleUserRemove'](_0x9dbb7b);});}['_createView'](){const _0x1c1f15=this['context'],_0x39ee35=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1e2ad7=this['balloonPanelView'];if(!_0x580414(_0x1c1f15['config']['get']('presenceList.container')))throw new _0x213e64('presencelist-missing-container',this);return _0x39ee35['counterView']['bind']('usersCount')['to'](this),_0x39ee35['bind']('isCollapsed')['to'](this,'usersCount',_0x28951a=>{const {collapseAt:_0x5eda97}=_0x1c1f15['config']['get']('presenceList'),_0x2a8fba=_0x28951a>=_0x5eda97;if(_0x2a8fba&&!_0x39ee35['inlineListView']['items']['find'](_0x5b782e=>_0x5b782e instanceof y)){const _0x566b05=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x566b05&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x39ee35['inlineListView']['items']['add'](_0x39ee35['counterView']);}return _0x2a8fba||this['hideDropdown'](),_0x2a8fba;}),_0x39ee35['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x575eab=>{const _0x253018=_0x1c1f15['config']['get']('presenceList'),_0x130292=new _(_0x1c1f15['locale'],_0x575eab,!!_0x253018['onClick']);return _0x130292['bind']('hasTooltip')['to'](_0x39ee35,'isCollapsed',_0x3eca32=>!_0x3eca32),_0x130292['bind']('isFocusable')['to'](_0x39ee35,'isCollapsed',_0x53eade=>!_0x53eade),_0x253018['onClick']&&this['listenTo'](_0x130292,'execute',()=>{this['view']['isCollapsed']||_0x253018['onClick'](_0x575eab,_0x130292['element']);}),_0x130292;}),this['listenTo'](_0x39ee35['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x39ee35['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x39ee35['inlineListView']['keystrokes']['set']('Enter',(_0x722d28,_0x292467)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x292467());}),_0x39ee35['render'](),_0x1e2ad7['render'](),_0x2af274({'emitter':_0x39ee35,'activator':()=>_0x1e2ad7['isVisible'],'contextElements':[_0x1e2ad7['element'],_0x39ee35['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1c1f15['config']['get']('presenceList.container')['appendChild'](_0x39ee35['element']),this['_bodyCollection']=new _0x27fcf6(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x39ee35;}['_handleUserAdd'](_0x23f8da){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x23f8da['isMe'])return;const _0x738945=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x738945-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x37fb4f=_0x23f8da['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x23f8da,_0x37fb4f);}['_handleUserRemove'](_0x44ba3d){this['usersCount']--;const {collapseAt:_0x23ab9f}=this['context']['config']['get']('presenceList'),_0x595a66=this['usersCount']>=_0x23ab9f;if(this['currentDisplayedUsers']['get'](_0x44ba3d['id']))this['currentDisplayedUsers']['remove'](_0x44ba3d['id']);else{if(_0x595a66&&this['currentDisplayedUsers']['length']+0x1===_0x23ab9f-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x595a66?0x1:0x0)<this['usersCount']){for(const _0x548c5b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x548c5b['id'])&&(this['currentDisplayedUsers']['add'](_0x548c5b,Math['min'](this['currentDisplayedUsers']['length']-(_0x595a66?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x595a66?0x1:0x0)===_0x23ab9f-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5b32dd=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x5b32dd['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2a0fa8}=this['presenceDropdownView'];_0x2a0fa8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3044c0=>{if(!_0x5b32dd['displayMe']&&_0x3044c0['isMe'])return null;const _0x3c7bc1=new P(this['context']['locale'],_0x3044c0,!!_0x5b32dd['onClick']);return _0x5b32dd['onClick']&&this['listenTo'](_0x3c7bc1,'execute',()=>{_0x5b32dd['onClick'](_0x3044c0,_0x3c7bc1['element']);}),_0x3c7bc1;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2a0fa8['focus'](),_0x2a0fa8['checkIfScrollable']();const _0x2e6ff4=(_0x1cbbec,_0x3d0614)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3d0614();};_0x2a0fa8['keystrokes']['set']('Esc',_0x2e6ff4),_0x2a0fa8['keystrokes']['set']('Shift+Tab',_0x2e6ff4),_0x2a0fa8['keystrokes']['set']('Tab',(_0x554b32,_0x249fd6)=>{!function(_0x27efce){const _0x4d212a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1b45ce=>_0x1b45ce+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4b97a1=[...document['body']['querySelectorAll'](_0x4d212a)]['filter'](_0x1641a5=>_0x1641a5===document['activeElement']||_0x1641a5['offsetWidth']+_0x1641a5['offsetHeight']>0x0)['sort']((_0x16c073,_0x337e93)=>(_0x16c073['tabIndex']||0x0)-(_0x337e93['tabIndex']||0x0)),_0x4d0c20=_0x4b97a1['indexOf'](_0x27efce),_0x14942f=_0x4b97a1[(_0x4d0c20+0x1)%_0x4b97a1['length']];_0x14942f&&_0x14942f['focus']();}(this['view']['element']),this['hideDropdown'](),_0x249fd6();}),_0x2a0fa8['focusTracker']['add'](this['view']['element']),_0x2a0fa8['focusTracker']['on']('change:isFocused',(_0x3303b4,_0x8f4810,_0x324e9d)=>{_0x324e9d||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class ft extends _0x209765{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};