@ckeditor/ckeditor5-real-time-collaboration 45.2.0-alpha.1 → 45.2.0-alpha.3

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 _0x3acd16,Plugin as _0x4ebc6b,PendingActions as _0x7c6f4e,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xcf1ad0,CKEditorError as _0x4f264b,Collection as _0x3e30dd,global as _0x5e86ee,version as ht,uid as _0x15f018,KeystrokeHandler as _0x369680}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5d8170,View as _0x31b426,ListView as _0x3a4862,ListItemView as lt,LabelView as pt,BalloonPanelView as _0xa3d209,clickOutsideHandler as _0x4a73c8,BodyCollection as _0x56d6b8}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ft,History as _0x32cf5c,NoOperation as _0x453d23,InsertOperation as _0x3aad73,MarkerOperation as _0x9ddf97,RootAttributeOperation as _0x38526e,transformSets as _0x1a949d,OperationFactory as _0x5c9b84}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as mt,WEB_SOCKET_GATEWAY_STATES as _0x3a4dd9,CollaborativeEditingService as _0x374145,User as gt,CommentsService as et,TrackChangesService as at,RevisionHistoryService as rt,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x438734,UserView as ut}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x24932a}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x280390}from'es-toolkit/compat';class c extends _0x3acd16{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>mt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5d8170];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x36c48d){super(_0x36c48d),this['set']('state',_0x3a4dd9['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0xcf1ad0);}['init'](){const _0x2588bd=this['context'],_0x1457cc=_0x2588bd['plugins']['get']('CloudServices'),_0x1b6466=_0x2588bd['plugins']['get'](_0x5d8170);if(!_0x1457cc['token'])throw new _0x4f264b('websocketgateway-missing-token',this);if(!_0x1457cc['webSocketUrl'])throw new _0x4f264b('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x1457cc['token'],_0x1457cc['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x640a76=>{if(this['connection']=_0x640a76,this['bind']('state')['to'](_0x640a76,'state',this,'_isBrowserOffline',(_0x1c845e,_0x56bb98)=>('connected'!==_0x1c845e&&(this['_shouldPluginsReconnect']=!0x0),_0x56bb98||_0x1c845e!==_0x3a4dd9['CONNECTED']?_0x3a4dd9['DISCONNECTED']:this['state']==_0x3a4dd9['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3a4dd9['CONNECTING']):_0x3a4dd9['CONNECTED'])),this['connection']['on']('error',(_0x500ae0,_0x1b2189)=>{if('limitExceeded'!==_0x1b2189['code'])throw console['error'](_0x1b2189),new _0x4f264b('cloudservices-init',null,{'originalError':_0x1b2189});_0x1b6466['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'});}),!_0x640a76['me'])return new Promise(_0x847f8c=>_0x640a76['on']('change:me',_0x847f8c));})['catch'](_0x573cfe=>{throw console['error'](_0x573cfe),new _0x4f264b('cloudservices-init',null,{'originalError':_0x573cfe});});}['addToReconnectionStack'](_0x4df052){if('function'!=typeof _0x4df052['reconnect'])throw new _0x4f264b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4df052))throw new _0x4f264b('websocketgateway-plugin-already-registered',this,{'name':_0x4df052['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4df052);}['removeFromReconnectionStack'](_0x30f2f4){this['_reconnectionStack']['delete'](_0x30f2f4);}['isInReconnectionStack'](_0x1805a4){return this['_reconnectionStack']['has'](_0x1805a4);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x24e88d=>_0x24e88d['reconnect']())))['then'](()=>this['state']=_0x3a4dd9['CONNECTED'])['catch'](_0x481049=>{throw console['error'](_0x481049),new _0x4f264b('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3a4dd9['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3acd16{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x438734];}constructor(_0x30984e){super(_0x30984e),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3e30dd(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x438734);}['init'](){const _0x44020f=this['context']['plugins']['get'](c);this['listenTo'](_0x44020f,'change:state',(_0x3f2c95,_0x34559b,_0x2472c2)=>{if('connected'!==_0x2472c2)this['channelSessions']['forEach'](_0x4eeaf7=>_0x4eeaf7['clear']()),this['channelConnectedUsers']['forEach'](_0x2a0cba=>_0x2a0cba['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1557ae,_0x47ee84]of this['_registeredSessions'])for(const _0x57b30e of _0x47ee84)this['_handleSessionAdd'](_0x1557ae,_0x57b30e);}}),this['_createUser'](_0x44020f['connection']['me'],!0x0);}['register'](_0x3256cc,_0x2f0334){if(this['_registeredSessions']['has'](_0x3256cc))throw new _0x4f264b('sessions-register-already-registered',null,{'channelId':_0x3256cc});this['_registeredSessions']['set'](_0x3256cc,_0x2f0334),this['channelSessions']['set'](_0x3256cc,new _0x3e30dd()),this['channelConnectedUsers']['set'](_0x3256cc,new _0x3e30dd()),this['listenTo'](_0x2f0334,'add',(_0x52e20a,_0x3f9c07)=>this['_handleSessionAdd'](_0x3256cc,_0x3f9c07)),this['listenTo'](_0x2f0334,'remove',(_0x230ae4,_0x13b1c6)=>this['_handleSessionRemove'](_0x3256cc,_0x13b1c6));for(const _0x234457 of _0x2f0334)this['_handleSessionAdd'](_0x3256cc,_0x234457);}['unregister'](_0x15720d){if(!this['_registeredSessions']['has'](_0x15720d))throw new _0x4f264b('sessions-unregister-not-exist',null,{'channelId':_0x15720d});const _0x7e66f4=this['_registeredSessions']['get'](_0x15720d);this['stopListening'](_0x7e66f4);for(const _0xb64032 of _0x7e66f4)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x15720d,_0xb64032);this['_registeredSessions']['delete'](_0x15720d),this['channelSessions']['delete'](_0x15720d),this['channelConnectedUsers']['delete'](_0x15720d);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4ea700){for(const _0x1fca6a of this['channelSessions']['values']())for(const _0xa4c74f of _0x1fca6a)if(_0xa4c74f['id']===_0x4ea700)return _0xa4c74f['user'];}['getUserSessions'](_0x20ebf8,_0x59cbcf){const _0x11cb4b=_0x59cbcf?[this['channelSessions']['get'](_0x59cbcf)]:this['channelSessions']['values'](),_0x4f7e32=new Set();for(const _0xca701d of _0x11cb4b)for(const _0x2a0d96 of _0xca701d)_0x2a0d96['user']['id']===_0x20ebf8['id']&&_0x4f7e32['add'](_0x2a0d96['id']);return _0x4f7e32;}['getUserRole'](_0x3b498f){for(const _0x38bebc of this['channelSessions']['values']())for(const _0x2ee73c of _0x38bebc)if(_0x2ee73c['user']===_0x3b498f)return _0x2ee73c['role'];}['_handleSessionAdd'](_0x594a28,_0x200d9b){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x43f0c=_0x200d9b['user'],_0x216284=this['_users']['getUser'](_0x43f0c['id'])||this['_createUser'](_0x43f0c),_0x501d17=Object['assign']({},_0x200d9b,{'user':_0x216284});this['channelSessions']['get'](_0x594a28)['add'](_0x501d17);const _0x1c814c=this['channelConnectedUsers']['get'](_0x594a28);_0x1c814c['has'](_0x216284['id'])||_0x1c814c['add'](_0x216284),this['allConnectedUsers']['has'](_0x216284['id'])||this['allConnectedUsers']['add'](_0x216284,_0x216284['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x594a28,{'channelId':_0x594a28,'session':_0x501d17});}['_handleSessionRemove'](_0xce2448,_0x531203){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x3b5661=this['channelConnectedUsers']['get'](_0xce2448),_0x2aff36=_0x531203['user'];_0x2aff36['id']&&(this['channelSessions']['get'](_0xce2448)['remove'](_0x531203['id']),_0x3b5661['has'](_0x2aff36['id'])&&!this['getUserSessions'](_0x2aff36,_0xce2448)['size']&&_0x3b5661['remove'](_0x2aff36['id']),this['allConnectedUsers']['get'](_0x2aff36['id'])&&!this['getUserSessions'](_0x2aff36)['size']&&this['allConnectedUsers']['remove'](_0x2aff36['id']));}['_createUser'](_0x38a876,_0x2f5c79){const _0xb161ee=this['_users']['addUser'](_0x38a876);return _0x2f5c79&&this['_users']['defineMe'](_0x38a876['id']),_0xb161ee['orderNumber']=this['_uniqueUsersCount']++,_0xb161ee;}}class B extends _0x4ebc6b{['_domEmitter']=new(_0xcf1ad0())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xdb6c77=this['editor'],_0x2b792d=_0xdb6c77['plugins']['get'](i);_0xdb6c77['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x16c009,{writer:_0x2a0dfb})=>function(_0x58d6f3,_0x423d42,_0x127763,_0x476fcb){const _0x476af9=_0x58d6f3['markerName']['split'](':')[0x2],_0x174ee2=_0x127763['getUserBySessionId'](_0x476af9);if(!_0x174ee2||_0x476af9===_0x127763['mySessionId'])return;if(!_0x476fcb['model']['schema']['checkChild'](_0x58d6f3['markerRange']['start'],'$text'))return;const _0x417547={'class':'ck-user__marker\x20'+_0x174ee2['color']['getMarkerClass'](),'data-name':_0x174ee2['name'],'data-session-id':_0x476af9},_0x3b840d=_0x476fcb['model']['markers']['get'](_0x58d6f3['markerName']),_0x2e2608=_0x3b840d['getStart'](),_0x1a4d3f=_0x2e2608['nodeAfter'],_0xdb0884=_0x476fcb['model']['schema'];if(_0x1a4d3f&&_0xdb0884['isObject'](_0x1a4d3f)&&_0xdb0884['isInline'](_0x1a4d3f)&&!_0x476fcb['model']['markers']['get']('user:range:'+_0x476af9)['getRange']()['isCollapsed'])return;const _0x124424=_0x2e2608['parent'];return _0x476fcb['model']['schema']['isLimit'](_0x124424)&&!_0x476fcb['model']['hasContent'](_0x124424)&&(_0x417547['contenteditable']=!0x1),function(_0x5b4583,_0x4aeabb,_0x11ca73){const _0x4eae9d=_0x5b4583['createUIElement']('span',_0x4aeabb);return _0x5b4583['setCustomProperty']('userPositionMarker',!0x0,_0x4eae9d),_0x4eae9d['render']=function(_0x2a4763){const _0x3a14ca=this['toDomElement'](_0x2a4763),_0x4acbfc=document['createElement']('span');return _0x4acbfc['classList']['add']('ck-user__marker-tooltip'),_0x4acbfc['setAttribute']('contenteditable','false'),_0x4acbfc['setAttribute']('spellcheck','false'),_0x4acbfc['textContent']=_0x11ca73['name'],_0x3a14ca['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4acbfc['outerHTML']+'⁠',_0x3a14ca['addEventListener']('mouseenter',()=>{_0x3a14ca['classList']['add']('ck-user__marker_hovered');}),_0x3a14ca['addEventListener']('mouseleave',()=>{_0x3a14ca['classList']['remove']('ck-user__marker_hovered');}),_0x3a14ca;},_0x4eae9d['isSimilar']=function(_0x4c2d51){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4c2d51['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4c2d51['getAttribute']('data-session-id'));},_0x4eae9d;}(_0x423d42,_0x417547,_0x174ee2);}(_0x16c009,_0x2a0dfb,_0x2b792d,_0xdb6c77)}),_0xdb6c77['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4a788b=>function(_0x39980b,_0x147c8c){const _0x1a715f=_0x39980b['markerName']['split'](':')[0x2];if(_0x1a715f===_0x147c8c['mySessionId'])return null;const _0x26215d=_0x147c8c['getUserBySessionId'](_0x1a715f);if(!_0x26215d)return{'id':_0x1a715f,'classes':[]};return{'id':_0x1a715f,'classes':['ck-user__selection',_0x26215d['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1a715f},'priority':0x7d0+_0x26215d['orderNumber']};}(_0x4a788b,_0x2b792d)}),function(_0x561e59){const _0x445170=_0x561e59['model'],_0x5a7f60=new Map(),_0x4f7b8b=_0x561e59['plugins']['get'](i);_0x445170['markers']['on']('update:user:range',(_0x585e17,_0x76a548,_0x24e8cf,_0x5db201)=>{if(!_0x5db201&&_0x5a7f60['get'](_0x76a548['name']))return _0x5a7f60['get'](_0x76a548['name'])['detach'](),void _0x5a7f60['delete'](_0x76a548['name']);const _0x1dea08=_0x76a548['name']['split'](':')[0x2];if(_0x1dea08===_0x4f7b8b['mySessionId'])return;const _0x48ddf0='user:position:'+_0x1dea08;_0x445170['markers']['has'](_0x48ddf0)&&_0x561e59['editing']['reconvertMarker'](_0x48ddf0),_0x76a548['on']('change:range',(_0x3e8651,_0x23d605,_0x151b41)=>{if('$graveyard'!=_0x23d605['root']['rootName']&&'$graveyard'==_0x76a548['getRange']()['root']['rootName']&&!_0x5a7f60['has'](_0x76a548['name'])){const _0x3f82b0=_0x445170['schema']['getNearestSelectionRange'](_0x151b41['deletionPosition']);if(_0x3f82b0){const _0x3674f1=ft['fromRange'](_0x3f82b0);_0x5a7f60['set'](_0x76a548['name'],_0x3674f1),_0x3674f1['on']('change:range',(_0xa52117,_0x319ce6,_0x4b2649)=>{if('$graveyard'==_0x3674f1['root']['rootName']){const _0x46ba8f=_0x445170['schema']['getNearestSelectionRange'](_0x4b2649['deletionPosition']);_0x46ba8f?(_0x3674f1['start']=_0x46ba8f['start'],_0x3674f1['end']=_0x46ba8f['end']):(_0x5a7f60['delete'](_0x76a548['name']),_0x3674f1['detach']());}});}}});}),_0x445170['document']['on']('change',()=>{_0x5a7f60['size']>0x0&&_0x445170['enqueueChange']({'isUndoable':!0x1},_0x4dd222=>{for(const [_0x444f50,_0x36e6d6]of _0x5a7f60)'$graveyard'==_0x445170['markers']['get'](_0x444f50)['getRange']()['root']['rootName']&&(X(_0x444f50['split'](':')[0x2],_0x36e6d6['toRange'](),_0x445170,_0x4dd222),_0x36e6d6['detach']());_0x5a7f60['clear']();});});}(_0xdb6c77),this['_domEmitter']['listenTo'](_0x5e86ee['document'],'keydown',(_0x3b9056,{key:_0x33aef7})=>{'Escape'===_0x33aef7&&function(_0x5f0ca6){_0x5f0ca6['editing']['view']['change'](_0x3d9c34=>{for(const _0x34b1df of _0x5f0ca6['model']['markers']){if(!_0x34b1df['name']['startsWith']('user:position'))continue;const _0x204662=_0x5f0ca6['editing']['mapper']['markerNameToElements'](_0x34b1df['name']);if(_0x204662){for(const _0x2200ad of _0x204662)_0x3d9c34['removeClass']('ck-user__marker_hovered',_0x2200ad);}}});}(_0xdb6c77);},{'useCapture':!0x0});}['afterInit'](){const _0x598735=this['editor'],_0x50ef65=_0x598735['commands']['get']('undo');_0x50ef65&&_0x598735['model']['on']('applyOperation',(_0x20889a,_0xa0acb5)=>{const _0x44d524=_0xa0acb5[0x0];if(!_0x44d524['isDocumentOperation'])return;if('marker'!=_0x44d524['type']||!_0x44d524['name']['startsWith']('user:'))return;const _0x11cb4d=_0x44d524['batch'];_0x50ef65['_createdBatches']['has'](_0x11cb4d)&&(_0x44d524['newRange']=_0x44d524['oldRange']?_0x598735['model']['createRange'](_0x44d524['oldRange']['start'],_0x44d524['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x105798=this['editor'],_0x2b8c14=_0x105798['model']['document'],_0x2e8368=_0x105798['plugins']['get'](i);_0x105798['model']['enqueueChange']({'isUndoable':!0x1},_0x274fde=>{const _0x13b856='user:range:'+_0x2e8368['mySessionId'],_0x15f33b='user:position:'+_0x2e8368['mySessionId'],_0x4ee72d=_0x105798['model']['markers']['has'](_0x13b856);_0x105798['editing']['view']['hasDomSelection']?X(_0x2e8368['mySessionId'],_0x2b8c14['selection']['getFirstRange'](),_0x105798['model'],_0x274fde):_0x4ee72d&&(_0x274fde['removeMarker'](_0x13b856),_0x274fde['removeMarker'](_0x15f33b));});}}function X(_0x16b299,_0x416688,_0x134fce,_0x35e889){const _0x5a50e7='user:range:'+_0x16b299,_0x13eef9='user:position:'+_0x16b299,_0x3d0f4c=_0x416688['getContainedElement']();let _0x3ba932=_0x416688['start'];if(_0x3d0f4c&&_0x3d0f4c['is']('element','tableCell')){const _0x482c2e=function(_0x1c3494,_0x4ffe67){for(const _0x30c2fb of _0x1c3494['getPositions']())if(_0x4ffe67['schema']['checkChild'](_0x30c2fb,'$text'))return _0x30c2fb;}(_0x416688,_0x134fce);_0x482c2e&&(_0x3ba932=_0x482c2e,_0x416688=_0x35e889['createRange'](_0x3ba932));}const _0x32ee2c=_0x35e889['createRange'](_0x3ba932);_0x134fce['markers']['has'](_0x5a50e7)?(_0x35e889['updateMarker'](_0x5a50e7,{'range':_0x416688}),_0x35e889['updateMarker'](_0x13eef9,{'range':_0x32ee2c})):(_0x35e889['addMarker'](_0x5a50e7,{'range':_0x416688,'usingOperation':!0x0}),_0x35e889['addMarker'](_0x13eef9,{'range':_0x32ee2c,'usingOperation':!0x0}));}function M(_0xb3660d,_0x582caa,_0x3b8606){const _0x1d03f9=_0xb3660d['t'],t=_0xb3660d['t'];switch(_0x582caa){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 _0x1d03f9({'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'},_0x3b8606);default:return'';}}let F=0x1;class l extends _0x4ebc6b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x374145)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,B,_0x7c6f4e,_0x438734,_0x5d8170];}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 _0x1473a5=this['serverHistory']['getOperations']();for(let _0x34dbde=_0x1473a5['length']-0x1;_0x34dbde>=0x0;_0x34dbde--){const _0x326144=_0x1473a5[_0x34dbde];if(!this['_disconnectionOperations']['has'](_0x326144))return _0x326144['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x43feb2){if(super(_0x43feb2),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x32cf5c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x4f264b('collaboration-missing-channelid',this);const _0x195661=_0x43feb2['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x195661,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x24932a(),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 $(this['_disconnectionOperations']);}['init'](){const _0xa74303=this['editor'],_0xcbb83a=_0xa74303['plugins']['get'](_0x438734),_0x1a257a=_0xa74303['plugins']['get'](c);this['listenTo'](_0xcbb83a,'getOperationAuthor',(_0x6dc4fe,_0x4d8c71)=>{const _0x4b3526=_0x4d8c71[0x0];_0x4b3526['_authorId']&&(_0x6dc4fe['return']=_0xcbb83a['getUser'](_0x4b3526['_authorId']),_0x6dc4fe['stop']()),null===_0x4b3526['_authorId']&&(_0x6dc4fe['return']=null,_0x6dc4fe['stop']());},{'priority':'high'}),this['listenTo'](_0xa74303['model']['document']['selection'],'change:range',(_0xcf2652,_0x149c06)=>{_0x149c06['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xa74303['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xa74303['model']['on']('applyOperation',(_0x22df99,_0x1582f9)=>{const _0x4842dc=_0x1582f9[0x0];_0x4842dc['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4842dc),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1a257a,'state',this,'_hasSynchronizationProblem',(_0x2e4ce5,_0x459982)=>'connected'===_0x2e4ce5&&!_0x459982),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xa74303['disableReadOnlyMode']('rtc-offline'):_0xa74303['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xa74303['disableReadOnlyMode']('rtc-offline'):_0xa74303['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xca43ca=this['editor']['plugins']['get'](i),_0x4ede8f=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0xca43ca['unregister'](this['_channelId']);const _0x4a381b=await this['_service']['reconnect'](_0x4ede8f['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4a381b)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x239799=await this['_service']['getConnectedSessions']();_0xca43ca['register'](this['_channelId'],_0x239799),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x286419){if(function(_0x432799){return'404'===_0x432799['code'];}(_0x286419)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2f7091){return'409'===_0x2f7091['code'];}(_0x286419)){const _0x374a25=M(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'](_0x374a25);}else{if(!(_0x286419 instanceof q))throw _0x286419;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2136cb=this['editor']['plugins']['get'](c),_0x4313cb=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4313cb['channelSessions']['has'](this['_channelId'])&&_0x4313cb['unregister'](this['_channelId']),_0x2136cb['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5ca87c){if(this['sessionId']!==_0x5ca87c['sessionId']&&this['_lastSyncedOperationId']!==_0x5ca87c['lastOperationId'])throw new q();return this['sessionId']=_0x5ca87c['sessionId'],this['_handleServerResponse']([],{..._0x5ca87c,'wereChangesApplied':!0x1,'data':_0x5ca87c['data']},'reconnect');}async['_connectService'](_0x4f73f1,_0x4ff0b8=!0x1){const {connection:_0x427fc6}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x427fc6,this['_channelId'])['then'](_0x44659e=>this['_initSessionsHandling'](_0x44659e))['catch'](_0x49787f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x49787f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x3c50d4,_0x143447)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x143447);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3627fc=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4f73f1);this['_isPendingUpdate']=!0x0;const _0x2d3771=await this['_service']['connect'](_0x427fc6,this['_compressOperations'](_0x4f73f1),_0x3627fc);if(this['sessionId']=_0x2d3771['sessionId'],_0x4ff0b8){if(!_0x2d3771['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2d3771['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4f73f1,_0x2d3771,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2d3771,_0x4f73f1);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x151a37=this['editor']['plugins']['get'](i),_0x2818c8=this['editor']['plugins']['get'](B),_0x13b519=_0x151a37['channelSessions']['get'](this['_channelId']);_0x13b519&&_0x13b519['length']>0x1?_0x2818c8['createUserMarkerOperations']():this['listenTo'](_0x151a37,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x151a37['channelSessions']['get'](this['_channelId'])['length']&&_0x2818c8['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x19f740,_0x2f355c,_0x4e6784,_0x5babb5){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2f355c){const _0xd4ad3f=this['_decompressOperations'](_0x4e6784,_0x5babb5);await this['_fetchMissingUsers'](_0xd4ad3f),this['_handleExternalOperations'](_0xd4ad3f,_0x2f355c,_0x4e6784['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x358422}=this['editor'];let _0x366341;try{_0x366341=await this['_service']['getDocumentDetails']();}catch{const _0x5a5260=M(_0x358422,'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'](_0x5a5260);}const _0x2c14cb=_0x366341['currentDocumentSession']||_0x366341['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x2c14cb['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x59b03f=M(_0x358422,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x59b03f);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x261b17){const _0x23b633=this['editor']['plugins']['get'](i);this['listenTo'](_0x23b633,'sessionAdd:'+this['_channelId'],(_0xcd56fd,{session:_0xecc1f5})=>{if(_0xecc1f5['id']===_0x23b633['mySessionId']){_0xcd56fd['off']();const _0x1a7287=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x11c6b2=_0xecc1f5['permissions'];_0x1a7287&&_0x1a7287['isEnabled']&&(_0x11c6b2=_0x11c6b2['filter'](_0x5a1616=>'document:write'!==_0x5a1616)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x11c6b2,this['_channelId']);}}),_0x23b633['register'](this['_channelId'],_0x261b17);}['_initThrowingOnDataSet'](){const _0x3b6263=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x517a96)=>{if(!_0x517a96[_0x517a96['length']-0x1]['suppressErrorInCollaboration'])throw new _0x4f264b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3b6263['apply'](this['editor']['data'],_0x517a96);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5b13f7,[_0x5b9ca0])=>{if(this['_document']['version'])throw new _0x4f264b('realtimecollaborationclient-init-document-already-initialized',this);_0x5b13f7['stop'](),this['_setPendingAction']();const _0x114d6a=this['editor']['config']['get']('rootsAttributes'),_0x3c5e08=this['_getOperationsFromInitData'](_0x5b9ca0,_0x114d6a);0x0==_0x3c5e08['length']&&_0x3c5e08['push'](new _0x453d23(0x0)),_0x5b13f7['return']=this['_connectService'](_0x3c5e08)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x108b6a=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x108b6a))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x190eae,[_0x23a58a,_0x24dfdc])=>{_0x190eae['stop']();const _0x518584=this['editor']['model']['document']['getRoot'](_0x23a58a);if(!this['_knownRootNames']['has'](_0x23a58a)){const _0x268ffe=_0x24dfdc&&_0x24dfdc['data']?_0x24dfdc['data']:'',_0xf14b41=_0x24dfdc&&_0x24dfdc['attributes']?_0x24dfdc['attributes']:{};await this['_loadRoot'](_0x23a58a,_0x268ffe,_0xf14b41);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x518584['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x518584);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x352422){const _0x3b8737=this['editor']['plugins']['get'](_0x438734),{connection:_0x3b6a4e}=this['editor']['plugins']['get'](c),_0x382113=new Set();for(const _0x1b3e88 of _0x352422){const _0x4da334=_0x1b3e88['_authorId'];_0x4da334&&!_0x3b8737['getUser'](_0x4da334)&&_0x382113['add'](_0x4da334);}if(0x0===_0x382113['size'])return;const _0x545a93=await gt['getMany'](_0x3b6a4e,Array['from'](_0x382113));for(const _0x4a690d of _0x545a93)_0x3b8737['getUser'](_0x4a690d['id'])||_0x3b8737['addUser'](_0x4a690d);}['_getOperationsFromInitData'](_0x2845a5,_0xad6ebe={}){const _0x51259f=this['editor']['model'],_0x3fd7af=[];let _0xedd89a=0x0;const _0x2a7b2f='string'==typeof _0x2845a5?{'main':_0x2845a5}:_0x2845a5;for(const _0x3ebffa of Object['keys'](_0x2a7b2f)){if(!this['_document']['roots']['has'](_0x3ebffa))throw new _0x4f264b('realtimecollaborationclient-init-non-existent-root',this);const _0x2a6a21=this['editor']['data']['parse'](_0x2a7b2f[_0x3ebffa]),_0x34d480=this['_document']['getRoot'](_0x3ebffa),_0x2b6f77=new _0x3aad73(_0x51259f['createPositionAt'](_0x34d480,0x0),_0x2a6a21,_0xedd89a++);_0x3fd7af['push'](_0x2b6f77);for(const [_0x139e77,_0x1c7a1a]of _0x2a6a21['markers']){const _0x32eca3=_0x51259f['createRange'](_0x51259f['createPositionFromPath'](_0x34d480,_0x1c7a1a['start']['path']['slice']()),_0x51259f['createPositionFromPath'](_0x34d480,_0x1c7a1a['end']['path']['slice']())),_0x1eb8ce=new _0x9ddf97(_0x139e77,null,_0x32eca3,_0x51259f['markers'],!0x0,_0xedd89a++);_0x3fd7af['push'](_0x1eb8ce);}}if(_0xad6ebe)for(const [_0x589b1c,_0x41ace1]of Object['entries'](_0xad6ebe)){const _0x5bab99=_0x51259f['document']['getRoot'](_0x589b1c);if(!_0x5bab99)throw new _0x4f264b('multi-root-editor-root-attributes-no-root',null);for(const [_0x2e21b8,_0x5db563]of Object['entries'](_0x41ace1))if(null!==_0x5db563){const _0x151b5e=new _0x38526e(_0x5bab99,_0x2e21b8,null,_0x5db563,_0xedd89a++);_0x3fd7af['push'](_0x151b5e);}}return _0x3fd7af;}async['_loadRoot'](_0xa02ed0,_0x47becb,_0x29a6ab){this['_getOperationsFromInitData']({[_0xa02ed0]:_0x47becb},{[_0xa02ed0]:_0x29a6ab})['forEach']((_0x335a14,_0x367359)=>{_0x335a14['baseVersion']=this['_document']['version']+_0x367359,_0x335a14['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x335a14);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2e5e00,_0x41f8ca){let _0x4ac3c2;this['_offset']=_0x2e5e00['offset'];const _0xb450cc=_0x2e5e00['wereChangesApplied']&&!_0x2e5e00['initData'],_0x356652=_0xb450cc?0x0:_0x2e5e00['data']['baseVersion'];if(_0x41f8ca['forEach'](_0xe00d2f=>{_0xe00d2f['_isInit']=!0x0,_0xe00d2f['createdAt']=_0x2e5e00['sessionCreatedAt'],_0xe00d2f['_authorId']=null;}),_0xb450cc)_0x4ac3c2=_0x41f8ca,this['_applyOperationsSet'](_0x4ac3c2,_0xb450cc);else{if(_0x2e5e00['initData']){const _0x521b18=this['_getOperationsFromInitData'](_0x2e5e00['initData']);this['_document']['history']['version']=-_0x521b18['length'],_0x521b18['forEach'](_0xbfec72=>{_0xbfec72['baseVersion']-=_0x521b18['length'],_0xbfec72['createdAt']=_0x2e5e00['sessionCreatedAt'],_0xbfec72['_isInit']=!0x0,_0xbfec72['_authorId']=null;}),this['_applyOperationsSet'](_0x521b18,!0x0),this['serverHistory']['version']=-_0x521b18['length']+this['_offset'],this['_updateServerHistory'](_0x521b18);}this['_document']['history']['version']=_0x356652,_0x4ac3c2=this['_decompressOperations'](_0x2e5e00['data'],_0x2e5e00['metadata']),await this['_fetchMissingUsers'](_0x4ac3c2),this['_applyOperationsSet'](_0x4ac3c2,_0xb450cc);}_0x2e5e00['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4ac3c2,_0x2e5e00['lastOperationId']),this['_lastSyncedOperationId']=_0x2e5e00['lastOperationId']),this['serverHistory']['version']=_0x356652+this['_offset'],this['_updateServerHistory'](_0x4ac3c2),_0x41f8ca['filter'](_0xb8a932=>{const _0x25d861=this['_getAffectedRoot'](_0xb8a932);return _0x25d861&&!this['_knownRootNames']['has'](_0x25d861);})['forEach']((_0x2ca5d8,_0x253784)=>{_0x2ca5d8['baseVersion']=this['_document']['version']+_0x253784,this['_saveOperationInBuffer'](_0x2ca5d8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x143b19,_0x361099){const _0x5ac8da=_0x361099&&_0x361099['message'];if(_0x5ac8da&&_0x5ac8da['startsWith']('realtimecollaborationclient'))throw _0x361099;const _0x2b428d=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x2b428d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x4f264b(_0x143b19,this['editor'],_0x5ac8da?{'originalError':_0x5ac8da}:void 0x0);}['_saveOperationInBuffer'](_0x2aa834){this['_knownOperations']['has'](_0x2aa834)||(this['_knownOperations']['add'](_0x2aa834),this['_bufferedOperations']['push'](_0x2aa834),this['_pendingAction']||'marker'==_0x2aa834['type']&&!_0x2aa834['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x9c0240=!0x1){!_0x9c0240&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x416b2f=>{_0x416b2f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1e3697=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4b73be){return _0x4b73be['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4b73be['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4b73be['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1e3697)||this['_crash'](_0x1e3697['message'],_0x1e3697);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x251214=>{this['on']('change:_isPendingUpdate',()=>{_0x251214();});});}async['_sendBufferedOperations'](){const _0x3c6998=this['editor']['plugins']['get'](B);if(this['_shouldSendSelectionUpdate']()&&(_0x3c6998['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x924977=[...this['_bufferedOperations']];for(const _0x506bfe of _0x924977)_0x506bfe['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x506bfe);const _0x4b567c=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x924977),_0x4cce91=F++,_0x48932e=this['_compressOperations'](_0x924977),_0x3e32de=await this['_service']['sendOperations'](_0x48932e,_0x48932e['baseVersion'],_0x4b567c);try{return await this['_handleServerResponse'](_0x924977,_0x3e32de,_0x4cce91);}catch(_0x554474){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x554474);}}async['_handleServerResponse'](_0x437d04,_0x2e0db7,_0x540c05){if('error'in _0x2e0db7)throw _0x2e0db7['error'];let _0x542d87=!0x1;if(_0x2e0db7['wereChangesApplied']){_0x2e0db7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2e0db7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1fc51e=>!_0x437d04['includes'](_0x1fc51e));for(const _0x2437b8 of _0x437d04)_0x2437b8['createdAt']='lastOperationAcceptedAt'in _0x2e0db7&&_0x2e0db7['lastOperationAcceptedAt']||void 0x0;G(_0x437d04,_0x2e0db7['version']-_0x437d04['length']),this['_updateServerHistory'](_0x437d04);const _0xa9b2c0=_0x437d04['filter'](_0x3fc8ae=>{if(!_0x3fc8ae['_isInit'])return!0x1;const _0x23b6e3=this['_getAffectedRoot'](_0x3fc8ae);return _0x23b6e3&&!this['_knownRootNames']['has'](_0x23b6e3);});G(_0xa9b2c0,this['_document']['version']),this['_applyOperationsSet'](_0xa9b2c0),_0x542d87=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x20c94a=this['_decompressOperations'](_0x2e0db7['data'],_0x2e0db7['metadata'])['filter'](_0x303fa1=>_0x303fa1['baseVersion']>=this['_lastServerVersion']);_0x20c94a['forEach'](_0xf14885=>this['_addKnownRoot'](_0xf14885)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xb5aece=>!_0xb5aece['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xb5aece))),this['_bufferedOperations']['length']&&G(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x20c94a),_0x542d87=this['_handleExternalOperations'](_0x20c94a,_0x2e0db7['version'],_0x2e0db7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x542d87?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5487d7,_0x514bfc,_0xc87b8b){try{const _0x4dfb60={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1cc027,operationsB:_0x2b16b6,originalOperations:_0x5a8e70}=_0x1a949d(_0x5487d7,this['_bufferedOperations'],_0x4dfb60);G(_0x1cc027,this['_document']['version']),G(_0x2b16b6,_0x514bfc);for(const _0x4c68a0 of _0x1cc027){const _0x4ad4c6=_0x5a8e70['get'](_0x4c68a0);_0x4c68a0['_authorId']=_0x4ad4c6?_0x4ad4c6['_authorId']:null;}_0xc87b8b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5487d7,_0xc87b8b),this['_lastSyncedOperationId']=_0xc87b8b),this['_bufferedOperations']=[..._0x2b16b6],this['_applyOperationsSet'](_0x1cc027),this['_updateServerHistory'](_0x5487d7);}catch(_0x1e3e53){return console['error'](_0x1e3e53),!0x1;}return!0x0;}['_applyOperationsSet'](_0xa1d3cc,_0x493baa=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x126333=>{for(const _0x1eaeea of _0xa1d3cc)this['_knownOperations']['add'](_0x1eaeea),this['_addKnownRoot'](_0x1eaeea),_0x126333['batch']['addOperation'](_0x1eaeea),this['editor']['model']['applyOperation'](_0x1eaeea);});}['_addKnownRoot'](_0x5dd8b2){const _0x3f5b4b=this['_getAffectedRoot'](_0x5dd8b2);_0x3f5b4b&&this['_knownRootNames']['add'](_0x3f5b4b);}['_getAffectedRoot'](_0x1f55e0){let _0x1579a7,_0x21f80d;switch(_0x1f55e0['type']){case'insert':_0x1579a7=_0x1f55e0['position']['root'];break;case'marker':if(_0x21f80d=_0x1f55e0['newRange'],!_0x21f80d)return null;_0x1579a7=_0x21f80d['root'];break;case'addRootAttribute':_0x1579a7=_0x1f55e0['root'];break;case'addRoot':_0x1579a7=_0x1f55e0['affectedSelectable'];break;case'move':_0x1579a7=_0x1f55e0['targetPosition']['root'];break;default:return null;}return _0x1579a7['rootName'];}['_updateServerHistory'](_0x58826a){_0x58826a['forEach'](_0x372535=>{const _0x43a50b=_0x372535['clone']();_0x43a50b['_authorId']=_0x372535['_authorId'],_0x43a50b['_isInit']=!!_0x372535['_isInit'],_0x43a50b['createdAt']=_0x372535['createdAt'],_0x43a50b['baseVersion']+=this['_offset'],_0x372535['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x43a50b),this['serverHistory']['addOperation'](_0x43a50b);});}['_handleReconnectionError'](_0xb5a815){const _0x1c7c13=this['editor']['plugins']['get']('Notification'),_0x14af0d=this['editor']['locale'];_0xb5a815||(_0xb5a815=M(_0x14af0d,'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.')),_0x1c7c13['showWarning'](_0xb5a815,{'title':M(_0x14af0d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x7c6f4e)['add'](M(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x7c6f4e)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x230f17){const _0x44022d=_0x230f17['map'](_0x159a84=>_0x159a84['toJSON']());return this['_compressor']['compress'](_0x44022d);}['_decompressOperations'](_0x169e09,_0x1f8a52){return this['_compressor']['decompress'](_0x169e09)['map']((_0xaf3acb,_0x2adf53)=>{const _0x1298cd='init'==_0x1f8a52[_0x2adf53]['type'];if('InsertOperation'==_0xaf3acb['__className']){const _0xc27f0=_0xaf3acb['position']['root'];!this['_document']['getRoot'](_0xc27f0)&&(this['_document']['createRoot']('$root',_0xc27f0)['_isAttached']=!0x1);}const _0x186665=_0x5c9b84['fromJSON'](_0xaf3acb,this['_document']);return _0x186665['wasUndone']=_0xaf3acb['wasUndone'],_0x186665['_isInit']=_0x1298cd,_0x186665['_authorId']=_0x1298cd?null:_0x1f8a52[_0x2adf53]['userId'],_0x186665['_isDisconnection']='cs:removeUser'===_0x1f8a52[_0x2adf53]['type'],_0x186665['createdAt']=_0x1f8a52[_0x2adf53]['createdAt'],_0x186665;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2d0d3e=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2d0d3e&&_0x2d0d3e['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class q extends Error{}function G(_0x2c1944,_0x2a7e8f){for(const _0x4a829b of _0x2c1944)_0x4a829b['baseVersion']=_0x2a7e8f++;}class ${['_ignoredOperations'];['_operationToId'];constructor(_0x575b4b){this['_ignoredOperations']=_0x575b4b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xda7857){let _0x199448=_0xda7857['length'];for(;_0x199448--;){const _0x5bca6a=_0xda7857[_0x199448];if(!this['_ignoredOperations']['has'](_0x5bca6a)){if(!this['_operationToId']['has'](_0x5bca6a)){const _0x3079af=_0x15f018()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5bca6a,_0x3079af);}return this['_operationToId']['get'](_0x5bca6a);}}}['setIdForTheLastOperation'](_0x358550,_0x4d1a3a){if(!_0x4d1a3a)return;let _0x11e414=_0x358550['length'];for(;_0x11e414--;){const _0x442d61=_0x358550[_0x11e414];this['_ignoredOperations']['has'](_0x442d61)||this['_operationToId']['set'](_0x442d61,_0x4d1a3a);}}}class n extends _0x4ebc6b{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x3acd16{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>et)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x438734];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x31590f){super(_0x31590f),this['_services']=new Map();}async['init'](){const _0x5e23b8=this['context'],_0x715618=_0x5e23b8['plugins']['get']('CommentsRepository');if(_0x5e23b8['plugins']['get'](c)['addToReconnectionStack'](this),_0x715618['adapter']={'addCommentThread':async({channelId:_0x37ec3a,threadId:_0x17d27c,comments:_0x59e8d2,resolvedAt:_0x6657b5,resolvedBy:_0x1dfc04,context:_0x233254,attributes:_0x15a39f})=>{const _0xd307f7=await this['_getService'](_0x37ec3a)['addCommentThread']({'commentThreadId':_0x17d27c,'comments':_0x59e8d2['map'](_0x1778a0=>function(_0x44a4b4,_0x588576,_0x3713d9){return{'commentThreadId':_0x3713d9,'commentId':_0x44a4b4['commentId'],'userId':_0x44a4b4['authorId'],'content':_0x44a4b4['content'],'documentId':_0x588576,'createdAt':_0x44a4b4['createdAt'],'attributes':_0x44a4b4['attributes']||{}};}(_0x1778a0,_0x37ec3a,_0x17d27c)),'resolvedAt':_0x6657b5,'resolvedBy':_0x1dfc04,'context':_0x233254,'attributes':_0x15a39f})['catch'](wt);return{'threadId':_0xd307f7['commentThreadId'],'comments':_0xd307f7['comments']};},'getCommentThread':async({channelId:_0x2bc740,threadId:_0x32f33f})=>{const _0x11f8dc=await this['_getService'](_0x2bc740)['getCommentThread'](_0x32f33f)['catch'](wt);return _0x11f8dc['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x11f8dc]),{'threadId':_0x11f8dc['commentThreadId'],'comments':_0x11f8dc['comments']['map'](st),'context':_0x11f8dc['context'],'resolvedAt':_0x11f8dc['resolvedAt'],'resolvedBy':_0x11f8dc['resolvedBy'],'attributes':_0x11f8dc['attributes']||{}});},'updateCommentThread':async({channelId:_0x5be260,threadId:_0x1f70d7,context:_0xb38a10,unlinkedAt:_0x385d65,attributes:_0x15226d})=>this['_getService'](_0x5be260)['updateCommentThread']({'commentThreadId':_0x1f70d7,'context':_0xb38a10,'attributes':_0x15226d,'unlinkedAt':_0x385d65})['catch'](ot)['catch'](wt),'resolveCommentThread':async({channelId:_0x5e58e2,threadId:_0x1f5cba})=>{const _0x12af32=await this['_getService'](_0x5e58e2)['resolveCommentThread'](_0x1f5cba)['catch'](ot)['catch'](wt);return{'threadId':_0x12af32['commentThreadId'],'resolvedAt':_0x12af32['resolvedAt'],'resolvedBy':_0x12af32['resolvedBy']};},'reopenCommentThread':async({channelId:_0x589f36,threadId:_0x26b2d7})=>this['_getService'](_0x589f36)['reopenCommentThread'](_0x26b2d7)['catch'](ot)['catch'](wt),'removeCommentThread':({channelId:_0x5b749a,threadId:_0x3ea111})=>this['_getService'](_0x5b749a)['removeCommentThread'](_0x3ea111)['catch'](ot)['catch'](wt),'addComment':({channelId:_0x2ab7f2,threadId:_0x1dc2a8,commentId:_0x3aad34,content:_0x21620c,attributes:_0x2368c0})=>this['_getService'](_0x2ab7f2)['addComment'](_0x1dc2a8,_0x3aad34,_0x21620c,_0x2368c0)['catch'](wt),'updateComment':({channelId:_0x45fc59,threadId:_0x461060,commentId:_0x1839a5,content:_0x576bd6,attributes:_0x3ed222})=>this['_getService'](_0x45fc59)['updateComment'](_0x461060,_0x1839a5,_0x576bd6,_0x3ed222)['catch'](ot)['catch'](wt),'removeComment':({channelId:_0x408c04,threadId:_0x308981,commentId:_0x5d9e02})=>this['_getService'](_0x408c04)['removeComment'](_0x308981,_0x5d9e02)['catch'](ot)['catch'](wt)},_0x5e23b8 instanceof tt){const _0x2c8d66=_0x5e23b8['config']['get']('collaboration.channelId'),_0x57dd5d=_0x5e23b8['plugins']['get'](i);await this['_setUpService'](_0x2c8d66);const _0x1f5ec3=await this['_services']['get'](_0x2c8d66)['getConnectedSessions']();this['listenTo'](_0x57dd5d,'sessionAdd:'+_0x2c8d66,(_0x2afbca,{session:_0xdcc279})=>{_0xdcc279['id']===_0x57dd5d['mySessionId']&&(_0x2afbca['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xdcc279['permissions'],_0x2c8d66));}),_0x57dd5d['register'](_0x2c8d66,_0x1f5ec3);}}async['_setUpService'](_0x427e1f){if(this['_services']['has'](_0x427e1f))throw new _0x4f264b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x427e1f});const _0x31a9bd=this['context']['plugins']['get']('CommentsRepository'),_0x32a24d=new a['CommentsService'](_0x427e1f);this['_services']['set'](_0x427e1f,_0x32a24d),this['listenTo'](_0x32a24d,'commentThreadAdded',(_0x3b6356,_0x18acad)=>{const {commentThreadId:_0x1ad68d,documentId:_0x58e36e,context:_0x125f9d,attributes:_0x50cfdd,resolvedAt:_0x4c5099,resolvedBy:_0x4e023b,comments:_0x1cb84b}=_0x18acad;_0x31a9bd['getCommentThread'](_0x1ad68d)||_0x31a9bd['addCommentThread']({'threadId':_0x1ad68d,'channelId':_0x58e36e,'comments':_0x1cb84b?_0x1cb84b['map'](st):[],'context':_0x125f9d,'attributes':_0x50cfdd,'resolvedAt':_0x4c5099,'resolvedBy':_0x4e023b,'isFromAdapter':!0x0});}),this['listenTo'](_0x32a24d,'commentThreadUpdated',(_0x31236b,{commentThreadId:_0x302d17,documentId:_0x3d2d29,context:_0x32ed45,unlinkedAt:_0x431134,attributes:_0x1f8b19})=>{_0x31a9bd['getCommentThread'](_0x302d17)&&_0x31a9bd['updateCommentThread']({'threadId':_0x302d17,'channelId':_0x3d2d29,'context':_0x32ed45,'unlinkedAt':_0x431134,'attributes':_0x1f8b19,'isFromAdapter':!0x0});}),this['listenTo'](_0x32a24d,'commentThreadResolved',(_0xb11712,{commentThreadId:_0x13c47f,resolvedBy:_0x5b172f,resolvedAt:_0x106588})=>{const _0x3635fa=_0x31a9bd['getCommentThread'](_0x13c47f);_0x3635fa&&_0x3635fa['resolve']({'resolvedBy':_0x5b172f,'resolvedAt':_0x106588,'isFromAdapter':!0x0});}),this['listenTo'](_0x32a24d,'commentThreadReopened',(_0x4b1ab0,{commentThreadId:_0x3ec97c})=>{const _0x547579=_0x31a9bd['getCommentThread'](_0x3ec97c);_0x547579&&_0x547579['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32a24d,'commentThreadRemoved',(_0x29c983,{commentThreadId:_0x392833})=>{const _0x2fdf75=_0x31a9bd['getCommentThread'](_0x392833);_0x2fdf75&&_0x2fdf75['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32a24d,'commentAdded',(_0x1b23a0,_0x49fbd3)=>{const _0xeb209c=_0x49fbd3['commentThreadId'],_0x56221c=_0x31a9bd['getCommentThread'](_0xeb209c);_0x56221c&&_0x56221c['addComment']({...st(_0x49fbd3),'isFromAdapter':!0x0});}),this['listenTo'](_0x32a24d,'commentUpdated',(_0x520d10,{commentThreadId:_0xa0aa0c,commentId:_0x5864d4,content:_0x1afd28,attributes:_0x2cfd4c})=>{const _0x4ffcd6=_0x31a9bd['getCommentThread'](_0xa0aa0c);if(_0x4ffcd6){const _0xa85025=_0x4ffcd6['getComment'](_0x5864d4);_0xa85025&&_0xa85025['update']({'content':_0x1afd28,'attributes':_0x2cfd4c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x32a24d,'commentRemoved',(_0x1dfd18,{commentThreadId:_0x279c0f,commentId:_0x293800})=>{const _0x533255=_0x31a9bd['getCommentThread'](_0x279c0f);if(_0x533255){const _0x2c633b=_0x533255['getComment'](_0x293800);_0x2c633b&&_0x2c633b['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x427e1f);}['destroy'](){if(this['context']instanceof tt){const _0xf92e2d=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0xf92e2d);}}['_terminateService'](_0x24c6e1){if(!this['_services']['has'](_0x24c6e1))throw new _0x4f264b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x24c6e1});this['_getService'](_0x24c6e1)['disconnect'](),this['_services']['delete'](_0x24c6e1);}async['reconnect'](){for(const _0x59c569 of this['_services']['keys']())await this['_connectService'](_0x59c569);if(this['context']instanceof tt){const _0x36c0ba=this['context']['config']['get']('collaboration.channelId'),_0x2e180e=this['context']['plugins']['get'](i);_0x2e180e['unregister'](_0x36c0ba);const _0x5ea5e2=await this['_services']['get'](_0x36c0ba)['getConnectedSessions']();_0x2e180e['register'](_0x36c0ba,_0x5ea5e2);}}async['_connectService'](_0x33306e){const {connection:_0x51d2b0}=this['context']['plugins']['get'](c),_0x137a9f=this['context']['plugins']['get']('CommentsRepository'),_0x2d3dd5=this['_services']['get'](_0x33306e),_0x4f7ba7=await _0x2d3dd5['connect'](_0x51d2b0);await this['_fetchMissingUsersForThreads'](_0x4f7ba7);const _0x2a0c5a=new Set(Array['from'](_0x137a9f['getCommentThreads']({'channelId':_0x33306e}),_0x567f07=>_0x567f07['id']));for(const _0x2627da of _0x4f7ba7)_0x2627da['deletedAt']||_0x2a0c5a['delete'](_0x2627da['commentThreadId']);for(const _0x2d7f53 of _0x2a0c5a)_0x137a9f['getCommentThread'](_0x2d7f53)['remove']({'isFromAdapter':!0x0});for(const _0xb1221b of _0x4f7ba7){let _0x12005c=_0x137a9f['getCommentThread'](_0xb1221b['commentThreadId']);const {commentThreadId:_0x5f37e3,context:_0x17d539,attributes:_0x4001f2,resolvedBy:_0xb68a43,resolvedAt:_0xf6977b,unlinkedAt:_0x47b1da,deletedAt:_0x3a6004}=_0xb1221b;if(_0x3a6004)continue;_0x12005c||(_0x12005c=_0x137a9f['addCommentThread']({'channelId':_0x33306e,'threadId':_0x5f37e3,'context':_0x17d539,'attributes':_0x4001f2||{},'resolvedBy':_0xb68a43,'resolvedAt':_0xf6977b,'unlinkedAt':_0x47b1da,'isFromAdapter':!0x0}));const _0x338962=new Set(Array['from'](_0x12005c['comments'],_0x3bc00c=>_0x3bc00c['id']));for(const _0x5f24e6 of _0xb1221b['comments'])_0x338962['delete'](_0x5f24e6['commentId']);for(const _0xa0f2f0 of _0x338962)_0x12005c['getComment'](_0xa0f2f0)['remove']({'isFromAdapter':!0x0});for(const _0x5d3942 of _0xb1221b['comments']){const _0x76e803=_0x12005c['getComment'](_0x5d3942['commentId']);_0x76e803?_0x76e803['content']!==_0x5d3942['content']&&_0x76e803['update']({'content':_0x5d3942['content'],'isFromAdapter':!0x0}):_0x12005c['addComment'](Object['assign'](st(_0x5d3942),{'isFromAdapter':!0x0}));}}}['_getService'](_0x378847){if(!this['_services']['has'](_0x378847))throw new _0x4f264b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x378847});return this['_services']['get'](_0x378847);}async['_fetchMissingUsersForThreads'](_0x33e5b9){const _0x453d05=this['context']['plugins']['get'](_0x438734),{connection:_0x1d69de}=this['context']['plugins']['get'](c),_0x2aaaed=new Set();for(const {resolvedBy:_0xdc5a2e,comments:_0x415438}of _0x33e5b9){_0xdc5a2e&&!_0x453d05['getUser'](_0xdc5a2e)&&_0x2aaaed['add'](_0xdc5a2e);for(const {userId:_0x3364a7}of _0x415438)_0x453d05['getUser'](_0x3364a7)||_0x2aaaed['add'](_0x3364a7);}if(0x0===_0x2aaaed['size'])return;const _0x5df02a=await gt['getMany'](_0x1d69de,Array['from'](_0x2aaaed));for(const _0x4c0ffa of _0x5df02a)_0x453d05['getUser'](_0x4c0ffa['id'])||_0x453d05['addUser'](_0x4c0ffa);}}async function ot(_0x34f5a6){if('404'!==_0x34f5a6['code'])throw _0x34f5a6;}function wt(_0x5b292f){if((_0x14a294=_0x5b292f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x14a294['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14a294['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x14a294;throw _0x5b292f;}function st(_0x15ca79){return{'threadId':_0x15ca79['commentThreadId'],'commentId':_0x15ca79['commentId'],'content':_0x15ca79['content'],'createdAt':_0x15ca79['createdAt'],'authorId':_0x15ca79['userId'],'attributes':_0x15ca79['attributes']||{}};}class f extends _0x4ebc6b{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>at)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x56fa33){super(_0x56fa33);const _0xd1e0e5=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0xd1e0e5);}['init'](){const _0x2f621c=this['editor']['plugins']['get'](c),_0x5cca46=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5cca46['adapter']={'getSuggestion':async _0x1640cd=>{await this['_waitForServiceReady']();const _0x34da89=await this['_trackChangesService']['get'](_0x1640cd)['catch'](nt);return await this['_fetchMissingUsersForThreads']([_0x34da89]),_0x34da89;},'addSuggestion':async({id:_0x394dcd,type:_0x2a7d8d,data:_0x57ece1,originalSuggestionId:_0x3cf394,attributes:_0x3d87eb})=>{await this['_waitForServiceReady']();const _0x6e259f={'id':_0x394dcd,'type':_0x2a7d8d,'data':_0x57ece1,'originalSuggestionId':_0x3cf394,'attributes':_0x3d87eb},_0x1a0602=await this['_trackChangesService']['add'](_0x394dcd,_0x2a7d8d,_0x57ece1,_0x3cf394,_0x3d87eb)['catch'](_0x5ee1bc=>{if(vt(_0x5ee1bc))return new Promise(_0x1fe3cf=>{this['_bufferedRequests']['set'](_0x394dcd,{'resolve':_0x1fe3cf,'suggestionData':_0x6e259f});});throw _0x5ee1bc;});return this['_bufferedRequests']['delete'](_0x394dcd),_0x1a0602;},'updateSuggestion':async(_0x35000b,_0x1f4d0b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1f4d0b['state'])return this['_trackChangesService']['update'](_0x35000b,_0x1f4d0b)['catch'](nt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x413a5c,_0x21c2af)=>{_0x5cca46['hasSuggestion'](_0x21c2af['id'])&&(_0x5cca46['getSuggestion'](_0x21c2af['id'])['attributes']=_0x21c2af['attributes']);}),this['_trackChangesService']['connect'](_0x2f621c['connection'])['then'](_0x3b34a0=>(_0x2f621c['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3b34a0)['then'](()=>{for(const _0x40ca3d of _0x3b34a0){_0x5cca46['addSuggestionData'](_0x40ca3d)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5ef4fc=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x414482}=this['editor']['plugins']['get'](c),_0x544508=await this['_trackChangesService']['connect'](_0x414482);await this['_fetchMissingUsersForThreads'](_0x544508);for(const {suggestionData:_0x3ce21e,resolve:_0x382a51}of this['_bufferedRequests']['values']()){let _0x5b3c0b=_0x544508['find'](_0x56ee7a=>_0x56ee7a['id']===_0x3ce21e['id']);_0x5b3c0b||(_0x5b3c0b=await this['_trackChangesService']['add'](_0x3ce21e['id'],_0x3ce21e['type'],_0x3ce21e['data'],_0x3ce21e['originalSuggestionId'])),_0x382a51(_0x5b3c0b);}for(const _0x3f22eb of _0x544508)_0x5ef4fc['hasSuggestion'](_0x3f22eb['id'])||_0x5ef4fc['addSuggestionData'](_0x3f22eb);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x403184=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2eb3ef=>{_0x2eb3ef['off'](),_0x403184();});});}async['_fetchMissingUsersForThreads'](_0x3cd398){const _0x4d0342=this['editor']['plugins']['get'](_0x438734),{connection:_0x40220f}=this['editor']['plugins']['get'](c),_0x3b6683=new Set();for(const {authorId:_0x1476d9}of _0x3cd398)_0x4d0342['getUser'](_0x1476d9)||_0x3b6683['add'](_0x1476d9);if(0x0===_0x3b6683['size'])return;const _0x228ec9=await gt['getMany'](_0x40220f,Array['from'](_0x3b6683));for(const _0x535ad9 of _0x228ec9)_0x4d0342['getUser'](_0x535ad9['id'])||_0x4d0342['addUser'](_0x535ad9);}}function nt(_0x546101){if(vt(_0x546101))return new Promise(()=>{});throw _0x546101;}function vt(_0xa64786){return _0xa64786['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa64786['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x4ebc6b{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x53c218=this['editor']['plugins']['get'](c),_0x3cc361=this['editor']['plugins']['get']('CommentsEditing'),_0x2cd260=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x53c218,'change:state',(_0x3591cb,_0x3a8b96,_0x40e844)=>{_0x3cc361['isThreadsLoadingPaused']='connected'!==_0x40e844;});}),this['listenTo'](_0x53c218,'change:state',(_0x5c7eff,_0x2c9e2a,_0x54e1c3)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x54e1c3);}),_0x2cd260['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x4ebc6b{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x4ebc6b{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>rt)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x438734];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4feb8a){super(_0x4feb8a);const _0x26b5c0=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x26b5c0);}async['init'](){const _0x1a1518=this['editor']['plugins']['get'](l),_0x487758=_0x1a1518['serverHistory'],_0x4b695e=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x487758,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1a1518['sessionId']});const _0x4fb591=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x10ebd5=await it['isBundleUploaded'](_0x4b695e['connection'],_0x4fb591);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x52bae0})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x52bae0)),'updateRevisions':async _0x4629a5=>{await this['_waitForServiceReady']();const _0x1ada7c=this['_revisionTracker']['currentRevision'];if(_0x10ebd5&&0x1===_0x4629a5['length']&&_0x4629a5[0x0]['id']===_0x1ada7c['id'])return _0x4629a5;for(const _0x4fd52d of _0x4629a5)_0x4fd52d['id']===_0x1ada7c['id']&&(_0x4fd52d['isEmptyCurrent']=_0x4fd52d['fromVersion']===_0x4fd52d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4629a5,this['_lastRequestId'])['then'](_0x372daf=>(this['_lastRequestId']=_0x372daf,_0x4629a5))['catch'](_0x3a9638=>{if(ct(_0x3a9638)||'400'===_0x3a9638['code']&&void 0x0!==_0x3a9638['data']['wrongRequestId']){for(const _0x5219c2 of _0x4629a5){!this['_revisionTracker']['repository']['getRevision'](_0x5219c2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5219c2['id'],_0x5219c2,!0x1);}if(ct(_0x3a9638))throw _0x3a9638;return _0x4629a5;}throw _0x3a9638;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3cad6c,{revisionsData:_0x20cc6a,requestId:_0x2bc4cd})=>{Math['max'](..._0x20cc6a['map'](_0x3a78c8=>_0x3a78c8['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x20cc6a,_0x2bc4cd);}):this['_handleRevisionsUpdate'](_0x20cc6a,_0x2bc4cd);});const {revisions:_0x52fd67,requestId:_0x3dcefa}=await this['_revisionHistoryService']['connect'](_0x4b695e['connection']);_0x4b695e['addToReconnectionStack'](this),this['_lastRequestId']=_0x3dcefa,await this['_fetchMissingUsers'](_0x52fd67);for(const _0x21c649 of _0x52fd67)this['_revisionTracker']['addRevisionData'](_0x21c649);this['listenTo'](_0x1a1518,'change:_isConnected',(_0x4f583e,_0xa2f276,_0x4d608c)=>{_0x4d608c&&(this['_oldOffset']=_0x1a1518['_offset'],_0x4f583e['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4b695e,'state',_0x1e475e=>_0x1e475e===_0x3a4dd9['CONNECTED']);}async['reconnect'](){const _0x16402a=this['editor']['plugins']['get'](c),_0x4810f2=this['editor']['plugins']['get'](l),_0x31dc6b=async()=>{const _0x20710c=this['_revisionTracker']['currentRevision'],_0x5ba48d=_0x20710c['id'],_0x8021b9=_0x5ba48d!==_0x4810f2['sessionId'];if(_0x8021b9){const _0x15c88a=_0x4810f2['_offset']-this['_oldOffset'],_0x229643=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x20710c['toVersion']+_0x15c88a!==_0x229643){const _0x496217=_0x20710c['fromVersion']+_0x15c88a,_0x5e204f=this['editor']['plugins']['get'](_0x438734),_0x45f870=this['_revisionTracker']['buildRevisionData']({'revision':_0x20710c,'from':_0x496217,'to':_0x229643});_0x45f870['id']=_0x20710c['id'];const _0x2eaa7c=_0x45f870['authorsIds']['map'](_0x1cc4a5=>_0x5e204f['getUser'](_0x1cc4a5));_0x20710c['_update']({..._0x45f870,'authors':_0x2eaa7c},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x20710c['id'],_0x45f870,!0x0);}this['_revisionTracker']['_startingVersion']=_0x229643,(_0x20710c['toVersion']===_0x20710c['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5ba48d)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5ba48d),this['_revisionTracker']['_createCurrentRevision'](_0x229643));}const {revisions:_0x5dc373,requestId:_0x802233}=await this['_revisionHistoryService']['reconnect'](_0x16402a['connection'],this['_lastRequestId']);_0x8021b9&&_0x5dc373['length']>0x0?_0x4810f2['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5dc373),this['_handleRevisionsUpdate'](_0x5dc373,_0x802233),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4810f2['_isConnected']?_0x31dc6b():new Promise((_0x5f3ea4,_0x2b4671)=>{_0x4810f2['once']('change:_isConnected',()=>{_0x31dc6b()['then'](_0x5f3ea4)['catch'](_0x2b4671);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2ca1ca=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x31f755=>{_0x31f755['off'](),_0x2ca1ca();});});}['_getLatestVersionFromServerOperations'](){const _0x806636=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1b6746 of _0x806636)if('marker'!==_0x1b6746['type']||_0x1b6746['affectsData'])return _0x1b6746['baseVersion']+0x1;}['_getLatestVersion'](){const _0x106a58=this['editor']['plugins']['get'](l);return new Promise(_0x1d8a52=>{_0x106a58['_isPendingUpdate']?_0x106a58['once']('change:_isPendingUpdate',()=>{_0x1d8a52(this['_getLatestVersionFromServerOperations']());}):_0x1d8a52(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x157dba,_0x2eb644){const _0x133388=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2eb644;for(const _0x2ec9aa of _0x157dba){const _0x440b64=_0x133388['getRevision'](_0x2ec9aa['id']);if(_0x440b64){if((_0x2ec9aa['fromVersion']||_0x2ec9aa['toVersion'])&&(_0x2ec9aa['diffData']=null),_0x440b64===this['_revisionTracker']['currentRevision']){const _0x1155e8=Math['max'](_0x440b64['toVersion'],_0x2ec9aa['toVersion']),_0x10f454=Math['max'](_0x440b64['fromVersion'],_0x2ec9aa['fromVersion']);let _0x4f7976;_0x440b64['toVersion']===_0x2ec9aa['toVersion']&&_0x440b64['fromVersion']===_0x2ec9aa['fromVersion']?(_0x4f7976=!0x0,this['_preventResendingRevisionData'](_0x2ec9aa)):_0x2ec9aa['toVersion']===_0x1155e8&&_0x2ec9aa['fromVersion']===_0x10f454?_0x4f7976=!0x1:(_0x440b64['toVersion']===_0x1155e8&&_0x440b64['fromVersion']===_0x10f454||this['_fixRevision']({'revision':_0x440b64,'from':_0x10f454,'to':_0x1155e8}),_0x4f7976=!0x0),_0x4f7976&&(delete _0x2ec9aa['fromVersion'],delete _0x2ec9aa['toVersion'],delete _0x2ec9aa['diffData'],delete _0x2ec9aa['createdAt'],delete _0x2ec9aa['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2ec9aa),this['_preventResendingRevisionData'](_0x2ec9aa);}else this['_revisionTracker']['addRevisionData'](_0x2ec9aa);}const _0x53e83f=_0x133388['getRevisions']();_0x53e83f['reverse']();for(let _0x589113=0x0;_0x589113<_0x53e83f['length']-0x1;_0x589113++){const _0x53ef2a=_0x53e83f[_0x589113],_0x4e3481=_0x53e83f[_0x589113+0x1];if(_0x53ef2a['fromVersion']<_0x4e3481['toVersion']){const _0x1724cd=_0x4e3481['toVersion'],_0x3f57b1=Math['max'](_0x1724cd,_0x53ef2a['toVersion']);this['_fixRevision']({'revision':_0x53ef2a,'from':_0x1724cd,'to':_0x3f57b1});}}}['_fixRevision']({revision:_0x5ba33b,from:_0x46e748,to:_0x2399f5}={}){const _0x3cd1dc=this['editor']['plugins']['get'](_0x438734),_0x2bea12=this['_revisionTracker']['buildRevisionData']({'revision':_0x5ba33b,'from':_0x46e748,'to':_0x2399f5});_0x2bea12['authors']=_0x2bea12['authorsIds']['map'](_0x128253=>_0x3cd1dc['getUser'](_0x128253)),_0x5ba33b['_update'](_0x2bea12);}['_preventResendingRevisionData'](_0x36baa){const _0x482ca2={};_0x482ca2['id']=_0x36baa['id'];for(const _0xcfb043 of Object['keys'](_0x36baa))'id'!==_0xcfb043&&(_0x482ca2[_0xcfb043]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x482ca2['id'],_0x482ca2,!0x0);}async['_fetchMissingUsers'](_0x577a85){const _0x695ba7=this['editor']['plugins']['get'](_0x438734),{connection:_0x48d9ad}=this['editor']['plugins']['get'](c),_0x96684e=new Set();for(const _0x58f1e0 of _0x577a85){for(const _0x205924 of _0x58f1e0['authorsIds'])_0x4c4efd(_0x205924);_0x58f1e0['creatorId']&&_0x4c4efd(_0x58f1e0['creatorId']);}if(0x0===_0x96684e['size'])return;const _0x1bea58=await gt['getMany'](_0x48d9ad,Array['from'](_0x96684e));for(const _0x2d9501 of _0x1bea58)_0x695ba7['getUser'](_0x2d9501['id'])||_0x695ba7['addUser'](_0x2d9501);function _0x4c4efd(_0x3ccbca){_0x695ba7['getUser'](_0x3ccbca)||_0x96684e['add'](_0x3ccbca);}}}function ct(_0x12f802){return _0x12f802['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x12f802['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x12f802['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4ebc6b{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x31b426{['_collapseAt'];constructor(_0x383c9b,_0x997712=0x6){super(_0x383c9b);const _0x4cff0c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x997712,this['bind']('isHidden')['to'](this,'usersCount',_0x5dd626=>_0x5dd626<_0x997712),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4cff0c['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':_0x4cff0c['to']('usersCount',_0xaaa7f1=>'+'+(_0xaaa7f1-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x31b426{['items'];['keystrokes'];constructor(_0x35e5a7){super(_0x35e5a7);const _0x239838=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x369680(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x239838['if']('hasPopup'),'aria-expanded':_0x239838['to']('isExpanded',_0x349145=>this['hasPopup']&&String(_0x349145)),'aria-label':_0x239838['to']('hasPopup',_0x5c266e=>M(_0x35e5a7,_0x5c266e?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x239838['to']('hasPopup',_0x26b712=>!!_0x26b712&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x239838['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x239838['to'](_0x1364b9=>{const _0x2f72e1=_0x1364b9,_0x44f841=document['querySelector']('.ck-presence-list__dropdown-list'),_0x35630f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x44f841?.['contains'](_0x2f72e1['relatedTarget'])||_0x35630f?.['contains'](_0x2f72e1['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x56bffc,_0x223e86,_0x28c0c2)=>{this['element']&&(_0x28c0c2?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 j extends _0x31b426{['counterView'];['inlineListView'];constructor(_0x42e97a,_0x10ce7a=0x6){super(_0x42e97a);const _0xf3d614=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x10ce7a),this['inlineListView']=new ts(_0x42e97a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5e8886 of this['inlineListView']['items'])_0x5e8886['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',_0xf3d614['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x31b426{['listWrapperView'];constructor(_0x2d3dc5,_0x141ea3){super(_0x2d3dc5);const _0x22360d=this['bindTemplate'];this['listWrapperView']=new _t(_0x2d3dc5,_0x141ea3),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':M(_0x2d3dc5,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x22360d['to'](_0x32acfb=>{const _0xec1dd=_0x32acfb,_0x12edca=document['querySelector']('.ck-presence-list__list'),_0xfb831b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x12edca?.['contains'](_0xec1dd['relatedTarget'])||_0xfb831b?.['contains'](_0xec1dd['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class _t extends _0x3a4862{constructor(_0x2614fa,_0x3c17d2){super(_0x2614fa);const _0x3dcbea=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3c17d2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3dcbea['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3dcbea['to']('role'),'aria-label':_0x3dcbea['to']('ariaLabel'),'aria-labelledby':_0x3dcbea['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5e86ee['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x55a89a=this['element'];_0x55a89a&&(this['_isScrollable']=Math['max'](_0x55a89a['scrollHeight'],_0x55a89a['clientHeight'])>0.8*window['innerHeight']);}}class k extends lt{['userView'];constructor(_0x5d48d4,_0x1e5435,_0x123a3f){super(_0x5d48d4);const _0x47efa9=this['bindTemplate'];this['userView']=new ut(_0x5d48d4,_0x1e5435);const _0x2f9ab7={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1e5435['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1e5435['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e5435['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x123a3f&&(_0x2f9ab7['tag']='button',_0x2f9ab7['on']={'click':_0x47efa9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2f9ab7);}['focus'](){this['element']['focus']();}}class y extends _0x31b426{['userView'];['markerView'];constructor(_0x147f01,_0x27ddd8,_0x53b027){super(_0x147f01);const _0xd299bc=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ut(_0x147f01,_0x27ddd8),this['markerView']=new dt(_0x147f01,_0x27ddd8);const _0x3b1b70=new pt(_0x147f01);_0x3b1b70['template']['tag']='span',_0x3b1b70['text']=_0x27ddd8['name'];const _0x1910ec={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xd299bc['to']('isFocusable',_0x5d38fc=>!!_0x5d38fc&&0x0),'aria-labelledby':_0x3b1b70['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xd299bc['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xd299bc['to']('hasTooltip',_0x31a925=>!_0x31a925),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3b1b70]};_0x53b027&&(_0x1910ec['tag']='button',_0x1910ec['on']={'click':_0xd299bc['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1910ec);}}class dt extends _0x31b426{constructor(_0x543f62,_0x68c91a){super(_0x543f62),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x68c91a['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3acd16{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x342e51){super(_0x342e51),this['context']['config']['define']('presenceList',C);const _0x6e4e6e=_0x342e51['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x6e4e6e)throw new _0x4f264b('presencelist-collapseat-invalid-format',this);if(_0x6e4e6e<0x1)throw new _0x4f264b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3e30dd(),this['balloonPanelView']=new _0xa3d209(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x19e323 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19e323);this['listenTo'](this['_allConnectedUsers'],'add',(_0x339b98,_0x178620)=>{this['_handleUserAdd'](_0x178620);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x420af7,_0xa7f851)=>{this['_handleUserRemove'](_0xa7f851);});}['_createView'](){const _0x4bcde2=this['context'],_0x115345=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x330b01=this['balloonPanelView'];if(!_0x280390(_0x4bcde2['config']['get']('presenceList.container')))throw new _0x4f264b('presencelist-missing-container',this);return _0x115345['counterView']['bind']('usersCount')['to'](this),_0x115345['bind']('isCollapsed')['to'](this,'usersCount',_0x1519ba=>{const {collapseAt:_0x31f6d7}=_0x4bcde2['config']['get']('presenceList'),_0x2d7a5a=_0x1519ba>=_0x31f6d7;if(_0x2d7a5a&&!_0x115345['inlineListView']['items']['find'](_0xc20e7f=>_0xc20e7f instanceof A)){const _0x50a824=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x50a824&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x115345['inlineListView']['items']['add'](_0x115345['counterView']);}return _0x2d7a5a||this['hideDropdown'](),_0x2d7a5a;}),_0x115345['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3d85b4=>{const _0x596144=_0x4bcde2['config']['get']('presenceList'),_0x3dd57a=new y(_0x4bcde2['locale'],_0x3d85b4,!!_0x596144['onClick']);return _0x3dd57a['bind']('hasTooltip')['to'](_0x115345,'isCollapsed',_0x151234=>!_0x151234),_0x3dd57a['bind']('isFocusable')['to'](_0x115345,'isCollapsed',_0x2f3e1e=>!_0x2f3e1e),_0x596144['onClick']&&this['listenTo'](_0x3dd57a,'execute',()=>{this['view']['isCollapsed']||_0x596144['onClick'](_0x3d85b4,_0x3dd57a['element']);}),_0x3dd57a;}),this['listenTo'](_0x115345['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x115345['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x115345['inlineListView']['keystrokes']['set']('Enter',(_0x231b3b,_0x381d51)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x381d51());}),_0x115345['render'](),_0x330b01['render'](),_0x4a73c8({'emitter':_0x115345,'activator':()=>_0x330b01['isVisible'],'contextElements':[_0x330b01['element'],_0x115345['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4bcde2['config']['get']('presenceList.container')['appendChild'](_0x115345['element']),this['_bodyCollection']=new _0x56d6b8(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x115345;}['_handleUserAdd'](_0x3b95b2){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3b95b2['isMe'])return;const _0x138629=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x138629-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xcdcd24=_0x3b95b2['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3b95b2,_0xcdcd24);}['_handleUserRemove'](_0x138371){this['usersCount']--;const {collapseAt:_0x58eb49}=this['context']['config']['get']('presenceList'),_0x16b297=this['usersCount']>=_0x58eb49;if(this['currentDisplayedUsers']['get'](_0x138371['id']))this['currentDisplayedUsers']['remove'](_0x138371['id']);else{if(_0x16b297&&this['currentDisplayedUsers']['length']+0x1===_0x58eb49-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x16b297?0x1:0x0)<this['usersCount']){for(const _0x43beed of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x43beed['id'])&&(this['currentDisplayedUsers']['add'](_0x43beed,Math['min'](this['currentDisplayedUsers']['length']-(_0x16b297?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x16b297?0x1:0x0)===_0x58eb49-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4822b6=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0x4822b6['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x8585ae}=this['presenceDropdownView'];_0x8585ae['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x16a7bc=>{if(!_0x4822b6['displayMe']&&_0x16a7bc['isMe'])return null;const _0x1a9a43=new k(this['context']['locale'],_0x16a7bc,!!_0x4822b6['onClick']);return _0x4822b6['onClick']&&this['listenTo'](_0x1a9a43,'execute',()=>{_0x4822b6['onClick'](_0x16a7bc,_0x1a9a43['element']);}),_0x1a9a43;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x8585ae['focus'](),_0x8585ae['checkIfScrollable']();const _0x451f5e=(_0x2cbfe2,_0x53395a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x53395a();};_0x8585ae['keystrokes']['set']('Esc',_0x451f5e),_0x8585ae['keystrokes']['set']('Shift+Tab',_0x451f5e),_0x8585ae['keystrokes']['set']('Tab',(_0x3cb595,_0x538229)=>{!function(_0x351c1a){const _0x5a0801=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xc9f2cf=>_0xc9f2cf+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x225f51=[...document['body']['querySelectorAll'](_0x5a0801)]['filter'](_0x1446bf=>_0x1446bf===document['activeElement']||_0x1446bf['offsetWidth']+_0x1446bf['offsetHeight']>0x0)['sort']((_0x1dc4d1,_0x1aabea)=>(_0x1dc4d1['tabIndex']||0x0)-(_0x1aabea['tabIndex']||0x0)),_0x158eb7=_0x225f51['indexOf'](_0x351c1a),_0xb31fbd=_0x225f51[(_0x158eb7+0x1)%_0x225f51['length']];_0xb31fbd&&_0xb31fbd['focus']();}(this['view']['element']),this['hideDropdown'](),_0x538229();}),_0x8585ae['focusTracker']['add'](this['view']['element']),_0x8585ae['focusTracker']['on']('change:isFocused',(_0xf6ebcf,_0x30bf75,_0x54fb94)=>{_0x54fb94||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x3acd16{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x6e3cec,Plugin as _0x2d3c3d,PendingActions as _0x198b2a,Context as _0x427df}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x19722b,CKEditorError as _0x42186d,Collection as _0x2fd983,global as _0x17d00d,version as nt,uid as _0x401110,KeystrokeHandler as _0x5b08a7}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4775e8,View as _0x1f1e81,ListView as _0x2837ad,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x53a00a,clickOutsideHandler as _0x3527e1,BodyCollection as _0x30db24}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x2d6d08,NoOperation as _0x9a9dca,InsertOperation as _0x4536dc,MarkerOperation as _0x226fed,RootAttributeOperation as _0x2c43ba,transformSets as _0x138667,OperationFactory as _0x48a87d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x4e41a1,CollaborativeEditingService as _0x3be59a,User as dt,CommentsService as _0x20bf0f,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0xb8f378,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3c22ea}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x35aebf}from'es-toolkit/compat';class c extends _0x6e3cec{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4775e8];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x157d5b){super(_0x157d5b),this['set']('state',_0x4e41a1['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x19722b);}['init'](){const _0x1e8d62=this['context'],_0x48a966=_0x1e8d62['plugins']['get']('CloudServices'),_0x4be19f=_0x1e8d62['plugins']['get'](_0x4775e8);if(!_0x48a966['token'])throw new _0x42186d('websocketgateway-missing-token',this);if(!_0x48a966['webSocketUrl'])throw new _0x42186d('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x48a966['token'],_0x48a966['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3b7c7a=>{if(this['connection']=_0x3b7c7a,this['bind']('state')['to'](_0x3b7c7a,'state',this,'_isBrowserOffline',(_0x193899,_0x4fca0d)=>('connected'!==_0x193899&&(this['_shouldPluginsReconnect']=!0x0),_0x4fca0d||_0x193899!==_0x4e41a1['CONNECTED']?_0x4e41a1['DISCONNECTED']:this['state']==_0x4e41a1['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4e41a1['CONNECTING']):_0x4e41a1['CONNECTED'])),this['connection']['on']('error',(_0x5a2ebb,_0x101e47)=>{if('limitExceeded'!==_0x101e47['code'])throw console['error'](_0x101e47),new _0x42186d('cloudservices-init',null,{'originalError':_0x101e47});_0x4be19f['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'});}),!_0x3b7c7a['me'])return new Promise(_0x49c5f8=>_0x3b7c7a['on']('change:me',_0x49c5f8));})['catch'](_0x4d905b=>{throw console['error'](_0x4d905b),new _0x42186d('cloudservices-init',null,{'originalError':_0x4d905b});});}['addToReconnectionStack'](_0x55993d){if('function'!=typeof _0x55993d['reconnect'])throw new _0x42186d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x55993d))throw new _0x42186d('websocketgateway-plugin-already-registered',this,{'name':_0x55993d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x55993d);}['removeFromReconnectionStack'](_0x43b79c){this['_reconnectionStack']['delete'](_0x43b79c);}['isInReconnectionStack'](_0x1cb4ea){return this['_reconnectionStack']['has'](_0x1cb4ea);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x507431=>_0x507431['reconnect']())))['then'](()=>this['state']=_0x4e41a1['CONNECTED'])['catch'](_0x5e1465=>{throw console['error'](_0x5e1465),new _0x42186d('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4e41a1['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x6e3cec{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0xb8f378];}constructor(_0x363ac1){super(_0x363ac1),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2fd983(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0xb8f378);}['init'](){const _0x154c7f=this['context']['plugins']['get'](c);this['listenTo'](_0x154c7f,'change:state',(_0x2bedf1,_0x4cc26c,_0x214b3b)=>{if('connected'!==_0x214b3b)this['channelSessions']['forEach'](_0x26644c=>_0x26644c['clear']()),this['channelConnectedUsers']['forEach'](_0x369724=>_0x369724['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x67a1f4,_0x14416d]of this['_registeredSessions'])for(const _0x516117 of _0x14416d)this['_handleSessionAdd'](_0x67a1f4,_0x516117);}}),this['_createUser'](_0x154c7f['connection']['me'],!0x0);}['register'](_0x4dd465,_0x4e0d76){if(this['_registeredSessions']['has'](_0x4dd465))throw new _0x42186d('sessions-register-already-registered',null,{'channelId':_0x4dd465});this['_registeredSessions']['set'](_0x4dd465,_0x4e0d76),this['channelSessions']['set'](_0x4dd465,new _0x2fd983()),this['channelConnectedUsers']['set'](_0x4dd465,new _0x2fd983()),this['listenTo'](_0x4e0d76,'add',(_0x5184de,_0x4749c1)=>this['_handleSessionAdd'](_0x4dd465,_0x4749c1)),this['listenTo'](_0x4e0d76,'remove',(_0x255e87,_0x85a88c)=>this['_handleSessionRemove'](_0x4dd465,_0x85a88c));for(const _0x401d0a of _0x4e0d76)this['_handleSessionAdd'](_0x4dd465,_0x401d0a);}['unregister'](_0x2c706b){if(!this['_registeredSessions']['has'](_0x2c706b))throw new _0x42186d('sessions-unregister-not-exist',null,{'channelId':_0x2c706b});const _0x6b6814=this['_registeredSessions']['get'](_0x2c706b);this['stopListening'](_0x6b6814);for(const _0xc7c06a of _0x6b6814)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x2c706b,_0xc7c06a);this['_registeredSessions']['delete'](_0x2c706b),this['channelSessions']['delete'](_0x2c706b),this['channelConnectedUsers']['delete'](_0x2c706b);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0xdd4a03){for(const _0x56ad61 of this['channelSessions']['values']())for(const _0x4f611c of _0x56ad61)if(_0x4f611c['id']===_0xdd4a03)return _0x4f611c['user'];}['getUserSessions'](_0x284412,_0x44a817){const _0x3231ab=_0x44a817?[this['channelSessions']['get'](_0x44a817)]:this['channelSessions']['values'](),_0x1fda95=new Set();for(const _0x56e646 of _0x3231ab)for(const _0x1c0f78 of _0x56e646)_0x1c0f78['user']['id']===_0x284412['id']&&_0x1fda95['add'](_0x1c0f78['id']);return _0x1fda95;}['getUserRole'](_0x564c65){for(const _0x345e8e of this['channelSessions']['values']())for(const _0x962415 of _0x345e8e)if(_0x962415['user']===_0x564c65)return _0x962415['role'];}['_handleSessionAdd'](_0x203019,_0x23d374){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x282a11=_0x23d374['user'],_0x82c496=this['_users']['getUser'](_0x282a11['id'])||this['_createUser'](_0x282a11),_0x5d7f99=Object['assign']({},_0x23d374,{'user':_0x82c496});this['channelSessions']['get'](_0x203019)['add'](_0x5d7f99);const _0x1db735=this['channelConnectedUsers']['get'](_0x203019);_0x1db735['has'](_0x82c496['id'])||_0x1db735['add'](_0x82c496),this['allConnectedUsers']['has'](_0x82c496['id'])||this['allConnectedUsers']['add'](_0x82c496,_0x82c496['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x203019,{'channelId':_0x203019,'session':_0x5d7f99});}['_handleSessionRemove'](_0x3354a8,_0x159939){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x1abfd2=this['channelConnectedUsers']['get'](_0x3354a8),_0x50fb3f=_0x159939['user'];_0x50fb3f['id']&&(this['channelSessions']['get'](_0x3354a8)['remove'](_0x159939['id']),_0x1abfd2['has'](_0x50fb3f['id'])&&!this['getUserSessions'](_0x50fb3f,_0x3354a8)['size']&&_0x1abfd2['remove'](_0x50fb3f['id']),this['allConnectedUsers']['get'](_0x50fb3f['id'])&&!this['getUserSessions'](_0x50fb3f)['size']&&this['allConnectedUsers']['remove'](_0x50fb3f['id']));}['_createUser'](_0x1f1d31,_0x2a7e81){const _0x3ca1ec=this['_users']['addUser'](_0x1f1d31);return _0x2a7e81&&this['_users']['defineMe'](_0x1f1d31['id']),_0x3ca1ec['orderNumber']=this['_uniqueUsersCount']++,_0x3ca1ec;}}class q extends _0x2d3c3d{['_domEmitter']=new(_0x19722b())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4f273f=this['editor'],_0x37caba=_0x4f273f['plugins']['get'](i);_0x4f273f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x854b3c,{writer:_0x254c54})=>function(_0x3286e7,_0x21e841,_0x35c618,_0x1da4df){const _0x1933f0=_0x3286e7['markerName']['split'](':')[0x2],_0x2da2e8=_0x35c618['getUserBySessionId'](_0x1933f0);if(!_0x2da2e8||_0x1933f0===_0x35c618['mySessionId'])return;if(!_0x1da4df['model']['schema']['checkChild'](_0x3286e7['markerRange']['start'],'$text'))return;const _0x22196a={'class':'ck-user__marker\x20'+_0x2da2e8['color']['getMarkerClass'](),'data-name':_0x2da2e8['name'],'data-session-id':_0x1933f0},_0x371e33=_0x1da4df['model']['markers']['get'](_0x3286e7['markerName']),_0x277b8a=_0x371e33['getStart'](),_0x3404fa=_0x277b8a['nodeAfter'],_0x48e5fe=_0x1da4df['model']['schema'];if(_0x3404fa&&_0x48e5fe['isObject'](_0x3404fa)&&_0x48e5fe['isInline'](_0x3404fa)&&!_0x1da4df['model']['markers']['get']('user:range:'+_0x1933f0)['getRange']()['isCollapsed'])return;const _0x2e49ce=_0x277b8a['parent'];return _0x1da4df['model']['schema']['isLimit'](_0x2e49ce)&&!_0x1da4df['model']['hasContent'](_0x2e49ce)&&(_0x22196a['contenteditable']=!0x1),function(_0x453c9e,_0x422480,_0xbc1bb6){const _0x323d9a=_0x453c9e['createUIElement']('span',_0x422480);return _0x453c9e['setCustomProperty']('userPositionMarker',!0x0,_0x323d9a),_0x323d9a['render']=function(_0x48cf51){const _0x494b06=this['toDomElement'](_0x48cf51),_0x6ceaeb=document['createElement']('span');return _0x6ceaeb['classList']['add']('ck-user__marker-tooltip'),_0x6ceaeb['setAttribute']('contenteditable','false'),_0x6ceaeb['setAttribute']('spellcheck','false'),_0x6ceaeb['textContent']=_0xbc1bb6['name'],_0x494b06['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x6ceaeb['outerHTML']+'⁠',_0x494b06['addEventListener']('mouseenter',()=>{_0x494b06['classList']['add']('ck-user__marker_hovered');}),_0x494b06['addEventListener']('mouseleave',()=>{_0x494b06['classList']['remove']('ck-user__marker_hovered');}),_0x494b06;},_0x323d9a['isSimilar']=function(_0x269780){return!(!this['getCustomProperty']('userPositionMarker')||!_0x269780['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x269780['getAttribute']('data-session-id'));},_0x323d9a;}(_0x21e841,_0x22196a,_0x2da2e8);}(_0x854b3c,_0x254c54,_0x37caba,_0x4f273f)}),_0x4f273f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3f8f6c=>function(_0x182eff,_0x3c188b){const _0x3412e9=_0x182eff['markerName']['split'](':')[0x2];if(_0x3412e9===_0x3c188b['mySessionId'])return null;const _0x346030=_0x3c188b['getUserBySessionId'](_0x3412e9);if(!_0x346030)return{'id':_0x3412e9,'classes':[]};return{'id':_0x3412e9,'classes':['ck-user__selection',_0x346030['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3412e9},'priority':0x7d0+_0x346030['orderNumber']};}(_0x3f8f6c,_0x37caba)}),function(_0x20f735){const _0x260b66=_0x20f735['model'],_0x38a500=new Map(),_0x47062a=_0x20f735['plugins']['get'](i);_0x260b66['markers']['on']('update:user:range',(_0x72283,_0x2ad813,_0x3454a2,_0x4519ad)=>{if(!_0x4519ad&&_0x38a500['get'](_0x2ad813['name']))return _0x38a500['get'](_0x2ad813['name'])['detach'](),void _0x38a500['delete'](_0x2ad813['name']);const _0x2a1c04=_0x2ad813['name']['split'](':')[0x2];if(_0x2a1c04===_0x47062a['mySessionId'])return;const _0x361444='user:position:'+_0x2a1c04;_0x260b66['markers']['has'](_0x361444)&&_0x20f735['editing']['reconvertMarker'](_0x361444),_0x2ad813['on']('change:range',(_0x32c1c7,_0x1e1ba4,_0x1d4a67)=>{if('$graveyard'!=_0x1e1ba4['root']['rootName']&&'$graveyard'==_0x2ad813['getRange']()['root']['rootName']&&!_0x38a500['has'](_0x2ad813['name'])){const _0x25e334=_0x260b66['schema']['getNearestSelectionRange'](_0x1d4a67['deletionPosition']);if(_0x25e334){const _0x3d7469=ht['fromRange'](_0x25e334);_0x38a500['set'](_0x2ad813['name'],_0x3d7469),_0x3d7469['on']('change:range',(_0x4e091b,_0x1fd8e1,_0x57e8ac)=>{if('$graveyard'==_0x3d7469['root']['rootName']){const _0x162001=_0x260b66['schema']['getNearestSelectionRange'](_0x57e8ac['deletionPosition']);_0x162001?(_0x3d7469['start']=_0x162001['start'],_0x3d7469['end']=_0x162001['end']):(_0x38a500['delete'](_0x2ad813['name']),_0x3d7469['detach']());}});}}});}),_0x260b66['document']['on']('change',()=>{_0x38a500['size']>0x0&&_0x260b66['enqueueChange']({'isUndoable':!0x1},_0x28004e=>{for(const [_0x359fad,_0x54865e]of _0x38a500)'$graveyard'==_0x260b66['markers']['get'](_0x359fad)['getRange']()['root']['rootName']&&(te(_0x359fad['split'](':')[0x2],_0x54865e['toRange'](),_0x260b66,_0x28004e),_0x54865e['detach']());_0x38a500['clear']();});});}(_0x4f273f),this['_domEmitter']['listenTo'](_0x17d00d['document'],'keydown',(_0x3b69b1,{key:_0x35f8e4})=>{'Escape'===_0x35f8e4&&function(_0x4464d6){_0x4464d6['editing']['view']['change'](_0x3d5663=>{for(const _0xaf2664 of _0x4464d6['model']['markers']){if(!_0xaf2664['name']['startsWith']('user:position'))continue;const _0xec2037=_0x4464d6['editing']['mapper']['markerNameToElements'](_0xaf2664['name']);if(_0xec2037){for(const _0x3c9df3 of _0xec2037)_0x3d5663['removeClass']('ck-user__marker_hovered',_0x3c9df3);}}});}(_0x4f273f);},{'useCapture':!0x0});}['afterInit'](){const _0x50992c=this['editor'],_0x11addc=_0x50992c['commands']['get']('undo');_0x11addc&&_0x50992c['model']['on']('applyOperation',(_0x4aef53,_0x3c2430)=>{const _0x2f99a3=_0x3c2430[0x0];if(!_0x2f99a3['isDocumentOperation'])return;if('marker'!=_0x2f99a3['type']||!_0x2f99a3['name']['startsWith']('user:'))return;const _0x3911aa=_0x2f99a3['batch'];_0x11addc['_createdBatches']['has'](_0x3911aa)&&(_0x2f99a3['newRange']=_0x2f99a3['oldRange']?_0x50992c['model']['createRange'](_0x2f99a3['oldRange']['start'],_0x2f99a3['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3b3b29=this['editor'],_0x51d9b0=_0x3b3b29['model']['document'],_0x117826=_0x3b3b29['plugins']['get'](i);_0x3b3b29['model']['enqueueChange']({'isUndoable':!0x1},_0x4ffb31=>{const _0x1eb968='user:range:'+_0x117826['mySessionId'],_0xe70ff9='user:position:'+_0x117826['mySessionId'],_0x43822=_0x3b3b29['model']['markers']['has'](_0x1eb968);_0x3b3b29['editing']['view']['hasDomSelection']?te(_0x117826['mySessionId'],_0x51d9b0['selection']['getFirstRange'](),_0x3b3b29['model'],_0x4ffb31):_0x43822&&(_0x4ffb31['removeMarker'](_0x1eb968),_0x4ffb31['removeMarker'](_0xe70ff9));});}}function te(_0xe3939c,_0x21b508,_0x466b85,_0x1280ec){const _0xd1e5b8='user:range:'+_0xe3939c,_0x383c31='user:position:'+_0xe3939c,_0x49e6c3=_0x21b508['getContainedElement']();let _0x120eaa=_0x21b508['start'];if(_0x49e6c3&&_0x49e6c3['is']('element','tableCell')){const _0x4940ab=function(_0x805ae8,_0x238ffb){for(const _0x33965f of _0x805ae8['getPositions']())if(_0x238ffb['schema']['checkChild'](_0x33965f,'$text'))return _0x33965f;}(_0x21b508,_0x466b85);_0x4940ab&&(_0x120eaa=_0x4940ab,_0x21b508=_0x1280ec['createRange'](_0x120eaa));}const _0x279eeb=_0x1280ec['createRange'](_0x120eaa);_0x466b85['markers']['has'](_0xd1e5b8)?(_0x1280ec['updateMarker'](_0xd1e5b8,{'range':_0x21b508}),_0x1280ec['updateMarker'](_0x383c31,{'range':_0x279eeb})):(_0x1280ec['addMarker'](_0xd1e5b8,{'range':_0x21b508,'usingOperation':!0x0}),_0x1280ec['addMarker'](_0x383c31,{'range':_0x279eeb,'usingOperation':!0x0}));}function G(_0x2160a7,_0x49a6ac,_0x5b9ddf){const _0x10cb0f=_0x2160a7['t'],t=_0x2160a7['t'];switch(_0x49a6ac){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 _0x10cb0f({'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'},_0x5b9ddf);default:return'';}}let J=0x1;class l extends _0x2d3c3d{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x3be59a)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x198b2a,_0xb8f378,_0x4775e8];}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 _0x44dd28=this['serverHistory']['getOperations']();for(let _0x5a4cc6=_0x44dd28['length']-0x1;_0x5a4cc6>=0x0;_0x5a4cc6--){const _0x1291ff=_0x44dd28[_0x5a4cc6];if(!this['_disconnectionOperations']['has'](_0x1291ff))return _0x1291ff['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x217c3a){if(super(_0x217c3a),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2d6d08(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x42186d('collaboration-missing-channelid',this);const _0x4ddd88=_0x217c3a['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x4ddd88,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3c22ea(),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 Y(this['_disconnectionOperations']);}['init'](){const _0x35c916=this['editor'],_0x4dbe79=_0x35c916['plugins']['get'](_0xb8f378),_0x2bfde0=_0x35c916['plugins']['get'](c);this['listenTo'](_0x4dbe79,'getOperationAuthor',(_0x4cc6ca,_0xd11c9f)=>{const _0x1b3d4a=_0xd11c9f[0x0];_0x1b3d4a['_authorId']&&(_0x4cc6ca['return']=_0x4dbe79['getUser'](_0x1b3d4a['_authorId']),_0x4cc6ca['stop']()),null===_0x1b3d4a['_authorId']&&(_0x4cc6ca['return']=null,_0x4cc6ca['stop']());},{'priority':'high'}),this['listenTo'](_0x35c916['model']['document']['selection'],'change:range',(_0xa0bc96,_0x31b7ef)=>{_0x31b7ef['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x35c916['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x35c916['model']['on']('applyOperation',(_0x54057a,_0x3f835d)=>{const _0x2b4769=_0x3f835d[0x0];_0x2b4769['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2b4769),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2bfde0,'state',this,'_hasSynchronizationProblem',(_0x346a4c,_0x4df4f8)=>'connected'===_0x346a4c&&!_0x4df4f8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x35c916['disableReadOnlyMode']('rtc-offline'):_0x35c916['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x35c916['disableReadOnlyMode']('rtc-offline'):_0x35c916['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5efe81=this['editor']['plugins']['get'](i),_0x6e2367=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x5efe81['unregister'](this['_channelId']);const _0x2dd901=await this['_service']['reconnect'](_0x6e2367['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x2dd901)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1f8c2a=await this['_service']['getConnectedSessions']();_0x5efe81['register'](this['_channelId'],_0x1f8c2a),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1f9344){if(function(_0x9b1e4){return'404'===_0x9b1e4['code'];}(_0x1f9344)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x14b323){return'409'===_0x14b323['code'];}(_0x1f9344)){const _0x1768f3=G(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'](_0x1768f3);}else{if(!(_0x1f9344 instanceof Q))throw _0x1f9344;this['_handleReconnectionError']();}}}}['destroy'](){const _0xf0d283=this['editor']['plugins']['get'](c),_0x433bea=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x433bea['channelSessions']['has'](this['_channelId'])&&_0x433bea['unregister'](this['_channelId']),_0xf0d283['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4a08b5){if(this['sessionId']!==_0x4a08b5['sessionId']&&this['_lastSyncedOperationId']!==_0x4a08b5['lastOperationId'])throw new Q();return this['sessionId']=_0x4a08b5['sessionId'],this['_handleServerResponse']([],{..._0x4a08b5,'wereChangesApplied':!0x1,'data':_0x4a08b5['data']},'reconnect');}async['_connectService'](_0x4dbcf7,_0x59a443=!0x1){const {connection:_0x36682e}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x36682e,this['_channelId'])['then'](_0x24b860=>this['_initSessionsHandling'](_0x24b860))['catch'](_0x5a4f87=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5a4f87);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2de53b,_0x523e1a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x523e1a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x25cad0=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4dbcf7);this['_isPendingUpdate']=!0x0;const _0xb9d01f=await this['_service']['connect'](_0x36682e,this['_compressOperations'](_0x4dbcf7),_0x25cad0);if(this['sessionId']=_0xb9d01f['sessionId'],_0x59a443){if(!_0xb9d01f['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xb9d01f['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4dbcf7,_0xb9d01f,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xb9d01f,_0x4dbcf7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x15053c=this['editor']['plugins']['get'](i),_0x51e5d0=this['editor']['plugins']['get'](q),_0x57b3ac=_0x15053c['channelSessions']['get'](this['_channelId']);_0x57b3ac&&_0x57b3ac['length']>0x1?_0x51e5d0['createUserMarkerOperations']():this['listenTo'](_0x15053c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x15053c['channelSessions']['get'](this['_channelId'])['length']&&_0x51e5d0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x342a71,_0x2d680e,_0x528852,_0x323577){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2d680e){const _0x208267=this['_decompressOperations'](_0x528852,_0x323577);await this['_fetchMissingUsers'](_0x208267),this['_handleExternalOperations'](_0x208267,_0x2d680e,_0x528852['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x331956}=this['editor'];let _0x1eb9f2;try{_0x1eb9f2=await this['_service']['getDocumentDetails']();}catch{const _0x4f898d=G(_0x331956,'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'](_0x4f898d);}const _0x181712=_0x1eb9f2['currentDocumentSession']||_0x1eb9f2['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x181712['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x434ff1=G(_0x331956,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x434ff1);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x32abf3){const _0x126fb0=this['editor']['plugins']['get'](i);this['listenTo'](_0x126fb0,'sessionAdd:'+this['_channelId'],(_0x320002,{session:_0x5d4e69})=>{if(_0x5d4e69['id']===_0x126fb0['mySessionId']){_0x320002['off']();const _0x16b11e=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x23b794=_0x5d4e69['permissions'];_0x16b11e&&_0x16b11e['isEnabled']&&(_0x23b794=_0x23b794['filter'](_0xe890a0=>'document:write'!==_0xe890a0)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x23b794,this['_channelId']);}}),_0x126fb0['register'](this['_channelId'],_0x32abf3);}['_initThrowingOnDataSet'](){const _0x3146b7=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2a95db)=>{if(!_0x2a95db[_0x2a95db['length']-0x1]['suppressErrorInCollaboration'])throw new _0x42186d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3146b7['apply'](this['editor']['data'],_0x2a95db);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x56c998,[_0x57b49b])=>{if(this['_document']['version'])throw new _0x42186d('realtimecollaborationclient-init-document-already-initialized',this);_0x56c998['stop'](),this['_setPendingAction']();const _0xa38023=this['editor']['config']['get']('rootsAttributes'),_0x2d157a=this['_getOperationsFromInitData'](_0x57b49b,_0xa38023);0x0==_0x2d157a['length']&&_0x2d157a['push'](new _0x9a9dca(0x0)),_0x56c998['return']=this['_connectService'](_0x2d157a)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3d0dc7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3d0dc7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x520532,[_0x1decfe,_0x1b16f4])=>{_0x520532['stop']();const _0xa5db2f=this['editor']['model']['document']['getRoot'](_0x1decfe);if(!this['_knownRootNames']['has'](_0x1decfe)){const _0x208223=_0x1b16f4&&_0x1b16f4['data']?_0x1b16f4['data']:'',_0x5c5958=_0x1b16f4&&_0x1b16f4['attributes']?_0x1b16f4['attributes']:{};await this['_loadRoot'](_0x1decfe,_0x208223,_0x5c5958);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0xa5db2f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0xa5db2f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x6e4728){const _0x166e7a=this['editor']['plugins']['get'](_0xb8f378),{connection:_0x1e0f41}=this['editor']['plugins']['get'](c),_0x64981f=new Set();for(const _0x4f3eee of _0x6e4728){const _0x3079cb=_0x4f3eee['_authorId'];_0x3079cb&&!_0x166e7a['getUser'](_0x3079cb)&&_0x64981f['add'](_0x3079cb);}if(0x0===_0x64981f['size'])return;const _0x2b29a4=await dt['getMany'](_0x1e0f41,Array['from'](_0x64981f));for(const _0xd549ea of _0x2b29a4)_0x166e7a['getUser'](_0xd549ea['id'])||_0x166e7a['addUser'](_0xd549ea);}['_getOperationsFromInitData'](_0x5bee2d,_0x4eecca={}){const _0x28f7fa=this['editor']['model'],_0x6aa9ef=[];let _0x28f34d=0x0;const _0x195ed4='string'==typeof _0x5bee2d?{'main':_0x5bee2d}:_0x5bee2d;for(const _0x50a8f4 of Object['keys'](_0x195ed4)){if(!this['_document']['roots']['has'](_0x50a8f4))throw new _0x42186d('realtimecollaborationclient-init-non-existent-root',this);const _0xeff023=this['editor']['data']['parse'](_0x195ed4[_0x50a8f4]),_0x1f075c=this['_document']['getRoot'](_0x50a8f4),_0x444b15=new _0x4536dc(_0x28f7fa['createPositionAt'](_0x1f075c,0x0),_0xeff023,_0x28f34d++);_0x6aa9ef['push'](_0x444b15);for(const [_0x4e063d,_0x4772e8]of _0xeff023['markers']){const _0x2f859c=_0x28f7fa['createRange'](_0x28f7fa['createPositionFromPath'](_0x1f075c,_0x4772e8['start']['path']['slice']()),_0x28f7fa['createPositionFromPath'](_0x1f075c,_0x4772e8['end']['path']['slice']())),_0x5627b0=new _0x226fed(_0x4e063d,null,_0x2f859c,_0x28f7fa['markers'],!0x0,_0x28f34d++);_0x6aa9ef['push'](_0x5627b0);}}if(_0x4eecca)for(const [_0x197f87,_0x565d12]of Object['entries'](_0x4eecca)){const _0x2104b8=_0x28f7fa['document']['getRoot'](_0x197f87);if(!_0x2104b8)throw new _0x42186d('multi-root-editor-root-attributes-no-root',null);for(const [_0x4a41b0,_0x19b686]of Object['entries'](_0x565d12))if(null!==_0x19b686){const _0x437e01=new _0x2c43ba(_0x2104b8,_0x4a41b0,null,_0x19b686,_0x28f34d++);_0x6aa9ef['push'](_0x437e01);}}return _0x6aa9ef;}async['_loadRoot'](_0x51868e,_0x44e3aa,_0x15a1ef){this['_getOperationsFromInitData']({[_0x51868e]:_0x44e3aa},{[_0x51868e]:_0x15a1ef})['forEach']((_0x182a31,_0x520748)=>{_0x182a31['baseVersion']=this['_document']['version']+_0x520748,_0x182a31['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x182a31);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x406d84,_0x2d3153){let _0x24c9da;this['_offset']=_0x406d84['offset'];const _0x5cae5c=_0x406d84['wereChangesApplied']&&!_0x406d84['initData'],_0x34209e=_0x5cae5c?0x0:_0x406d84['data']['baseVersion'];if(_0x2d3153['forEach'](_0x37b9c9=>{_0x37b9c9['_isInit']=!0x0,_0x37b9c9['createdAt']=_0x406d84['sessionCreatedAt'],_0x37b9c9['_authorId']=null;}),_0x5cae5c)_0x24c9da=_0x2d3153,this['_applyOperationsSet'](_0x24c9da,_0x5cae5c);else{if(_0x406d84['initData']){const _0x3346ec=this['_getOperationsFromInitData'](_0x406d84['initData']);this['_document']['history']['version']=-_0x3346ec['length'],_0x3346ec['forEach'](_0x40c5dc=>{_0x40c5dc['baseVersion']-=_0x3346ec['length'],_0x40c5dc['createdAt']=_0x406d84['sessionCreatedAt'],_0x40c5dc['_isInit']=!0x0,_0x40c5dc['_authorId']=null;}),this['_applyOperationsSet'](_0x3346ec,!0x0),this['serverHistory']['version']=-_0x3346ec['length']+this['_offset'],this['_updateServerHistory'](_0x3346ec);}this['_document']['history']['version']=_0x34209e,_0x24c9da=this['_decompressOperations'](_0x406d84['data'],_0x406d84['metadata']),await this['_fetchMissingUsers'](_0x24c9da),this['_applyOperationsSet'](_0x24c9da,_0x5cae5c);}_0x406d84['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x24c9da,_0x406d84['lastOperationId']),this['_lastSyncedOperationId']=_0x406d84['lastOperationId']),this['serverHistory']['version']=_0x34209e+this['_offset'],this['_updateServerHistory'](_0x24c9da),_0x2d3153['filter'](_0x4189ca=>{const _0x26eb94=this['_getAffectedRoot'](_0x4189ca);return _0x26eb94&&!this['_knownRootNames']['has'](_0x26eb94);})['forEach']((_0x356695,_0x31f78a)=>{_0x356695['baseVersion']=this['_document']['version']+_0x31f78a,this['_saveOperationInBuffer'](_0x356695);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x27990d,_0x5f4f0f){const _0x89b3a8=_0x5f4f0f&&_0x5f4f0f['message'];if(_0x89b3a8&&_0x89b3a8['startsWith']('realtimecollaborationclient'))throw _0x5f4f0f;const _0x37f7a8=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x37f7a8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x42186d(_0x27990d,this['editor'],_0x89b3a8?{'originalError':_0x89b3a8}:void 0x0);}['_saveOperationInBuffer'](_0x26273b){this['_knownOperations']['has'](_0x26273b)||(this['_knownOperations']['add'](_0x26273b),this['_bufferedOperations']['push'](_0x26273b),this['_pendingAction']||'marker'==_0x26273b['type']&&!_0x26273b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1764d0=!0x1){!_0x1764d0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xbc0f77=>{_0xbc0f77&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xf37a2f=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2b5694){return _0x2b5694['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b5694['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2b5694['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xf37a2f)||this['_crash'](_0xf37a2f['message'],_0xf37a2f);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x480694=>{this['on']('change:_isPendingUpdate',()=>{_0x480694();});});}async['_sendBufferedOperations'](){const _0x37114a=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x37114a['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x38c329=[...this['_bufferedOperations']];for(const _0x29bcb6 of _0x38c329)_0x29bcb6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x29bcb6);const _0x59b19e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x38c329),_0x533f11=J++,_0x47c914=this['_compressOperations'](_0x38c329),_0x160b1b=await this['_service']['sendOperations'](_0x47c914,_0x47c914['baseVersion'],_0x59b19e);try{return await this['_handleServerResponse'](_0x38c329,_0x160b1b,_0x533f11);}catch(_0x456a5c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x456a5c);}}async['_handleServerResponse'](_0x4f6039,_0x18716a,_0x4855ff){if('error'in _0x18716a)throw _0x18716a['error'];let _0x2d4634=!0x1;if(_0x18716a['wereChangesApplied']){_0x18716a['lastOperationId']&&(this['_lastSyncedOperationId']=_0x18716a['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x197a9f=>!_0x4f6039['includes'](_0x197a9f));for(const _0x3ca634 of _0x4f6039)_0x3ca634['createdAt']='lastOperationAcceptedAt'in _0x18716a&&_0x18716a['lastOperationAcceptedAt']||void 0x0;X(_0x4f6039,_0x18716a['version']-_0x4f6039['length']),this['_updateServerHistory'](_0x4f6039);const _0x47c49c=_0x4f6039['filter'](_0xcd0751=>{if(!_0xcd0751['_isInit'])return!0x1;const _0x5d43c5=this['_getAffectedRoot'](_0xcd0751);return _0x5d43c5&&!this['_knownRootNames']['has'](_0x5d43c5);});X(_0x47c49c,this['_document']['version']),this['_applyOperationsSet'](_0x47c49c),_0x2d4634=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4b0eae=this['_decompressOperations'](_0x18716a['data'],_0x18716a['metadata'])['filter'](_0x4aaf92=>_0x4aaf92['baseVersion']>=this['_lastServerVersion']);_0x4b0eae['forEach'](_0x1aa55c=>this['_addKnownRoot'](_0x1aa55c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5f4498=>!_0x5f4498['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5f4498))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4b0eae),_0x2d4634=this['_handleExternalOperations'](_0x4b0eae,_0x18716a['version'],_0x18716a['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2d4634?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x43d81b,_0x313654,_0x149013){try{const _0x26e3df={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2e06a4,operationsB:_0x9cfce5,originalOperations:_0x3ef869}=_0x138667(_0x43d81b,this['_bufferedOperations'],_0x26e3df);X(_0x2e06a4,this['_document']['version']),X(_0x9cfce5,_0x313654);for(const _0x4ba2e6 of _0x2e06a4){const _0x25327e=_0x3ef869['get'](_0x4ba2e6);_0x4ba2e6['_authorId']=_0x25327e?_0x25327e['_authorId']:null;}_0x149013&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43d81b,_0x149013),this['_lastSyncedOperationId']=_0x149013),this['_bufferedOperations']=[..._0x9cfce5],this['_applyOperationsSet'](_0x2e06a4),this['_updateServerHistory'](_0x43d81b);}catch(_0x3decb0){return console['error'](_0x3decb0),!0x1;}return!0x0;}['_applyOperationsSet'](_0x42ada7,_0x218b17=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3db3c3=>{for(const _0x471a47 of _0x42ada7)this['_knownOperations']['add'](_0x471a47),this['_addKnownRoot'](_0x471a47),_0x3db3c3['batch']['addOperation'](_0x471a47),this['editor']['model']['applyOperation'](_0x471a47);});}['_addKnownRoot'](_0x5dd61a){const _0x72b09d=this['_getAffectedRoot'](_0x5dd61a);_0x72b09d&&this['_knownRootNames']['add'](_0x72b09d);}['_getAffectedRoot'](_0x24069a){let _0x50306b,_0x259174;switch(_0x24069a['type']){case'insert':_0x50306b=_0x24069a['position']['root'];break;case'marker':if(_0x259174=_0x24069a['newRange'],!_0x259174)return null;_0x50306b=_0x259174['root'];break;case'addRootAttribute':_0x50306b=_0x24069a['root'];break;case'addRoot':_0x50306b=_0x24069a['affectedSelectable'];break;case'move':_0x50306b=_0x24069a['targetPosition']['root'];break;default:return null;}return _0x50306b['rootName'];}['_updateServerHistory'](_0x35058f){_0x35058f['forEach'](_0x41f4c4=>{const _0x358508=_0x41f4c4['clone']();_0x358508['_authorId']=_0x41f4c4['_authorId'],_0x358508['_isInit']=!!_0x41f4c4['_isInit'],_0x358508['createdAt']=_0x41f4c4['createdAt'],_0x358508['baseVersion']+=this['_offset'],_0x41f4c4['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x358508),this['serverHistory']['addOperation'](_0x358508);});}['_handleReconnectionError'](_0x3b7e56){const _0x2b60e5=this['editor']['plugins']['get']('Notification'),_0xa1c37b=this['editor']['locale'];_0x3b7e56||(_0x3b7e56=G(_0xa1c37b,'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.')),_0x2b60e5['showWarning'](_0x3b7e56,{'title':G(_0xa1c37b,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x198b2a)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x198b2a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x58f241){const _0x102a18=_0x58f241['map'](_0x42f0ff=>_0x42f0ff['toJSON']());return this['_compressor']['compress'](_0x102a18);}['_decompressOperations'](_0xbeadac,_0x5aca23){return this['_compressor']['decompress'](_0xbeadac)['map']((_0x586cde,_0x1b7d9f)=>{const _0x29701e='init'==_0x5aca23[_0x1b7d9f]['type'];if('InsertOperation'==_0x586cde['__className']){const _0x133168=_0x586cde['position']['root'];!this['_document']['getRoot'](_0x133168)&&(this['_document']['createRoot']('$root',_0x133168)['_isAttached']=!0x1);}const _0x3e16bf=_0x48a87d['fromJSON'](_0x586cde,this['_document']);return _0x3e16bf['wasUndone']=_0x586cde['wasUndone'],_0x3e16bf['_isInit']=_0x29701e,_0x3e16bf['_authorId']=_0x29701e?null:_0x5aca23[_0x1b7d9f]['userId'],_0x3e16bf['_isDisconnection']='cs:removeUser'===_0x5aca23[_0x1b7d9f]['type'],_0x3e16bf['createdAt']=_0x5aca23[_0x1b7d9f]['createdAt'],_0x3e16bf;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x46750c=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x46750c&&_0x46750c['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x2e8a7a,_0x5412b5){for(const _0x2d8294 of _0x2e8a7a)_0x2d8294['baseVersion']=_0x5412b5++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x210026){this['_ignoredOperations']=_0x210026,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1e5c34){let _0x4cbbd4=_0x1e5c34['length'];for(;_0x4cbbd4--;){const _0x1882d9=_0x1e5c34[_0x4cbbd4];if(!this['_ignoredOperations']['has'](_0x1882d9)){if(!this['_operationToId']['has'](_0x1882d9)){const _0x108db7=_0x401110()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1882d9,_0x108db7);}return this['_operationToId']['get'](_0x1882d9);}}}['setIdForTheLastOperation'](_0x3cac63,_0x42cce2){if(!_0x42cce2)return;let _0x5ab31d=_0x3cac63['length'];for(;_0x5ab31d--;){const _0x372c50=_0x3cac63[_0x5ab31d];this['_ignoredOperations']['has'](_0x372c50)||this['_operationToId']['set'](_0x372c50,_0x42cce2);}}}class n extends _0x2d3c3d{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x6e3cec{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x20bf0f)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0xb8f378];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x111dc5){super(_0x111dc5),this['_services']=new Map();}async['init'](){const _0x4a8d04=this['context'],_0x129c9c=_0x4a8d04['plugins']['get']('CommentsRepository');if(_0x4a8d04['plugins']['get'](c)['addToReconnectionStack'](this),_0x129c9c['adapter']={'addCommentThread':async({channelId:_0x5aebef,threadId:_0x22108d,comments:_0x247a37,resolvedAt:_0x4f289e,resolvedBy:_0x432163,context:_0x1112ae,attributes:_0x40ac06})=>{const _0x582699=await this['_getService'](_0x5aebef)['addCommentThread']({'commentThreadId':_0x22108d,'comments':_0x247a37['map'](_0x55d52a=>function(_0xd323c6,_0x16e105,_0x39fdaa){return{'commentThreadId':_0x39fdaa,'commentId':_0xd323c6['commentId'],'userId':_0xd323c6['authorId'],'content':_0xd323c6['content'],'documentId':_0x16e105,'createdAt':_0xd323c6['createdAt'],'attributes':_0xd323c6['attributes']||{}};}(_0x55d52a,_0x5aebef,_0x22108d)),'resolvedAt':_0x4f289e,'resolvedBy':_0x432163,'context':_0x1112ae,'attributes':_0x40ac06})['catch'](ut);return{'threadId':_0x582699['commentThreadId'],'comments':_0x582699['comments']};},'getCommentThread':async({channelId:_0x45fa80,threadId:_0x108283})=>{const _0x157148=await this['_getService'](_0x45fa80)['getCommentThread'](_0x108283)['catch'](ut);return _0x157148['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x157148]),{'threadId':_0x157148['commentThreadId'],'comments':_0x157148['comments']['map'](_),'context':_0x157148['context'],'resolvedAt':_0x157148['resolvedAt'],'resolvedBy':_0x157148['resolvedBy'],'attributes':_0x157148['attributes']||{}});},'updateCommentThread':async({channelId:_0x24dcfd,threadId:_0x41931e,context:_0x361935,unlinkedAt:_0x1f32cc,attributes:_0x22836a})=>this['_getService'](_0x24dcfd)['updateCommentThread']({'commentThreadId':_0x41931e,'context':_0x361935,'attributes':_0x22836a,'unlinkedAt':_0x1f32cc})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x29e630,threadId:_0x4df2eb})=>{const _0x2e2b7e=await this['_getService'](_0x29e630)['resolveCommentThread'](_0x4df2eb)['catch'](S)['catch'](ut);return{'threadId':_0x2e2b7e['commentThreadId'],'resolvedAt':_0x2e2b7e['resolvedAt'],'resolvedBy':_0x2e2b7e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x6633cb,threadId:_0x26e78d})=>this['_getService'](_0x6633cb)['reopenCommentThread'](_0x26e78d)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0x874241,threadId:_0x46d774})=>this['_getService'](_0x874241)['removeCommentThread'](_0x46d774)['catch'](S)['catch'](ut),'addComment':({channelId:_0xed5b60,threadId:_0x5b095e,commentId:_0x523e4c,content:_0x4ac8f2,attributes:_0x9285a2})=>this['_getService'](_0xed5b60)['addComment'](_0x5b095e,_0x523e4c,_0x4ac8f2,_0x9285a2)['catch'](ut),'updateComment':({channelId:_0x232105,threadId:_0x599a5a,commentId:_0x1b8afe,content:_0x4ccaaa,attributes:_0x5ef4fc})=>this['_getService'](_0x232105)['updateComment'](_0x599a5a,_0x1b8afe,_0x4ccaaa,_0x5ef4fc)['catch'](S)['catch'](ut),'removeComment':({channelId:_0x73f578,threadId:_0x41fa3c,commentId:_0x497692})=>this['_getService'](_0x73f578)['removeComment'](_0x41fa3c,_0x497692)['catch'](S)['catch'](ut)},_0x4a8d04 instanceof _0x427df){const _0xa5f47b=_0x4a8d04['config']['get']('collaboration.channelId'),_0x49866b=_0x4a8d04['plugins']['get'](i);await this['_setUpService'](_0xa5f47b);const _0x4c76d7=await this['_services']['get'](_0xa5f47b)['getConnectedSessions']();this['listenTo'](_0x49866b,'sessionAdd:'+_0xa5f47b,(_0x333d94,{session:_0xd99ec6})=>{_0xd99ec6['id']===_0x49866b['mySessionId']&&(_0x333d94['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xd99ec6['permissions'],_0xa5f47b));}),_0x49866b['register'](_0xa5f47b,_0x4c76d7);}}async['_setUpService'](_0x26c4a1){if(this['_services']['has'](_0x26c4a1))throw new _0x42186d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x26c4a1});const _0x3fe41f=this['context']['plugins']['get']('CommentsRepository'),_0x5da069=new a['CommentsService'](_0x26c4a1);this['_services']['set'](_0x26c4a1,_0x5da069),this['listenTo'](_0x5da069,'commentThreadAdded',(_0x5f316f,_0x436b5a)=>{const {commentThreadId:_0xebd85e,documentId:_0x29795c,context:_0x5e4125,attributes:_0x4ef92f,resolvedAt:_0x227d1a,resolvedBy:_0x5dd020,comments:_0x30303e}=_0x436b5a;_0x3fe41f['getCommentThread'](_0xebd85e)||_0x3fe41f['addCommentThread']({'threadId':_0xebd85e,'channelId':_0x29795c,'comments':_0x30303e?_0x30303e['map'](_):[],'context':_0x5e4125,'attributes':_0x4ef92f,'resolvedAt':_0x227d1a,'resolvedBy':_0x5dd020,'isFromAdapter':!0x0});}),this['listenTo'](_0x5da069,'commentThreadUpdated',(_0x1aa0ba,{commentThreadId:_0x5f1a4b,documentId:_0x236490,context:_0x904839,unlinkedAt:_0x1ec780,attributes:_0x134872})=>{_0x3fe41f['getCommentThread'](_0x5f1a4b)&&_0x3fe41f['updateCommentThread']({'threadId':_0x5f1a4b,'channelId':_0x236490,'context':_0x904839,'unlinkedAt':_0x1ec780,'attributes':_0x134872,'isFromAdapter':!0x0});}),this['listenTo'](_0x5da069,'commentThreadResolved',(_0x43994b,{commentThreadId:_0x3164ea,resolvedBy:_0x19cea6,resolvedAt:_0x2dceb7})=>{const _0x5a66e1=_0x3fe41f['getCommentThread'](_0x3164ea);_0x5a66e1&&_0x5a66e1['resolve']({'resolvedBy':_0x19cea6,'resolvedAt':_0x2dceb7,'isFromAdapter':!0x0});}),this['listenTo'](_0x5da069,'commentThreadReopened',(_0x19121a,{commentThreadId:_0x2c687d})=>{const _0x1fcdba=_0x3fe41f['getCommentThread'](_0x2c687d);_0x1fcdba&&_0x1fcdba['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5da069,'commentThreadRemoved',(_0x34d9a6,{commentThreadId:_0x4e6f89})=>{const _0xdc4569=_0x3fe41f['getCommentThread'](_0x4e6f89);_0xdc4569&&_0xdc4569['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5da069,'commentAdded',(_0x187920,_0x120934)=>{const _0x1231c6=_0x120934['commentThreadId'],_0x4a58b7=_0x3fe41f['getCommentThread'](_0x1231c6);_0x4a58b7&&_0x4a58b7['addComment']({..._(_0x120934),'isFromAdapter':!0x0});}),this['listenTo'](_0x5da069,'commentUpdated',(_0x31c919,{commentThreadId:_0x538797,commentId:_0x27cdba,content:_0x2ff7b5,attributes:_0x3101f1})=>{const _0x4e6ccc=_0x3fe41f['getCommentThread'](_0x538797);if(_0x4e6ccc){const _0x432bf9=_0x4e6ccc['getComment'](_0x27cdba);_0x432bf9&&_0x432bf9['update']({'content':_0x2ff7b5,'attributes':_0x3101f1,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5da069,'commentRemoved',(_0x46185a,{commentThreadId:_0x2d4449,commentId:_0x784b1})=>{const _0x598c84=_0x3fe41f['getCommentThread'](_0x2d4449);if(_0x598c84){const _0x285e0b=_0x598c84['getComment'](_0x784b1);_0x285e0b&&_0x285e0b['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x26c4a1);}['destroy'](){if(this['context']instanceof _0x427df){const _0x3c4c94=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x3c4c94);}}['_terminateService'](_0x4beeb0){if(!this['_services']['has'](_0x4beeb0))throw new _0x42186d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4beeb0});this['_getService'](_0x4beeb0)['disconnect'](),this['_services']['delete'](_0x4beeb0);}async['reconnect'](){for(const _0x5bb00c of this['_services']['keys']())await this['_connectService'](_0x5bb00c);if(this['context']instanceof _0x427df){const _0x1e9ab5=this['context']['config']['get']('collaboration.channelId'),_0x2ab12c=this['context']['plugins']['get'](i);_0x2ab12c['unregister'](_0x1e9ab5);const _0x537fd2=await this['_services']['get'](_0x1e9ab5)['getConnectedSessions']();_0x2ab12c['register'](_0x1e9ab5,_0x537fd2);}}async['_connectService'](_0x13aba3){const {connection:_0x45911a}=this['context']['plugins']['get'](c),_0xcafee1=this['context']['plugins']['get']('CommentsRepository'),_0x35329c=this['_services']['get'](_0x13aba3),_0x22af57=await _0x35329c['connect'](_0x45911a);await this['_fetchMissingUsersForThreads'](_0x22af57);const _0xe95199=new Set(Array['from'](_0xcafee1['getCommentThreads']({'channelId':_0x13aba3}),_0x4b3575=>_0x4b3575['id']));for(const _0x50ca11 of _0x22af57)_0x50ca11['deletedAt']||_0xe95199['delete'](_0x50ca11['commentThreadId']);for(const _0x1c5977 of _0xe95199)_0xcafee1['getCommentThread'](_0x1c5977)['remove']({'isFromAdapter':!0x0});for(const _0x225769 of _0x22af57){let _0x5e503d=_0xcafee1['getCommentThread'](_0x225769['commentThreadId']);const {commentThreadId:_0xee6b91,context:_0x157b8f,attributes:_0x1ff237,resolvedBy:_0x40de5b,resolvedAt:_0x39d64d,unlinkedAt:_0x1128d8,deletedAt:_0x3b4a2d}=_0x225769;if(_0x3b4a2d)continue;_0x5e503d||(_0x5e503d=_0xcafee1['addCommentThread']({'channelId':_0x13aba3,'threadId':_0xee6b91,'context':_0x157b8f,'attributes':_0x1ff237||{},'resolvedBy':_0x40de5b,'resolvedAt':_0x39d64d,'unlinkedAt':_0x1128d8,'isFromAdapter':!0x0}));const _0x3711de=new Set(Array['from'](_0x5e503d['comments'],_0x580eea=>_0x580eea['id']));for(const _0x588b18 of _0x225769['comments'])_0x3711de['delete'](_0x588b18['commentId']);for(const _0x2eb3dd of _0x3711de)_0x5e503d['getComment'](_0x2eb3dd)['remove']({'isFromAdapter':!0x0});for(const _0x3d4273 of _0x225769['comments']){const _0x338410=_0x5e503d['getComment'](_0x3d4273['commentId']);_0x338410?_0x338410['content']!==_0x3d4273['content']&&_0x338410['update']({'content':_0x3d4273['content'],'isFromAdapter':!0x0}):_0x5e503d['addComment'](Object['assign'](_(_0x3d4273),{'isFromAdapter':!0x0}));}}}['_getService'](_0x578421){if(!this['_services']['has'](_0x578421))throw new _0x42186d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x578421});return this['_services']['get'](_0x578421);}async['_fetchMissingUsersForThreads'](_0x39cfb1){const _0x4b6d81=this['context']['plugins']['get'](_0xb8f378),{connection:_0x549e10}=this['context']['plugins']['get'](c),_0x28712c=new Set();for(const {resolvedBy:_0x235d6e,comments:_0x320ca9}of _0x39cfb1){_0x235d6e&&!_0x4b6d81['getUser'](_0x235d6e)&&_0x28712c['add'](_0x235d6e);for(const {userId:_0x4ca853}of _0x320ca9)_0x4b6d81['getUser'](_0x4ca853)||_0x28712c['add'](_0x4ca853);}if(0x0===_0x28712c['size'])return;const _0x5147e3=await dt['getMany'](_0x549e10,Array['from'](_0x28712c));for(const _0x468779 of _0x5147e3)_0x4b6d81['getUser'](_0x468779['id'])||_0x4b6d81['addUser'](_0x468779);}}async function S(_0x40529c){if('404'!==_0x40529c['code'])throw _0x40529c;}function ut(_0x4f3b44){if((_0x2d0038=_0x4f3b44)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2d0038['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2d0038['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2d0038;throw _0x4f3b44;}function _(_0x571b37){return{'threadId':_0x571b37['commentThreadId'],'commentId':_0x571b37['commentId'],'content':_0x571b37['content'],'createdAt':_0x571b37['createdAt'],'authorId':_0x571b37['userId'],'attributes':_0x571b37['attributes']||{}};}class f extends _0x2d3c3d{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2c7853){super(_0x2c7853);const _0x34186a=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x34186a);}['init'](){const _0x36271c=this['editor']['plugins']['get'](c),_0x584105=this['editor']['plugins']['get']('TrackChangesEditing');return _0x584105['adapter']={'getSuggestion':async _0x3a26aa=>{await this['_waitForServiceReady']();const _0x571db9=await this['_trackChangesService']['get'](_0x3a26aa)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x571db9]),_0x571db9;},'addSuggestion':async({id:_0x3903e0,type:_0x564ef2,data:_0x5563cc,originalSuggestionId:_0x592b7c,attributes:_0x27c7c2})=>{await this['_waitForServiceReady']();const _0xb86823={'id':_0x3903e0,'type':_0x564ef2,'data':_0x5563cc,'originalSuggestionId':_0x592b7c,'attributes':_0x27c7c2},_0x19b22a=await this['_trackChangesService']['add'](_0x3903e0,_0x564ef2,_0x5563cc,_0x592b7c,_0x27c7c2)['catch'](_0x4aa8f9=>{if(ft(_0x4aa8f9))return new Promise(_0x189327=>{this['_bufferedRequests']['set'](_0x3903e0,{'resolve':_0x189327,'suggestionData':_0xb86823});});throw _0x4aa8f9;});return this['_bufferedRequests']['delete'](_0x3903e0),_0x19b22a;},'updateSuggestion':async(_0x370c0e,_0x2a25c8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2a25c8['state'])return this['_trackChangesService']['update'](_0x370c0e,_0x2a25c8)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1ae932,_0x1dc748)=>{_0x584105['hasSuggestion'](_0x1dc748['id'])&&(_0x584105['getSuggestion'](_0x1dc748['id'])['attributes']=_0x1dc748['attributes']);}),this['_trackChangesService']['connect'](_0x36271c['connection'])['then'](_0x32d4c1=>(_0x36271c['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x32d4c1)['then'](()=>{for(const _0x1a6814 of _0x32d4c1){_0x584105['addSuggestionData'](_0x1a6814)['_saved']=!0x0;}})));}async['reconnect'](){const _0x376b5b=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3097c1}=this['editor']['plugins']['get'](c),_0x3f77c6=await this['_trackChangesService']['connect'](_0x3097c1);await this['_fetchMissingUsersForThreads'](_0x3f77c6);for(const {suggestionData:_0x3961de,resolve:_0x90d0d8}of this['_bufferedRequests']['values']()){let _0x2df5a2=_0x3f77c6['find'](_0x9e9565=>_0x9e9565['id']===_0x3961de['id']);_0x2df5a2||(_0x2df5a2=await this['_trackChangesService']['add'](_0x3961de['id'],_0x3961de['type'],_0x3961de['data'],_0x3961de['originalSuggestionId'])),_0x90d0d8(_0x2df5a2);}for(const _0xba0e03 of _0x3f77c6)_0x376b5b['hasSuggestion'](_0xba0e03['id'])||_0x376b5b['addSuggestionData'](_0xba0e03);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2f62c9=>{this['listenTo'](this['_trackChangesService'],'connected',_0xa90d10=>{_0xa90d10['off'](),_0x2f62c9();});});}async['_fetchMissingUsersForThreads'](_0x1e8277){const _0x12c73f=this['editor']['plugins']['get'](_0xb8f378),{connection:_0x291b50}=this['editor']['plugins']['get'](c),_0x44c79f=new Set();for(const {authorId:_0x47e41a}of _0x1e8277)_0x12c73f['getUser'](_0x47e41a)||_0x44c79f['add'](_0x47e41a);if(0x0===_0x44c79f['size'])return;const _0x246da0=await dt['getMany'](_0x291b50,Array['from'](_0x44c79f));for(const _0x544e9f of _0x246da0)_0x12c73f['getUser'](_0x544e9f['id'])||_0x12c73f['addUser'](_0x544e9f);}}function R(_0x13f10d){if(ft(_0x13f10d))return new Promise(()=>{});throw _0x13f10d;}function ft(_0x40c049){return _0x40c049['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40c049['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x2d3c3d{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x392553=this['editor']['plugins']['get'](c),_0x2eb82e=this['editor']['plugins']['get']('CommentsEditing'),_0x100647=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x392553,'change:state',(_0x178dd5,_0x2a9e0c,_0xebbe2a)=>{_0x2eb82e['isThreadsLoadingPaused']='connected'!==_0xebbe2a;});}),this['listenTo'](_0x392553,'change:state',(_0x1d5c95,_0x34e034,_0x261edf)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x261edf);}),_0x100647['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x2d3c3d{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x2d3c3d{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0xb8f378];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b8e93){super(_0x5b8e93);const _0xbf7f84=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0xbf7f84);}async['init'](){const _0x46f720=this['editor']['plugins']['get'](l),_0x3a879e=_0x46f720['serverHistory'],_0x22553f=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3a879e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x46f720['sessionId']});const _0x2c9ebb=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x2e04d6=await tt['isBundleUploaded'](_0x22553f['connection'],_0x2c9ebb);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x16df4f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x16df4f)),'updateRevisions':async _0xb9e078=>{await this['_waitForServiceReady']();const _0xa50f0e=this['_revisionTracker']['currentRevision'];if(_0x2e04d6&&0x1===_0xb9e078['length']&&_0xb9e078[0x0]['id']===_0xa50f0e['id'])return _0xb9e078;for(const _0x3a286b of _0xb9e078)_0x3a286b['id']===_0xa50f0e['id']&&(_0x3a286b['isEmptyCurrent']=_0x3a286b['fromVersion']===_0x3a286b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xb9e078,this['_lastRequestId'])['then'](_0x5c774b=>(this['_lastRequestId']=_0x5c774b,_0xb9e078))['catch'](_0xda3ba1=>{if(st(_0xda3ba1)||'400'===_0xda3ba1['code']&&void 0x0!==_0xda3ba1['data']['wrongRequestId']){for(const _0x51d38e of _0xb9e078){!this['_revisionTracker']['repository']['getRevision'](_0x51d38e['id'])||this['_revisionTracker']['_bufferUpdate'](_0x51d38e['id'],_0x51d38e,!0x1);}if(st(_0xda3ba1))throw _0xda3ba1;return _0xb9e078;}throw _0xda3ba1;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xd297bf,{revisionsData:_0x5f6dac,requestId:_0x417085})=>{Math['max'](..._0x5f6dac['map'](_0x40070b=>_0x40070b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5f6dac,_0x417085);}):this['_handleRevisionsUpdate'](_0x5f6dac,_0x417085);});const {revisions:_0x150b53,requestId:_0xef2f06}=await this['_revisionHistoryService']['connect'](_0x22553f['connection']);_0x22553f['addToReconnectionStack'](this),this['_lastRequestId']=_0xef2f06,await this['_fetchMissingUsers'](_0x150b53);for(const _0x1c6785 of _0x150b53)this['_revisionTracker']['addRevisionData'](_0x1c6785);this['listenTo'](_0x46f720,'change:_isConnected',(_0x1bb490,_0x178042,_0xc1bbdd)=>{_0xc1bbdd&&(this['_oldOffset']=_0x46f720['_offset'],_0x1bb490['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x22553f,'state',_0x351ae7=>_0x351ae7===_0x4e41a1['CONNECTED']);}async['reconnect'](){const _0x5c1baf=this['editor']['plugins']['get'](c),_0x37f83f=this['editor']['plugins']['get'](l),_0x3b9817=async()=>{const _0x41413d=this['_revisionTracker']['currentRevision'],_0x38266e=_0x41413d['id'],_0x16207d=_0x38266e!==_0x37f83f['sessionId'];if(_0x16207d){const _0xaa1a81=_0x37f83f['_offset']-this['_oldOffset'],_0xb792=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x41413d['toVersion']+_0xaa1a81!==_0xb792){const _0x2c3129=_0x41413d['fromVersion']+_0xaa1a81,_0x22555d=this['editor']['plugins']['get'](_0xb8f378),_0x5b55fe=this['_revisionTracker']['buildRevisionData']({'revision':_0x41413d,'from':_0x2c3129,'to':_0xb792});_0x5b55fe['id']=_0x41413d['id'];const _0xdf0332=_0x5b55fe['authorsIds']['map'](_0x108358=>_0x22555d['getUser'](_0x108358));_0x41413d['_update']({..._0x5b55fe,'authors':_0xdf0332},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x41413d['id'],_0x5b55fe,!0x0);}this['_revisionTracker']['_startingVersion']=_0xb792,(_0x41413d['toVersion']===_0x41413d['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x38266e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x38266e),this['_revisionTracker']['_createCurrentRevision'](_0xb792));}const {revisions:_0x2f9b0e,requestId:_0x6021a5}=await this['_revisionHistoryService']['reconnect'](_0x5c1baf['connection'],this['_lastRequestId']);_0x16207d&&_0x2f9b0e['length']>0x0?_0x37f83f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2f9b0e),this['_handleRevisionsUpdate'](_0x2f9b0e,_0x6021a5),this['_revisionTracker']['sendBufferedUpdates']());};return _0x37f83f['_isConnected']?_0x3b9817():new Promise((_0x43594d,_0x3f342a)=>{_0x37f83f['once']('change:_isConnected',()=>{_0x3b9817()['then'](_0x43594d)['catch'](_0x3f342a);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x52bc50=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x483de0=>{_0x483de0['off'](),_0x52bc50();});});}['_getLatestVersionFromServerOperations'](){const _0x2d115c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x238792 of _0x2d115c)if('marker'!==_0x238792['type']||_0x238792['affectsData'])return _0x238792['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4ac4a4=this['editor']['plugins']['get'](l);return new Promise(_0x3a52a8=>{_0x4ac4a4['_isPendingUpdate']?_0x4ac4a4['once']('change:_isPendingUpdate',()=>{_0x3a52a8(this['_getLatestVersionFromServerOperations']());}):_0x3a52a8(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x33f3ee,_0x5f09ca){const _0x22ba26=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5f09ca;for(const _0x51db6a of _0x33f3ee){const _0x44dcef=_0x22ba26['getRevision'](_0x51db6a['id']);if(_0x44dcef){if((_0x51db6a['fromVersion']||_0x51db6a['toVersion'])&&(_0x51db6a['diffData']=null),_0x44dcef===this['_revisionTracker']['currentRevision']){const _0x2bbd47=Math['max'](_0x44dcef['toVersion'],_0x51db6a['toVersion']),_0x45d9e1=Math['max'](_0x44dcef['fromVersion'],_0x51db6a['fromVersion']);let _0x142fda;_0x44dcef['toVersion']===_0x51db6a['toVersion']&&_0x44dcef['fromVersion']===_0x51db6a['fromVersion']?(_0x142fda=!0x0,this['_preventResendingRevisionData'](_0x51db6a)):_0x51db6a['toVersion']===_0x2bbd47&&_0x51db6a['fromVersion']===_0x45d9e1?_0x142fda=!0x1:(_0x44dcef['toVersion']===_0x2bbd47&&_0x44dcef['fromVersion']===_0x45d9e1||this['_fixRevision']({'revision':_0x44dcef,'from':_0x45d9e1,'to':_0x2bbd47}),_0x142fda=!0x0),_0x142fda&&(delete _0x51db6a['fromVersion'],delete _0x51db6a['toVersion'],delete _0x51db6a['diffData'],delete _0x51db6a['createdAt'],delete _0x51db6a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x51db6a),this['_preventResendingRevisionData'](_0x51db6a);}else this['_revisionTracker']['addRevisionData'](_0x51db6a);}const _0x45c155=_0x22ba26['getRevisions']();_0x45c155['reverse']();for(let _0x3e7dfe=0x0;_0x3e7dfe<_0x45c155['length']-0x1;_0x3e7dfe++){const _0x370b7b=_0x45c155[_0x3e7dfe],_0xf9bed9=_0x45c155[_0x3e7dfe+0x1];if(_0x370b7b['fromVersion']<_0xf9bed9['toVersion']){const _0x309730=_0xf9bed9['toVersion'],_0x374caa=Math['max'](_0x309730,_0x370b7b['toVersion']);this['_fixRevision']({'revision':_0x370b7b,'from':_0x309730,'to':_0x374caa});}}}['_fixRevision']({revision:_0x1d8ea8,from:_0x155e19,to:_0x2225b1}={}){const _0xda001d=this['editor']['plugins']['get'](_0xb8f378),_0x85a321=this['_revisionTracker']['buildRevisionData']({'revision':_0x1d8ea8,'from':_0x155e19,'to':_0x2225b1});_0x85a321['authors']=_0x85a321['authorsIds']['map'](_0x23ae3=>_0xda001d['getUser'](_0x23ae3)),_0x1d8ea8['_update'](_0x85a321);}['_preventResendingRevisionData'](_0x14687a){const _0x32fb61={};_0x32fb61['id']=_0x14687a['id'];for(const _0x16f65f of Object['keys'](_0x14687a))'id'!==_0x16f65f&&(_0x32fb61[_0x16f65f]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x32fb61['id'],_0x32fb61,!0x0);}async['_fetchMissingUsers'](_0x4a24cc){const _0x24b84d=this['editor']['plugins']['get'](_0xb8f378),{connection:_0x3c1191}=this['editor']['plugins']['get'](c),_0x351138=new Set();for(const _0x2cae3d of _0x4a24cc){for(const _0x54e07e of _0x2cae3d['authorsIds'])_0x59d5a1(_0x54e07e);_0x2cae3d['creatorId']&&_0x59d5a1(_0x2cae3d['creatorId']);}if(0x0===_0x351138['size'])return;const _0x5d6d80=await dt['getMany'](_0x3c1191,Array['from'](_0x351138));for(const _0x25b493 of _0x5d6d80)_0x24b84d['getUser'](_0x25b493['id'])||_0x24b84d['addUser'](_0x25b493);function _0x59d5a1(_0x137f44){_0x24b84d['getUser'](_0x137f44)||_0x351138['add'](_0x137f44);}}}function st(_0x41a610){return _0x41a610['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x41a610['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x41a610['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2d3c3d{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x1f1e81{['_collapseAt'];constructor(_0x503896,_0x2dc319=0x6){super(_0x503896);const _0x59b92b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2dc319,this['bind']('isHidden')['to'](this,'usersCount',_0x800baf=>_0x800baf<_0x2dc319),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x59b92b['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':_0x59b92b['to']('usersCount',_0x37a4ac=>'+'+(_0x37a4ac-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x1f1e81{['items'];['keystrokes'];constructor(_0x15dfad){super(_0x15dfad);const _0x4a6fdf=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5b08a7(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4a6fdf['if']('hasPopup'),'aria-expanded':_0x4a6fdf['to']('isExpanded',_0x275de3=>this['hasPopup']&&String(_0x275de3)),'aria-label':_0x4a6fdf['to']('hasPopup',_0x6744ab=>G(_0x15dfad,_0x6744ab?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4a6fdf['to']('hasPopup',_0x4f0a29=>!!_0x4f0a29&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4a6fdf['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4a6fdf['to'](_0x2dea86=>{const _0x547f99=_0x2dea86,_0x50da7e=document['querySelector']('.ck-presence-list__dropdown-list'),_0x523eee=document['querySelector']('.ck-balloon-panel_with-arrow');_0x50da7e?.['contains'](_0x547f99['relatedTarget'])||_0x523eee?.['contains'](_0x547f99['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x53e7c6,_0x55b847,_0x474e06)=>{this['element']&&(_0x474e06?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 j extends _0x1f1e81{['counterView'];['inlineListView'];constructor(_0x1c3ce0,_0x39d106=0x6){super(_0x1c3ce0);const _0x48aa51=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x39d106),this['inlineListView']=new ts(_0x1c3ce0),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x392a50 of this['inlineListView']['items'])_0x392a50['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',_0x48aa51['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x1f1e81{['listWrapperView'];constructor(_0x5f4eb1,_0x497614){super(_0x5f4eb1);const _0x5b7b65=this['bindTemplate'];this['listWrapperView']=new mt(_0x5f4eb1,_0x497614),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x5f4eb1,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5b7b65['to'](_0x24a702=>{const _0x153ffd=_0x24a702,_0xdb3dd5=document['querySelector']('.ck-presence-list__list'),_0x476934=document['querySelector']('.ck-balloon-panel_with-arrow');_0xdb3dd5?.['contains'](_0x153ffd['relatedTarget'])||_0x476934?.['contains'](_0x153ffd['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x2837ad{constructor(_0x936546,_0x2fe4a8){super(_0x936546);const _0x220eb3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2fe4a8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x220eb3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x220eb3['to']('role'),'aria-label':_0x220eb3['to']('ariaLabel'),'aria-labelledby':_0x220eb3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x17d00d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xd2c7a9=this['element'];_0xd2c7a9&&(this['_isScrollable']=Math['max'](_0xd2c7a9['scrollHeight'],_0xd2c7a9['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x10d4a7,_0x4fc489,_0xa594ab){super(_0x10d4a7);const _0x339187=this['bindTemplate'];this['userView']=new ct(_0x10d4a7,_0x4fc489);const _0x205c6d={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4fc489['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4fc489['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4fc489['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0xa594ab&&(_0x205c6d['tag']='button',_0x205c6d['on']={'click':_0x339187['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x205c6d);}['focus'](){this['element']['focus']();}}class y extends _0x1f1e81{['userView'];['markerView'];constructor(_0xf20989,_0x355cf3,_0x25d65a){super(_0xf20989);const _0x284fd5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0xf20989,_0x355cf3),this['markerView']=new at(_0xf20989,_0x355cf3);const _0x22c8a1=new ot(_0xf20989);_0x22c8a1['template']['tag']='span',_0x22c8a1['text']=_0x355cf3['name'];const _0x27532a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x284fd5['to']('isFocusable',_0x47a759=>!!_0x47a759&&0x0),'aria-labelledby':_0x22c8a1['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x284fd5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x284fd5['to']('hasTooltip',_0x2c2a5d=>!_0x2c2a5d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x22c8a1]};_0x25d65a&&(_0x27532a['tag']='button',_0x27532a['on']={'click':_0x284fd5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x27532a);}}class at extends _0x1f1e81{constructor(_0x21f685,_0x17f799){super(_0x21f685),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x17f799['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x6e3cec{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x274153){super(_0x274153),this['context']['config']['define']('presenceList',C);const _0x360400=_0x274153['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x360400)throw new _0x42186d('presencelist-collapseat-invalid-format',this);if(_0x360400<0x1)throw new _0x42186d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2fd983(),this['balloonPanelView']=new _0x53a00a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x1bdb5f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1bdb5f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4600d6,_0x26b076)=>{this['_handleUserAdd'](_0x26b076);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x75c088,_0x618851)=>{this['_handleUserRemove'](_0x618851);});}['_createView'](){const _0x42c3fd=this['context'],_0x5505e5=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5d0890=this['balloonPanelView'];if(!_0x35aebf(_0x42c3fd['config']['get']('presenceList.container')))throw new _0x42186d('presencelist-missing-container',this);return _0x5505e5['counterView']['bind']('usersCount')['to'](this),_0x5505e5['bind']('isCollapsed')['to'](this,'usersCount',_0xcf84a=>{const {collapseAt:_0x186013}=_0x42c3fd['config']['get']('presenceList'),_0xcf0ded=_0xcf84a>=_0x186013;if(_0xcf0ded&&!_0x5505e5['inlineListView']['items']['find'](_0x405e37=>_0x405e37 instanceof A)){const _0x1abf47=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1abf47&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5505e5['inlineListView']['items']['add'](_0x5505e5['counterView']);}return _0xcf0ded||this['hideDropdown'](),_0xcf0ded;}),_0x5505e5['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x31e29c=>{const _0x42a6df=_0x42c3fd['config']['get']('presenceList'),_0x3565bc=new y(_0x42c3fd['locale'],_0x31e29c,!!_0x42a6df['onClick']);return _0x3565bc['bind']('hasTooltip')['to'](_0x5505e5,'isCollapsed',_0x1a7223=>!_0x1a7223),_0x3565bc['bind']('isFocusable')['to'](_0x5505e5,'isCollapsed',_0x4cf586=>!_0x4cf586),_0x42a6df['onClick']&&this['listenTo'](_0x3565bc,'execute',()=>{this['view']['isCollapsed']||_0x42a6df['onClick'](_0x31e29c,_0x3565bc['element']);}),_0x3565bc;}),this['listenTo'](_0x5505e5['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5505e5['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5505e5['inlineListView']['keystrokes']['set']('Enter',(_0x23c6ba,_0x3b5f8f)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3b5f8f());}),_0x5505e5['render'](),_0x5d0890['render'](),_0x3527e1({'emitter':_0x5505e5,'activator':()=>_0x5d0890['isVisible'],'contextElements':[_0x5d0890['element'],_0x5505e5['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42c3fd['config']['get']('presenceList.container')['appendChild'](_0x5505e5['element']),this['_bodyCollection']=new _0x30db24(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5505e5;}['_handleUserAdd'](_0x39c82f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x39c82f['isMe'])return;const _0x2cd6dd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2cd6dd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4d44a9=_0x39c82f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x39c82f,_0x4d44a9);}['_handleUserRemove'](_0x1dbdd0){this['usersCount']--;const {collapseAt:_0x10365c}=this['context']['config']['get']('presenceList'),_0x298450=this['usersCount']>=_0x10365c;if(this['currentDisplayedUsers']['get'](_0x1dbdd0['id']))this['currentDisplayedUsers']['remove'](_0x1dbdd0['id']);else{if(_0x298450&&this['currentDisplayedUsers']['length']+0x1===_0x10365c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x298450?0x1:0x0)<this['usersCount']){for(const _0x5cf579 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5cf579['id'])&&(this['currentDisplayedUsers']['add'](_0x5cf579,Math['min'](this['currentDisplayedUsers']['length']-(_0x298450?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x298450?0x1:0x0)===_0x10365c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x3e95c7=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0x3e95c7['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x10f869}=this['presenceDropdownView'];_0x10f869['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x455d5d=>{if(!_0x3e95c7['displayMe']&&_0x455d5d['isMe'])return null;const _0x1c11df=new k(this['context']['locale'],_0x455d5d,!!_0x3e95c7['onClick']);return _0x3e95c7['onClick']&&this['listenTo'](_0x1c11df,'execute',()=>{_0x3e95c7['onClick'](_0x455d5d,_0x1c11df['element']);}),_0x1c11df;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x10f869['focus'](),_0x10f869['checkIfScrollable']();const _0x1940b8=(_0x1e07e0,_0x22b564)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x22b564();};_0x10f869['keystrokes']['set']('Esc',_0x1940b8),_0x10f869['keystrokes']['set']('Shift+Tab',_0x1940b8),_0x10f869['keystrokes']['set']('Tab',(_0x40ca84,_0x97fc46)=>{!function(_0x35754c){const _0x2e249e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1a3f85=>_0x1a3f85+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x168db5=[...document['body']['querySelectorAll'](_0x2e249e)]['filter'](_0xaac535=>_0xaac535===document['activeElement']||_0xaac535['offsetWidth']+_0xaac535['offsetHeight']>0x0)['sort']((_0x9f10ed,_0x211b55)=>(_0x9f10ed['tabIndex']||0x0)-(_0x211b55['tabIndex']||0x0)),_0x2fb4a2=_0x168db5['indexOf'](_0x35754c),_0xf73f95=_0x168db5[(_0x2fb4a2+0x1)%_0x168db5['length']];_0xf73f95&&_0xf73f95['focus']();}(this['view']['element']),this['hideDropdown'](),_0x97fc46();}),_0x10f869['focusTracker']['add'](this['view']['element']),_0x10f869['focusTracker']['on']('change:isFocused',(_0x30a073,_0x256f50,_0x23ebb3)=>{_0x23ebb3||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x6e3cec{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};