@ckeditor/ckeditor5-real-time-collaboration 49.0.0 → 49.1.0-alpha.0

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.
Files changed (85) hide show
  1. package/dist/augmentation.d.ts +2 -1
  2. package/dist/index-editor.css +13 -9
  3. package/dist/index.css +13 -9
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +6 -6
  6. package/dist/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +0 -6
  7. package/dist/realtimecollaborativecomments/utils.d.ts +1 -0
  8. package/dist/realtimecollaborativecomments.d.ts +7 -2
  9. package/dist/realtimecollaborativeediting/realtimecontentfetcher.d.ts +43 -0
  10. package/dist/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +7 -1
  11. package/dist/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +11 -2
  12. package/dist/translations/af.umd.js +1 -1
  13. package/dist/translations/ar.umd.js +1 -1
  14. package/dist/translations/ast.umd.js +1 -1
  15. package/dist/translations/az.umd.js +1 -1
  16. package/dist/translations/be.umd.js +1 -1
  17. package/dist/translations/bg.umd.js +1 -1
  18. package/dist/translations/bn.umd.js +1 -1
  19. package/dist/translations/bs.umd.js +1 -1
  20. package/dist/translations/ca.umd.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.umd.js +1 -1
  23. package/dist/translations/de-ch.umd.js +1 -1
  24. package/dist/translations/de.umd.js +1 -1
  25. package/dist/translations/el.umd.js +1 -1
  26. package/dist/translations/en-au.umd.js +1 -1
  27. package/dist/translations/en-gb.umd.js +1 -1
  28. package/dist/translations/en.umd.js +1 -1
  29. package/dist/translations/eo.umd.js +1 -1
  30. package/dist/translations/es-co.umd.js +1 -1
  31. package/dist/translations/es.umd.js +1 -1
  32. package/dist/translations/et.umd.js +1 -1
  33. package/dist/translations/eu.umd.js +1 -1
  34. package/dist/translations/fa.umd.js +1 -1
  35. package/dist/translations/fi.umd.js +1 -1
  36. package/dist/translations/fr.umd.js +1 -1
  37. package/dist/translations/gl.umd.js +1 -1
  38. package/dist/translations/gu.umd.js +1 -1
  39. package/dist/translations/he.umd.js +1 -1
  40. package/dist/translations/hi.umd.js +1 -1
  41. package/dist/translations/hr.umd.js +1 -1
  42. package/dist/translations/hu.umd.js +1 -1
  43. package/dist/translations/hy.umd.js +1 -1
  44. package/dist/translations/id.umd.js +1 -1
  45. package/dist/translations/it.umd.js +1 -1
  46. package/dist/translations/ja.umd.js +1 -1
  47. package/dist/translations/jv.umd.js +1 -1
  48. package/dist/translations/kk.umd.js +1 -1
  49. package/dist/translations/km.umd.js +1 -1
  50. package/dist/translations/kn.umd.js +1 -1
  51. package/dist/translations/ko.umd.js +1 -1
  52. package/dist/translations/ku.umd.js +1 -1
  53. package/dist/translations/lt.umd.js +1 -1
  54. package/dist/translations/lv.umd.js +1 -1
  55. package/dist/translations/ms.umd.js +1 -1
  56. package/dist/translations/nb.umd.js +1 -1
  57. package/dist/translations/ne.umd.js +1 -1
  58. package/dist/translations/nl.umd.js +1 -1
  59. package/dist/translations/no.umd.js +1 -1
  60. package/dist/translations/oc.umd.js +1 -1
  61. package/dist/translations/pl.umd.js +1 -1
  62. package/dist/translations/pt-br.umd.js +1 -1
  63. package/dist/translations/pt.umd.js +1 -1
  64. package/dist/translations/ro.umd.js +1 -1
  65. package/dist/translations/ru.umd.js +1 -1
  66. package/dist/translations/si.umd.js +1 -1
  67. package/dist/translations/sk.umd.js +1 -1
  68. package/dist/translations/sl.umd.js +1 -1
  69. package/dist/translations/sq.umd.js +1 -1
  70. package/dist/translations/sr-latn.umd.js +1 -1
  71. package/dist/translations/sr.umd.js +1 -1
  72. package/dist/translations/sv.umd.js +1 -1
  73. package/dist/translations/th.umd.js +1 -1
  74. package/dist/translations/ti.umd.js +1 -1
  75. package/dist/translations/tk.umd.js +1 -1
  76. package/dist/translations/tr.umd.js +1 -1
  77. package/dist/translations/tt.umd.js +1 -1
  78. package/dist/translations/ug.umd.js +1 -1
  79. package/dist/translations/uk.umd.js +1 -1
  80. package/dist/translations/ur.umd.js +1 -1
  81. package/dist/translations/uz.umd.js +1 -1
  82. package/dist/translations/vi.umd.js +1 -1
  83. package/dist/translations/zh-cn.umd.js +1 -1
  84. package/dist/translations/zh.umd.js +1 -1
  85. package/package.json +13 -13
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x528c5a,ContextPlugin as _0x573424,PendingActions as _0x3427cf,Plugin as _0x3b0285}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x1f4bac,Collection as _0xe27579,DomEmitterMixin as _0x16ac06,KeystrokeHandler as _0xf89fc5,getOverlayMountRoot as _0x1a0178,global as _0x2de15f,trustedHtml as _0x35ebe6,uid as _0x5a3f6c,version as _0x3ee978}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x364ce9,LabelView as _0x3c3eed,ListItemView as _0xf2227d,ListView as _0x4e0adb,Notification as _0x2e8fab,OverlayHost as _0x4ce28e,View as _0x2aa6e7,clickOutsideHandler as _0x18eeb2}from'@ckeditor/ckeditor5-ui';import{History as _0x1be3af,InsertOperation as _0x4c8305,MarkerOperation as _0x43552f,ModelLiveRange as _0x7a0909,NoOperation as _0x12872d,OperationFactory as _0x1ea669,RootAttributeOperation as _0x439da5,transformOperationSets as _0x218fdf}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x5ec7db}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x1539b1,CommentsService as _0x5bb917,EditorService as _0x48db14,RevisionHistoryService as _0x4d5139,TrackChangesService as _0x53868b,User as _0x3317f4,WEB_SOCKET_GATEWAY_STATES as _0x3f3bfc,WebSocketGateway as _0x51ae80}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x3ee386,Users as _0x5a638a,isPointerStillOver as _0x22725e}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x25fc3d}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2ac1a8,TrackChangesEditing as _0x1570ae}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x47a9b6,CommentsEditing as _0x288390,CommentsRepository as _0x195514}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x210853}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x5b48c6}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x573424{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
- ((()=>_0x51ae80)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x5ec7db,_0x2e8fab];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x13c71d){super(_0x13c71d),this['set']('state',_0x3f3bfc['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x16ac06())();}init(){const _0x553a39=this['context'],_0x14e7e5=_0x553a39['plugins']['get'](_0x5ec7db),_0x4ad2ff=_0x553a39['plugins']['get'](_0x2e8fab);if(!_0x14e7e5['token'])throw new _0x1f4bac('websocketgateway-missing-token',this);if(!_0x14e7e5['webSocketUrl'])throw new _0x1f4bac('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),WebSocketGateway['WebSocketGateway']['connect'](_0x14e7e5['token'],_0x14e7e5['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2bde95=>{if(this['connection']=_0x2bde95,this['bind']('state')['to'](_0x2bde95,'state',this,'_isBrowserOffline',(_0x464163,_0x24f414)=>('connected'!==_0x464163&&(this['_shouldPluginsReconnect']=!0x0),_0x24f414||_0x464163!==_0x3f3bfc['CONNECTED']?_0x3f3bfc['DISCONNECTED']:this['state']==_0x3f3bfc['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3f3bfc['CONNECTING']):_0x3f3bfc['CONNECTED'])),this['connection']['on']('error',(_0x9cd024,_0x12ff5d)=>{if('limitExceeded'!==_0x12ff5d['code'])throw console['error'](_0x12ff5d),new _0x1f4bac('cloudservices-init',null,{'originalError':_0x12ff5d});_0x4ad2ff['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'});}),!_0x2bde95['me'])return new Promise(_0x1b6186=>_0x2bde95['on']('change:me',_0x1b6186));})['catch'](_0xd6d5b0=>{throw console['error'](_0xd6d5b0),new _0x1f4bac('cloudservices-init',null,{'originalError':_0xd6d5b0});});}addToReconnectionStack(_0x3fe995){if('function'!=typeof _0x3fe995['reconnect'])throw new _0x1f4bac('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3fe995))throw new _0x1f4bac('websocketgateway-plugin-already-registered',this,{'name':_0x3fe995['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3fe995);}removeFromReconnectionStack(_0x38e846){this['_reconnectionStack']['delete'](_0x38e846);}isInReconnectionStack(_0x2e5eb2){return this['_reconnectionStack']['has'](_0x2e5eb2);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x46304d=>_0x46304d['reconnect']())))['then'](()=>this['state']=_0x3f3bfc['CONNECTED'])['catch'](_0x380cee=>{throw console['error'](_0x380cee),new _0x1f4bac('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3f3bfc['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x573424{['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[J,_0x5a638a];}constructor(_0x1af4de){super(_0x1af4de),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe27579(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5a638a);}init(){const _0x3665a1=this['context']['plugins']['get'](J);this['listenTo'](_0x3665a1,'change:state',(_0x2d5858,_0x9ed038,_0x4bc775)=>{if('connected'!==_0x4bc775)this['channelSessions']['forEach'](_0x3e188c=>_0x3e188c['clear']()),this['channelConnectedUsers']['forEach'](_0x5ce4e7=>_0x5ce4e7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x43f377,_0x165144]of this['_registeredSessions'])for(const _0x415eb6 of _0x165144)this['_handleSessionAdd'](_0x43f377,_0x415eb6);}}),this['_createUser'](_0x3665a1['connection']['me'],!0x0);}register(_0x8fa838,_0x204871){if(this['_registeredSessions']['has'](_0x8fa838))throw new _0x1f4bac('sessions-register-already-registered',null,{'channelId':_0x8fa838});this['_registeredSessions']['set'](_0x8fa838,_0x204871),this['channelSessions']['set'](_0x8fa838,new _0xe27579()),this['channelConnectedUsers']['set'](_0x8fa838,new _0xe27579()),this['listenTo'](_0x204871,'add',(_0x3dac15,_0xe92170)=>this['_handleSessionAdd'](_0x8fa838,_0xe92170)),this['listenTo'](_0x204871,'remove',(_0x466bfd,_0x22b77e)=>this['_handleSessionRemove'](_0x8fa838,_0x22b77e));for(const _0x406e7c of _0x204871)this['_handleSessionAdd'](_0x8fa838,_0x406e7c);}unregister(_0x32ff80){if(!this['_registeredSessions']['has'](_0x32ff80))throw new _0x1f4bac('sessions-unregister-not-exist',null,{'channelId':_0x32ff80});const _0x4ece0c=this['_registeredSessions']['get'](_0x32ff80);this['stopListening'](_0x4ece0c);for(const _0x222488 of _0x4ece0c)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x32ff80,_0x222488);this['_registeredSessions']['delete'](_0x32ff80),this['channelSessions']['delete'](_0x32ff80),this['channelConnectedUsers']['delete'](_0x32ff80);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x40e215){for(const _0x5910e6 of this['channelSessions']['values']())for(const _0x2969b4 of _0x5910e6)if(_0x2969b4['id']===_0x40e215)return _0x2969b4['user'];}getUserSessions(_0xe5cb8e,_0x31929a){const _0x31d39e=_0x31929a?[this['channelSessions']['get'](_0x31929a)]:this['channelSessions']['values'](),_0x554bdb=new Set();for(const _0x169376 of _0x31d39e)for(const _0x5ee14b of _0x169376)_0x5ee14b['user']['id']===_0xe5cb8e['id']&&_0x554bdb['add'](_0x5ee14b['id']);return _0x554bdb;}getUserRole(_0x8e9d9){for(const _0x1a1b4d of this['channelSessions']['values']())for(const _0x38a8b8 of _0x1a1b4d)if(_0x38a8b8['user']===_0x8e9d9)return _0x38a8b8['role'];}['_handleSessionAdd'](_0x3568a2,_0x1fe055){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x275cc3=_0x1fe055['user'],_0x144ff9=this['_users']['getUser'](_0x275cc3['id'])||this['_createUser'](_0x275cc3),_0x343bad=Object['assign']({},_0x1fe055,{'user':_0x144ff9});if(this['channelSessions']['get'](_0x3568a2)['add'](_0x343bad),!_0x275cc3['hiddenInPresenceList']){const _0x38521d=this['channelConnectedUsers']['get'](_0x3568a2);_0x38521d['has'](_0x144ff9['id'])||_0x38521d['add'](_0x144ff9),this['allConnectedUsers']['has'](_0x144ff9['id'])||_0x275cc3['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x144ff9,_0x144ff9['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3568a2,{'channelId':_0x3568a2,'session':_0x343bad});}['_handleSessionRemove'](_0x22694e,_0x2bd076){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x66eceb=this['channelConnectedUsers']['get'](_0x22694e),_0x25bd54=_0x2bd076['user'];_0x25bd54['id']&&(this['channelSessions']['get'](_0x22694e)['remove'](_0x2bd076['id']),_0x66eceb['has'](_0x25bd54['id'])&&!this['getUserSessions'](_0x25bd54,_0x22694e)['size']&&_0x66eceb['remove'](_0x25bd54['id']),this['allConnectedUsers']['get'](_0x25bd54['id'])&&!this['getUserSessions'](_0x25bd54)['size']&&this['allConnectedUsers']['remove'](_0x25bd54['id']));}_createUser(_0x11b527,_0x1479bd){const _0x1f3ca4=this['_users']['addUser'](_0x11b527);return _0x1479bd&&this['_users']['defineMe'](_0x11b527['id']),_0x1f3ca4['orderNumber']=this['_uniqueUsersCount']++,_0x1f3ca4;}},X=class extends _0x3b0285{_domEmitter=new(_0x16ac06())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x320dec=this['editor'],_0x31e10b=_0x320dec['plugins']['get'](Q);_0x320dec['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x37c871,{writer:_0x4e2857})=>function(_0x4c16b6,_0x25d7c9,_0x2a2f2f,_0x4e2c66){const _0x53b803=_0x4c16b6['markerName']['split'](':')[0x2],_0x465fd5=_0x2a2f2f['getUserBySessionId'](_0x53b803);if(!_0x465fd5||_0x53b803===_0x2a2f2f['mySessionId'])return;if(!_0x4e2c66['model']['schema']['checkChild'](_0x4c16b6['markerRange']['start'],'$text'))return;const _0x3ded2e={'class':'ck-user__marker\x20'+_0x465fd5['color']['getMarkerClass'](),'style':tt(_0x465fd5),'data-name':_0x465fd5['name'],'data-session-id':_0x53b803},_0x32c511=_0x4e2c66['model']['markers']['get'](_0x4c16b6['markerName'])['getStart'](),_0x5447bf=_0x32c511['nodeAfter'],_0x30a1fc=_0x4e2c66['model']['schema'];if(_0x5447bf&&_0x30a1fc['isObject'](_0x5447bf)&&_0x30a1fc['isInline'](_0x5447bf)&&!_0x4e2c66['model']['markers']['get']('user:range:'+_0x53b803)['getRange']()['isCollapsed'])return;const _0x36a8be=_0x32c511['parent'];return _0x4e2c66['model']['schema']['isLimit'](_0x36a8be)&&!_0x4e2c66['model']['hasContent'](_0x36a8be)&&(_0x3ded2e['contenteditable']=!0x1),function(_0x435404,_0x52f8b2,_0x4d459e){const _0x3066c8=_0x435404['createUIElement']('span',_0x52f8b2);return _0x435404['setCustomProperty']('userPositionMarker',!0x0,_0x3066c8),_0x3066c8['render']=function(_0x151441){const _0x4511ce=this['toDomElement'](_0x151441),_0x1ce532=document['createElement']('span');return _0x1ce532['classList']['add']('ck-user__marker-tooltip'),_0x1ce532['setAttribute']('contenteditable','false'),_0x1ce532['setAttribute']('spellcheck','false'),_0x1ce532['textContent']=_0x4d459e['name'],_0x4511ce['innerHTML']=_0x35ebe6('⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1ce532['outerHTML']+'⁠'),_0x4511ce['addEventListener']('mouseenter',()=>{_0x4511ce['classList']['add']('ck-user__marker_hovered');}),_0x4511ce['addEventListener']('mouseleave',()=>{_0x4511ce['classList']['remove']('ck-user__marker_hovered');}),_0x4511ce;},_0x3066c8['isSimilar']=function(_0x2d6921){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2d6921['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2d6921['getAttribute']('data-session-id'));},_0x3066c8;}(_0x25d7c9,_0x3ded2e,_0x465fd5);}(_0x37c871,_0x4e2857,_0x31e10b,_0x320dec)}),_0x320dec['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x480563=>function(_0x10b3fb,_0x238c7c){const _0x146459=_0x10b3fb['markerName']['split'](':')[0x2];if(_0x146459===_0x238c7c['mySessionId'])return null;const _0x4cb184=_0x238c7c['getUserBySessionId'](_0x146459);return _0x4cb184?{'id':_0x146459,'classes':['ck-user__selection',_0x4cb184['color']['getSelectionClass']()],'attributes':{'style':tt(_0x4cb184),'data-session-id':_0x146459},'priority':0x7d0+_0x4cb184['orderNumber']}:{'id':_0x146459,'classes':[]};}(_0x480563,_0x31e10b)}),function(_0x491c91){const _0x2e736b=_0x491c91['model'],_0x2a1225=new Map(),_0x57c29c=_0x491c91['plugins']['get'](Q);_0x2e736b['markers']['on']('update:user:range',(_0x1d3634,_0x5e3340,_0x230979,_0x196243)=>{if(!_0x196243&&_0x2a1225['get'](_0x5e3340['name']))return _0x2a1225['get'](_0x5e3340['name'])['detach'](),void _0x2a1225['delete'](_0x5e3340['name']);const _0x57e478=_0x5e3340['name']['split'](':')[0x2];if(_0x57e478===_0x57c29c['mySessionId'])return;const _0x2b1938='user:position:'+_0x57e478;_0x2e736b['markers']['has'](_0x2b1938)&&_0x491c91['editing']['reconvertMarker'](_0x2b1938),_0x5e3340['on']('change:range',(_0x658b52,_0x15f9bf,_0xa81246)=>{if('$graveyard'!=_0x15f9bf['root']['rootName']&&'$graveyard'==_0x5e3340['getRange']()['root']['rootName']&&!_0x2a1225['has'](_0x5e3340['name'])){const _0x4e5525=_0x2e736b['schema']['getNearestSelectionRange'](_0xa81246['deletionPosition']);if(_0x4e5525){const _0x1a30ff=_0x7a0909['fromRange'](_0x4e5525);_0x2a1225['set'](_0x5e3340['name'],_0x1a30ff),_0x1a30ff['on']('change:range',(_0x304720,_0x1ba529,_0x2f84c2)=>{if('$graveyard'==_0x1a30ff['root']['rootName']){const _0x268ffb=_0x2e736b['schema']['getNearestSelectionRange'](_0x2f84c2['deletionPosition']);_0x268ffb?(_0x1a30ff['start']=_0x268ffb['start'],_0x1a30ff['end']=_0x268ffb['end']):(_0x2a1225['delete'](_0x5e3340['name']),_0x1a30ff['detach']());}});}}});}),_0x2e736b['document']['on']('change',()=>{_0x2a1225['size']>0x0&&_0x2e736b['enqueueChange']({'isUndoable':!0x1},_0x4f35a1=>{for(const [_0x497b4d,_0x2d0bc0]of _0x2a1225)'$graveyard'==_0x2e736b['markers']['get'](_0x497b4d)['getRange']()['root']['rootName']&&(Z(_0x497b4d['split'](':')[0x2],_0x2d0bc0['toRange'](),_0x2e736b,_0x4f35a1),_0x2d0bc0['detach']());_0x2a1225['clear']();});});}(_0x320dec),this['_domEmitter']['listenTo'](_0x2de15f['document'],'keydown',(_0x474880,{key:_0x171210})=>{'Escape'===_0x171210&&function(_0x1b1b5d){_0x1b1b5d['editing']['view']['change'](_0x39899e=>{for(const _0x2fd38f of _0x1b1b5d['model']['markers']){if(!_0x2fd38f['name']['startsWith']('user:position'))continue;const _0x49758b=_0x1b1b5d['editing']['mapper']['markerNameToElements'](_0x2fd38f['name']);if(_0x49758b){for(const _0x1656d7 of _0x49758b)_0x39899e['removeClass']('ck-user__marker_hovered',_0x1656d7);}}});}(_0x320dec);},{'useCapture':!0x0});}afterInit(){const _0x1f80ad=this['editor'],_0x4e312e=_0x1f80ad['commands']['get']('undo');_0x4e312e&&_0x1f80ad['model']['on']('applyOperation',(_0x23d790,_0x13172c)=>{const _0x193c2d=_0x13172c[0x0];if(!_0x193c2d['isDocumentOperation'])return;if('marker'!=_0x193c2d['type']||!_0x193c2d['name']['startsWith']('user:'))return;const _0x8c6642=_0x193c2d['batch'];_0x4e312e['_createdBatches']['has'](_0x8c6642)&&(_0x193c2d['newRange']=_0x193c2d['oldRange']?_0x1f80ad['model']['createRange'](_0x193c2d['oldRange']['start'],_0x193c2d['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x3a0ff5=this['editor'],_0x3736b2=_0x3a0ff5['model']['document'],_0x152706=_0x3a0ff5['plugins']['get'](Q);_0x3a0ff5['model']['enqueueChange']({'isUndoable':!0x1},_0xb42a7e=>{const _0x3e8d18='user:range:'+_0x152706['mySessionId'],_0x5754cc='user:position:'+_0x152706['mySessionId'],_0x360a76=_0x3a0ff5['model']['markers']['has'](_0x3e8d18);_0x3a0ff5['editing']['view']['hasDomSelection']?Z(_0x152706['mySessionId'],_0x3736b2['selection']['getFirstRange'](),_0x3a0ff5['model'],_0xb42a7e):_0x360a76&&(_0xb42a7e['removeMarker'](_0x3e8d18),_0xb42a7e['removeMarker'](_0x5754cc));});}};function Z(_0x158f03,_0x5906f3,_0x1bc85c,_0x118a13){const _0x5280b2='user:range:'+_0x158f03,_0x2e90c0='user:position:'+_0x158f03,_0x383e37=_0x5906f3['getContainedElement']();let _0x5b4cbf=_0x5906f3['start'];if(_0x383e37&&_0x383e37['is']('element','tableCell')){const _0x558944=function(_0x5ddd7e,_0x12e74c){for(const _0xd7f29f of _0x5ddd7e['getPositions']())if(_0x12e74c['schema']['checkChild'](_0xd7f29f,'$text'))return _0xd7f29f;}(_0x5906f3,_0x1bc85c);_0x558944&&(_0x5b4cbf=_0x558944,_0x5906f3=_0x118a13['createRange'](_0x5b4cbf));}const _0x4c288f=_0x118a13['createRange'](_0x5b4cbf);_0x1bc85c['markers']['has'](_0x5280b2)?(_0x118a13['updateMarker'](_0x5280b2,{'range':_0x5906f3}),_0x118a13['updateMarker'](_0x2e90c0,{'range':_0x4c288f})):(_0x118a13['addMarker'](_0x5280b2,{'range':_0x5906f3,'usingOperation':!0x0}),_0x118a13['addMarker'](_0x2e90c0,{'range':_0x4c288f,'usingOperation':!0x0}));}function tt(_0x43cd73){return'--ck-user-color:'+_0x43cd73['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x43cd73['color']['getColorAlphaVariable']()+';';}function et(_0x490b70,_0x463fd4,_0x328f4f){const _0x52bdec=_0x490b70['t'],t=_0x490b70['t'];switch(_0x463fd4){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 _0x52bdec({'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'},_0x328f4f);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x3b0285{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
- ((()=>_0x1539b1)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x3427cf,_0x5a638a,_0x2e8fab];}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 _0x41174c=this['serverHistory']['getOperations']();for(let _0x71ea30=_0x41174c['length']-0x1;_0x71ea30>=0x0;_0x71ea30--){const _0x5397aa=_0x41174c[_0x71ea30];if(!this['_disconnectionOperations']['has'](_0x5397aa))return _0x5397aa['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x50909a){if(super(_0x50909a),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1be3af(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1f4bac('collaboration-missing-channelid',this);const _0x2c7957=_0x50909a['config']['get']('cloudServices.bundleVersion')||_0x3ee978;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x2c7957,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x25fc3d(),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 rt(this['_disconnectionOperations']);}init(){const _0x130666=this['editor'],_0x160db5=_0x130666['plugins']['get'](_0x5a638a),_0x5b971c=_0x130666['plugins']['get'](J);this['listenTo'](_0x160db5,'getOperationAuthor',(_0x409f93,_0x578aa0)=>{const _0x666b0b=_0x578aa0[0x0];_0x666b0b['_authorId']&&(_0x409f93['return']=_0x160db5['getUser'](_0x666b0b['_authorId']),_0x409f93['stop']()),null===_0x666b0b['_authorId']&&(_0x409f93['return']=null,_0x409f93['stop']());},{'priority':'high'}),this['listenTo'](_0x130666['model']['document']['selection'],'change:range',(_0x386cb7,_0x370d75)=>{_0x370d75['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x130666['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x130666['model']['on']('applyOperation',(_0x12491b,_0x264f2a)=>{const _0xf9ddb2=_0x264f2a[0x0];_0xf9ddb2['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xf9ddb2),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5b971c,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x677c88,_0x18e8e3,_0x53755e)=>'connected'===_0x677c88&&!_0x18e8e3&&!_0x53755e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x130666['disableReadOnlyMode']('rtc-offline'):_0x130666['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x130666['disableReadOnlyMode']('rtc-offline'):_0x130666['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x5579e3=this['editor']['plugins']['get'](Q),_0xcc20c9=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x5579e3['unregister'](this['_channelId']);const _0x309d25=await this['_service']['reconnect'](_0xcc20c9['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x309d25)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x39ed31=await this['_service']['getConnectedSessions']();_0x5579e3['register'](this['_channelId'],_0x39ed31),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x505fb0){if(function(_0x58b789){return'404'===_0x58b789['code'];}(_0x505fb0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4f5d7a){return'409'===_0x4f5d7a['code'];}(_0x505fb0)){const _0x52bc54=et(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'](_0x52bc54);}else{if(!(_0x505fb0 instanceof nt))throw _0x505fb0;this['_handleReconnectionError']();}}}}destroy(){const _0x3b2313=this['editor']['plugins']['get'](J),_0x132a39=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x132a39['channelSessions']['has'](this['_channelId'])&&_0x132a39['unregister'](this['_channelId']),_0x3b2313['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x43cb46){if(this['sessionId']!==_0x43cb46['sessionId']&&this['_lastSyncedOperationId']!==_0x43cb46['lastOperationId'])throw new nt();return this['sessionId']=_0x43cb46['sessionId'],this['_handleServerResponse']([],{..._0x43cb46,'wereChangesApplied':!0x1,'data':_0x43cb46['data']},'reconnect');}async _connectService(_0x538e50,_0x1565ea=!0x1){const {connection:_0x4c5595}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x4c5595,this['_channelId'])['then'](_0x129032=>this['_initSessionsHandling'](_0x129032))['catch'](_0x1c58ba=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1c58ba);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5d6465,_0x537fcb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x537fcb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x266514=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x538e50);this['_isPendingUpdate']=!0x0;const _0x2ee0fb=await this['_service']['connect'](_0x4c5595,this['_compressOperations'](_0x538e50),_0x266514);if(this['sessionId']=_0x2ee0fb['sessionId'],_0x1565ea){if(!_0x2ee0fb['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2ee0fb['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x538e50,_0x2ee0fb,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2ee0fb,_0x538e50);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x4a575a=this['editor']['plugins']['get'](Q),_0x5cf382=this['editor']['plugins']['get'](X),_0x3e41d6=_0x4a575a['channelSessions']['get'](this['_channelId']);_0x3e41d6&&_0x3e41d6['length']>0x1?_0x5cf382['createUserMarkerOperations']():this['listenTo'](_0x4a575a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4a575a['channelSessions']['get'](this['_channelId'])['length']&&_0x5cf382['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x330efa,_0x354474,_0x19060c,_0x3e8387){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x354474){const _0x561e64=this['_decompressOperations'](_0x19060c,_0x3e8387);await this['_fetchMissingUsers'](_0x561e64),this['_handleExternalOperations'](_0x561e64,_0x354474,_0x19060c['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x1cd7b0}=this['editor'];let _0x45c1c6;try{_0x45c1c6=await this['_service']['getDocumentDetails']();}catch{const _0x3580ba=et(_0x1cd7b0,'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'](_0x3580ba);}const _0x243032=_0x45c1c6['currentDocumentSession']||_0x45c1c6['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x243032['lastOperationId']){const _0x10b516=et(_0x1cd7b0,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x10b516);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x267b98=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x267b98['connection']||'connected'!==_0x267b98['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x506150=this['editor']['plugins']['get'](Q);_0x506150['channelSessions']['has'](this['_channelId'])&&_0x506150['unregister'](this['_channelId']),_0x267b98['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x4e696d){const _0x40f982=this['editor']['plugins']['get'](Q);this['listenTo'](_0x40f982,'sessionAdd:'+this['_channelId'],(_0x10f7ff,{session:_0xdc8b2b})=>{if(_0xdc8b2b['id']===_0x40f982['mySessionId']){_0x10f7ff['off']();const _0x5b0765=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x274597=_0xdc8b2b['permissions'];_0x5b0765&&_0x5b0765['isEnabled']&&(_0x274597=_0x274597['filter'](_0x4f0b80=>'document:write'!==_0x4f0b80)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x274597,this['_channelId']);}}),_0x40f982['register'](this['_channelId'],_0x4e696d);}_initThrowingOnDataSet(){const _0x1a7e8d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x29c12f)=>{if(!_0x29c12f[_0x29c12f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1f4bac('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1a7e8d['apply'](this['editor']['data'],_0x29c12f);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x3202d4,[_0x3a4ef3])=>{if(this['_document']['version'])throw new _0x1f4bac('realtimecollaborationclient-init-document-already-initialized',this);_0x3202d4['stop'](),this['_setPendingAction']();const _0x98d8a=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x196fdb])=>!_0x196fdb['lazyLoad'])['map'](([_0x502930,_0x465be8])=>[_0x502930,_0x465be8['modelAttributes']||{}])),_0x53a8c2=this['_getOperationsFromInitData'](_0x3a4ef3,_0x98d8a);0x0==_0x53a8c2['length']&&_0x53a8c2['push'](new _0x12872d(0x0)),_0x3202d4['return']=this['_connectService'](_0x53a8c2)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x38410e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x38410e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2cc499,[_0x53adfa,_0x302d01])=>{_0x2cc499['stop']();const _0x3421e6=this['editor']['model']['document']['getRoot'](_0x53adfa);if(!this['_knownRootNames']['has'](_0x53adfa)){const _0x2d5bd0=_0x302d01&&_0x302d01['data']?_0x302d01['data']:'',_0x1903fa=_0x302d01&&_0x302d01['attributes']?_0x302d01['attributes']:{};await this['_loadRoot'](_0x53adfa,_0x2d5bd0,_0x1903fa);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3421e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3421e6);});},{'priority':'high'});}async _fetchMissingUsers(_0x2ae506){const _0x53f5f1=this['editor']['plugins']['get'](_0x5a638a),{connection:_0x269291}=this['editor']['plugins']['get'](J),_0x5d076f=new Set();for(const _0x29067d of _0x2ae506){const _0x3152f5=_0x29067d['_authorId'];_0x3152f5&&!_0x53f5f1['getUser'](_0x3152f5)&&_0x5d076f['add'](_0x3152f5);}if(0x0===_0x5d076f['size'])return;const _0x5ce682=await _0x3317f4['getMany'](_0x269291,Array['from'](_0x5d076f));for(const _0xcee6e of _0x5ce682)_0x53f5f1['getUser'](_0xcee6e['id'])||_0x53f5f1['addUser'](_0xcee6e);}_getOperationsFromInitData(_0x4a9e81,_0x1e4367={}){const _0x3f7d3a=this['editor']['model'],_0x382f17=[];let _0x2a6e58=0x0;const _0x2d56d2='string'==typeof _0x4a9e81?{'main':_0x4a9e81}:_0x4a9e81;for(const _0x3b945e of Object['keys'](_0x2d56d2)){if(!this['_document']['roots']['has'](_0x3b945e))throw new _0x1f4bac('realtimecollaborationclient-init-non-existent-root',this);const _0x2925be=this['_document']['getRoot'](_0x3b945e),_0x148e73=this['editor']['data']['parse'](_0x2d56d2[_0x3b945e],_0x2925be),_0x38a703=new _0x4c8305(_0x3f7d3a['createPositionAt'](_0x2925be,0x0),_0x148e73,_0x2a6e58++);_0x382f17['push'](_0x38a703);for(const [_0x5af181,_0x5edde3]of _0x148e73['markers']){const _0x244036=_0x3f7d3a['createRange'](_0x3f7d3a['createPositionFromPath'](_0x2925be,_0x5edde3['start']['path']['slice']()),_0x3f7d3a['createPositionFromPath'](_0x2925be,_0x5edde3['end']['path']['slice']())),_0x5e8038=new _0x43552f(_0x5af181,null,_0x244036,_0x3f7d3a['markers'],!0x0,_0x2a6e58++);_0x382f17['push'](_0x5e8038);}}if(_0x1e4367)for(const [_0x3edb6f,_0x269781]of Object['entries'](_0x1e4367)){const _0xed7867=_0x3f7d3a['document']['getRoot'](_0x3edb6f);if(!_0xed7867)throw new _0x1f4bac('multi-root-editor-root-attributes-no-root',null);for(const [_0x42f440,_0x21e9e9]of Object['entries'](_0x269781))if(null!==_0x21e9e9){const _0x34d714=new _0x439da5(_0xed7867,_0x42f440,null,_0x21e9e9,_0x2a6e58++);_0x382f17['push'](_0x34d714);}}return _0x382f17;}async _loadRoot(_0x4e73ac,_0x23300c,_0x5b3115){this['_getOperationsFromInitData']({[_0x4e73ac]:_0x23300c},{[_0x4e73ac]:_0x5b3115})['forEach']((_0x2b6349,_0x5c0f51)=>{_0x2b6349['baseVersion']=this['_document']['version']+_0x5c0f51,_0x2b6349['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2b6349);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x443959,_0x2a1b35){let _0x31b8a4;this['_offset']=_0x443959['offset'];const _0xd135ee=_0x443959['wereChangesApplied']&&!_0x443959['initData'],_0x2d32b7=_0xd135ee?0x0:_0x443959['data']['baseVersion'];if(_0x2a1b35['forEach'](_0x2d48d5=>{_0x2d48d5['_isInit']=!0x0,_0x2d48d5['createdAt']=_0x443959['sessionCreatedAt'],_0x2d48d5['_authorId']=null;}),_0xd135ee)_0x31b8a4=_0x2a1b35,this['_applyOperationsSet'](_0x31b8a4,_0xd135ee);else{if(_0x443959['initData']){const _0x33a719=this['_getOperationsFromInitData'](_0x443959['initData']);this['_document']['history']['version']=-_0x33a719['length'],_0x33a719['forEach'](_0x1d72ba=>{_0x1d72ba['baseVersion']-=_0x33a719['length'],_0x1d72ba['createdAt']=_0x443959['sessionCreatedAt'],_0x1d72ba['_isInit']=!0x0,_0x1d72ba['_authorId']=null;}),this['_applyOperationsSet'](_0x33a719,!0x0),this['serverHistory']['version']=-_0x33a719['length']+this['_offset'],this['_updateServerHistory'](_0x33a719);}this['_document']['history']['version']=_0x2d32b7,_0x31b8a4=this['_decompressOperations'](_0x443959['data'],_0x443959['metadata']),await this['_fetchMissingUsers'](_0x31b8a4),this['_applyOperationsSet'](_0x31b8a4,_0xd135ee);}_0x443959['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x31b8a4,_0x443959['lastOperationId']),this['_lastSyncedOperationId']=_0x443959['lastOperationId']),this['serverHistory']['version']=_0x2d32b7+this['_offset'],this['_updateServerHistory'](_0x31b8a4),_0x2a1b35['filter'](_0x228d7a=>{const _0x2f4ab9=this['_getAffectedRoot'](_0x228d7a);return _0x2f4ab9&&!this['_knownRootNames']['has'](_0x2f4ab9);})['forEach']((_0x48277b,_0x36fcc2)=>{_0x48277b['baseVersion']=this['_document']['version']+_0x36fcc2,this['_saveOperationInBuffer'](_0x48277b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x42290b,_0x57af25){const _0x516e08=_0x57af25&&_0x57af25['message'];if(_0x516e08&&_0x516e08['startsWith']('realtimecollaborationclient'))throw _0x57af25;const _0x1247c8=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x1247c8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1f4bac(_0x42290b,this['editor'],_0x516e08?{'originalError':_0x516e08}:void 0x0);}_saveOperationInBuffer(_0x2b20f8){this['_knownOperations']['has'](_0x2b20f8)||(this['_knownOperations']['add'](_0x2b20f8),this['_bufferedOperations']['push'](_0x2b20f8),this['_pendingAction']||'marker'==_0x2b20f8['type']&&!_0x2b20f8['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x46171b=!0x1){!_0x46171b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x341d3e=>{_0x341d3e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x27f9fe=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x59f52b){return _0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x27f9fe)||this['_crash'](_0x27f9fe['message'],_0x27f9fe);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x36e222=>{this['on']('change:_isPendingUpdate',()=>{_0x36e222();});});}async _sendBufferedOperations(){const _0x34c4e1=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x34c4e1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x39ecb0=[...this['_bufferedOperations']];for(const _0x544493 of _0x39ecb0)_0x544493['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x544493);const _0x5675bf=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x39ecb0),_0x23a5ea=st++,_0x3d4537=this['_compressOperations'](_0x39ecb0),_0x4fbb82=await this['_service']['sendOperations'](_0x3d4537,_0x3d4537['baseVersion'],_0x5675bf);try{return await this['_handleServerResponse'](_0x39ecb0,_0x4fbb82,_0x23a5ea);}catch(_0x4a04a7){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4a04a7);}}async['_handleServerResponse'](_0x222af0,_0x32dad2,_0x547ecc){if('error'in _0x32dad2)throw _0x32dad2['error'];let _0x31194f;if(_0x32dad2['wereChangesApplied']){_0x32dad2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x32dad2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x42bc71=>!_0x222af0['includes'](_0x42bc71));for(const _0x1719c5 of _0x222af0)_0x1719c5['createdAt']='lastOperationAcceptedAt'in _0x32dad2&&_0x32dad2['lastOperationAcceptedAt']||void 0x0;ot(_0x222af0,_0x32dad2['version']-_0x222af0['length']),this['_updateServerHistory'](_0x222af0);const _0x527efd=_0x222af0['filter'](_0x2f88d9=>{if(!_0x2f88d9['_isInit'])return!0x1;const _0x475f28=this['_getAffectedRoot'](_0x2f88d9);return _0x475f28&&!this['_knownRootNames']['has'](_0x475f28);});ot(_0x527efd,this['_document']['version']),this['_applyOperationsSet'](_0x527efd),_0x31194f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xb150ba=this['_decompressOperations'](_0x32dad2['data'],_0x32dad2['metadata'])['filter'](_0x394a53=>_0x394a53['baseVersion']>=this['_lastServerVersion']);_0xb150ba['forEach'](_0x58f16a=>this['_addKnownRoot'](_0x58f16a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x552f43=>!_0x552f43['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x552f43))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xb150ba),_0x31194f=this['_handleExternalOperations'](_0xb150ba,_0x32dad2['version'],_0x32dad2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x31194f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x14f314,_0x1901f3,_0x588c5b){try{const _0x25b6e7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x766b6f,operationsB:_0xc1fdf8,originalOperations:_0x3bef0b}=_0x218fdf(_0x14f314,this['_bufferedOperations'],_0x25b6e7);ot(_0x766b6f,this['_document']['version']),ot(_0xc1fdf8,_0x1901f3);for(const _0x413a01 of _0x766b6f){const _0xae0ea1=_0x3bef0b['get'](_0x413a01);_0xae0ea1?(_0x413a01['_authorId']=_0xae0ea1['_authorId'],'noop'!==_0x413a01['type']&&(_0x413a01['_aiSource']=_0xae0ea1['_aiSource'])):_0x413a01['_authorId']=null;}for(const _0x4bed76 of _0xc1fdf8)'noop'!==_0x4bed76['type']&&(_0x4bed76['_aiSource']=_0x3bef0b['get'](_0x4bed76)?.['_aiSource']);_0x588c5b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x14f314,_0x588c5b),this['_lastSyncedOperationId']=_0x588c5b),this['_bufferedOperations']=[..._0xc1fdf8],this['_applyOperationsSet'](_0x766b6f),this['_updateServerHistory'](_0x14f314);}catch(_0x1c3fa9){return console['error'](_0x1c3fa9),!0x1;}return!0x0;}_applyOperationsSet(_0xd3b659,_0x10a270=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3fce5c=>{for(const _0x37474d of _0xd3b659)this['_knownOperations']['add'](_0x37474d),this['_addKnownRoot'](_0x37474d),_0x3fce5c['batch']['addOperation'](_0x37474d),this['editor']['model']['applyOperation'](_0x37474d);});}_addKnownRoot(_0x358088){const _0x100660=this['_getAffectedRoot'](_0x358088);_0x100660&&this['_knownRootNames']['add'](_0x100660);}_getAffectedRoot(_0x13e5bf){let _0x41a088,_0x4b3a92;switch(_0x13e5bf['type']){case'insert':_0x41a088=_0x13e5bf['position']['root'];break;case'marker':if(_0x4b3a92=_0x13e5bf['newRange'],!_0x4b3a92)return null;_0x41a088=_0x4b3a92['root'];break;case'addRootAttribute':_0x41a088=_0x13e5bf['root'];break;case'addRoot':_0x41a088=_0x13e5bf['affectedSelectable'];break;case'move':_0x41a088=_0x13e5bf['targetPosition']['root'];break;default:return null;}return _0x41a088['rootName'];}_updateServerHistory(_0xd34142){_0xd34142['forEach'](_0x559c7c=>{const _0x3fd205=_0x559c7c['clone']();_0x3fd205['_authorId']=_0x559c7c['_authorId'],_0x3fd205['_isInit']=!!_0x559c7c['_isInit'],_0x3fd205['_aiSource']=_0x559c7c['_aiSource'],_0x3fd205['createdAt']=_0x559c7c['createdAt'],_0x3fd205['baseVersion']+=this['_offset'],_0x559c7c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3fd205),this['serverHistory']['addOperation'](_0x3fd205);});}_handleReconnectionError(_0x563154){const _0x1bb867=this['editor']['plugins']['get']('Notification'),_0x3e7a66=this['editor']['locale'];_0x563154||(_0x563154=et(_0x3e7a66,'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.')),_0x1bb867['showWarning'](_0x563154,{'title':et(_0x3e7a66,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3427cf)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3427cf)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x55fdc6){const _0x3bb199=_0x55fdc6['map'](_0x6b0f6a=>_0x6b0f6a['toJSON']());return this['_compressor']['compress'](_0x3bb199);}_decompressOperations(_0x51d545,_0x3b84ab){return this['_compressor']['decompress'](_0x51d545)['map']((_0x3553e4,_0x49ea1c)=>{const _0x4cb264='init'==_0x3b84ab[_0x49ea1c]['type'];if('InsertOperation'==_0x3553e4['__className']){const _0x3371af=_0x3553e4['position']['root'];!this['_document']['getRoot'](_0x3371af)&&(this['_document']['createRoot']('$unknown',_0x3371af)['_isAttached']=!0x1);}else{if('RootOperation'==_0x3553e4['__className']){const _0x914502=this['_document']['getRoot'](_0x3553e4['rootName']);_0x914502&&'$unknown'==_0x914502['name']&&_0x3553e4['elementName']!=_0x914502['name']&&(_0x914502['name']=_0x3553e4['elementName']);}}const _0x250151=_0x1ea669['fromJSON'](_0x3553e4,this['_document']);return _0x250151['wasUndone']=_0x3553e4['wasUndone'],_0x250151['_isInit']=_0x4cb264,_0x250151['_authorId']=_0x4cb264?null:_0x3b84ab[_0x49ea1c]['userId'],_0x250151['_isDisconnection']='cs:removeUser'===_0x3b84ab[_0x49ea1c]['type'],_0x250151['_aiSource']=_0x3553e4['_aiSource']||void 0x0,_0x250151['createdAt']=_0x3b84ab[_0x49ea1c]['createdAt'],_0x250151;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x4e90ad=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4e90ad&&_0x4e90ad['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x4c7b96,_0x861301){for(const _0xc60e71 of _0x4c7b96)_0xc60e71['baseVersion']=_0x861301++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x3f4fe8){this['_ignoredOperations']=_0x3f4fe8,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x5d3114){let _0x256cbd=_0x5d3114['length'];for(;_0x256cbd--;){const _0x5c2177=_0x5d3114[_0x256cbd];if(!this['_ignoredOperations']['has'](_0x5c2177)){if(!this['_operationToId']['has'](_0x5c2177)){const _0x5813d8=_0x5a3f6c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5c2177,_0x5813d8);}return this['_operationToId']['get'](_0x5c2177);}}}setIdForTheLastOperation(_0x37a0d3,_0x5286d7){if(!_0x5286d7)return;let _0x418cd4=_0x37a0d3['length'];for(;_0x418cd4--;){const _0x2603dc=_0x37a0d3[_0x418cd4];this['_ignoredOperations']['has'](_0x2603dc)||this['_operationToId']['set'](_0x2603dc,_0x5286d7);}}},ct=class extends _0x3b0285{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x573424{static CommentsService=/* #__PURE__ -- @preserve */
26
- ((()=>_0x5bb917)());['_services'];static get requires(){return[J,_0x195514,Q,_0x5a638a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35d6b7){super(_0x35d6b7),this['_services']=new Map();}async init(){const _0x3609e9=this['context'],_0x11decc=_0x3609e9['plugins']['get'](_0x195514);if(_0x3609e9['plugins']['get'](J)['addToReconnectionStack'](this),_0x11decc['adapter']={'addCommentThread':async({channelId:_0x50db73,threadId:_0x6d450d,comments:_0x785706,resolvedAt:_0x41da4d,resolvedBy:_0x5e919d,context:_0x5b71fb,attributes:_0x30f36d})=>{const _0x57406c=await this['_getService'](_0x50db73)['addCommentThread']({'commentThreadId':_0x6d450d,'comments':_0x785706['map'](_0x55f6fa=>function(_0x7360a9,_0x3ecd72,_0x501b4f){return{'commentThreadId':_0x501b4f,'commentId':_0x7360a9['commentId'],'userId':_0x7360a9['authorId'],'content':_0x7360a9['content'],'documentId':_0x3ecd72,'createdAt':_0x7360a9['createdAt'],'attributes':_0x7360a9['attributes']||{}};}(_0x55f6fa,_0x50db73,_0x6d450d)),'resolvedAt':_0x41da4d,'resolvedBy':_0x5e919d,'context':_0x5b71fb,'attributes':_0x30f36d})['catch'](lt);return{'threadId':_0x57406c['commentThreadId'],'comments':_0x57406c['comments']};},'getCommentThread':async({channelId:_0x9499d9,threadId:_0x5d233a})=>{const _0xdd3953=await this['_getService'](_0x9499d9)['getCommentThread'](_0x5d233a)['catch'](ht)['catch'](lt);return _0xdd3953?_0xdd3953['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xdd3953]),{'threadId':_0xdd3953['commentThreadId'],'comments':_0xdd3953['comments']['map'](dt),'context':_0xdd3953['context'],'resolvedAt':_0xdd3953['resolvedAt'],'resolvedBy':_0xdd3953['resolvedBy'],'attributes':_0xdd3953['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xb3e2c0,threadId:_0xd5dfe7,context:_0x245aa8,unlinkedAt:_0x5297fe,attributes:_0x1b040d})=>this['_getService'](_0xb3e2c0)['updateCommentThread']({'commentThreadId':_0xd5dfe7,'context':_0x245aa8,'attributes':_0x1b040d,'unlinkedAt':_0x5297fe})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x3560e4,threadId:_0x4d421f})=>{const _0x811a8=await this['_getService'](_0x3560e4)['resolveCommentThread'](_0x4d421f)['catch'](ht)['catch'](lt);return{'threadId':_0x811a8['commentThreadId'],'resolvedAt':_0x811a8['resolvedAt'],'resolvedBy':_0x811a8['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5172af,threadId:_0x476478})=>this['_getService'](_0x5172af)['reopenCommentThread'](_0x476478)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x3f668f,threadId:_0x2e9632})=>this['_getService'](_0x3f668f)['removeCommentThread'](_0x2e9632)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x52a671,threadId:_0x12e918,commentId:_0x245754,content:_0x206da4,attributes:_0xb8d638})=>this['_getService'](_0x52a671)['addComment'](_0x12e918,_0x245754,_0x206da4,_0xb8d638)['catch'](lt),'updateComment':({channelId:_0x596f0b,threadId:_0x29e2d2,commentId:_0x507745,content:_0x40f2bb,attributes:_0x315e33})=>this['_getService'](_0x596f0b)['updateComment'](_0x29e2d2,_0x507745,_0x40f2bb,_0x315e33)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x54708f,threadId:_0x1daed2,commentId:_0x352530})=>this['_getService'](_0x54708f)['removeComment'](_0x1daed2,_0x352530)['catch'](ht)['catch'](lt)},_0x3609e9 instanceof _0x528c5a){const _0x315974=_0x3609e9['config']['get']('collaboration.channelId'),_0x3bfee5=_0x3609e9['plugins']['get'](Q);await this['_setUpService'](_0x315974);const _0x3d23f9=await this['_services']['get'](_0x315974)['getConnectedSessions']();this['listenTo'](_0x3bfee5,'sessionAdd:'+_0x315974,(_0x8d1a49,{session:_0xacae69})=>{_0xacae69['id']===_0x3bfee5['mySessionId']&&(_0x8d1a49['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xacae69['permissions'],_0x315974));}),_0x3bfee5['register'](_0x315974,_0x3d23f9);}}async _setUpService(_0x19ba93){if(this['_services']['has'](_0x19ba93))throw new _0x1f4bac('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x19ba93});const _0x59a99b=this['context']['plugins']['get'](_0x195514),_0x2bd156=new CloudServicesCommentsAdapter['CommentsService'](_0x19ba93);this['_services']['set'](_0x19ba93,_0x2bd156),this['listenTo'](_0x2bd156,'commentThreadAdded',(_0x4437d0,_0x15a348)=>{const {commentThreadId:_0x1a58ec,documentId:_0x8bb782,context:_0x52c605,attributes:_0x588964,resolvedAt:_0x513c52,resolvedBy:_0x2fe2fb,comments:_0x3e68b4}=_0x15a348;_0x59a99b['getCommentThread'](_0x1a58ec)||_0x59a99b['addCommentThread']({'threadId':_0x1a58ec,'channelId':_0x8bb782,'comments':_0x3e68b4?_0x3e68b4['map'](dt):[],'context':_0x52c605,'attributes':_0x588964,'resolvedAt':_0x513c52,'resolvedBy':_0x2fe2fb,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadUpdated',(_0x59176e,{commentThreadId:_0x5a5639,documentId:_0x25b6bf,context:_0x1b42df,unlinkedAt:_0x1b986c,attributes:_0x4a5d13})=>{_0x59a99b['getCommentThread'](_0x5a5639)&&_0x59a99b['updateCommentThread']({'threadId':_0x5a5639,'channelId':_0x25b6bf,'context':_0x1b42df,'unlinkedAt':_0x1b986c,'attributes':_0x4a5d13,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadResolved',(_0x2dcad4,{commentThreadId:_0x13a607,resolvedBy:_0x7f5931,resolvedAt:_0x1444de})=>{const _0x1ff5d3=_0x59a99b['getCommentThread'](_0x13a607);_0x1ff5d3&&_0x1ff5d3['resolve']({'resolvedBy':_0x7f5931,'resolvedAt':_0x1444de,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadReopened',(_0x45d6bb,{commentThreadId:_0x32c9c2})=>{const _0x3e45ad=_0x59a99b['getCommentThread'](_0x32c9c2);_0x3e45ad&&_0x3e45ad['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadRemoved',(_0x2034df,{commentThreadId:_0xc721e0})=>{const _0x49e9cc=_0x59a99b['getCommentThread'](_0xc721e0);_0x49e9cc&&_0x49e9cc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentAdded',(_0x2eff94,_0x4b5adb)=>{const _0x4fbcd0=_0x4b5adb['commentThreadId'],_0x326b9a=_0x59a99b['getCommentThread'](_0x4fbcd0);_0x326b9a&&_0x326b9a['addComment']({...dt(_0x4b5adb),'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentUpdated',(_0x25483b,{commentThreadId:_0x1ea718,commentId:_0xd0c7f0,content:_0x18bb0a,attributes:_0x496688})=>{const _0x257731=_0x59a99b['getCommentThread'](_0x1ea718);if(_0x257731){const _0x1ef0b2=_0x257731['getComment'](_0xd0c7f0);_0x1ef0b2&&_0x1ef0b2['update']({'content':_0x18bb0a,'attributes':_0x496688,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2bd156,'commentRemoved',(_0x21f01b,{commentThreadId:_0x55f3b6,commentId:_0x865794})=>{const _0x355f71=_0x59a99b['getCommentThread'](_0x55f3b6);if(_0x355f71){const _0x195f5d=_0x355f71['getComment'](_0x865794);_0x195f5d&&_0x195f5d['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2bd156,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x19ba93),this['stopListening'](_0x2bd156));}),await this['_connectService'](_0x19ba93);}destroy(){if(this['context']instanceof _0x528c5a){const _0x4c42b5=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4c42b5)&&this['_terminateService'](_0x4c42b5);}}_terminateService(_0x294f1d){if(!this['_services']['has'](_0x294f1d))throw new _0x1f4bac('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x294f1d});this['_getService'](_0x294f1d)['disconnect'](),this['_services']['delete'](_0x294f1d);}async reconnect(){for(const _0x35f46d of this['_services']['keys']())await this['_connectService'](_0x35f46d);if(this['context']instanceof _0x528c5a){const _0xab5d3b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xab5d3b)){const _0x25e22e=this['context']['plugins']['get'](Q);_0x25e22e['unregister'](_0xab5d3b);const _0x37b8d5=await this['_services']['get'](_0xab5d3b)['getConnectedSessions']();_0x25e22e['register'](_0xab5d3b,_0x37b8d5);}}}async _connectService(_0x54e00c){const {connection:_0x122a57}=this['context']['plugins']['get'](J),_0x47dd81=this['context']['plugins']['get'](_0x195514),_0x4f650b=await this['_services']['get'](_0x54e00c)['connect'](_0x122a57);await this['_fetchMissingUsersForThreads'](_0x4f650b);const _0x3eb547=new Set(Array['from'](_0x47dd81['getCommentThreads']({'channelId':_0x54e00c}),_0x2defe4=>_0x2defe4['id']));for(const _0x2fe8f9 of _0x4f650b)_0x2fe8f9['deletedAt']||_0x3eb547['delete'](_0x2fe8f9['commentThreadId']);for(const _0x26a921 of _0x3eb547)_0x47dd81['getCommentThread'](_0x26a921)['remove']({'isFromAdapter':!0x0});for(const _0x1fbea2 of _0x4f650b){let _0x589c77=_0x47dd81['getCommentThread'](_0x1fbea2['commentThreadId']);const {commentThreadId:_0xfc32c2,context:_0x4651ae,attributes:_0x41bb67,resolvedBy:_0x32ebfb,resolvedAt:_0x318c30,unlinkedAt:_0x1ee039,deletedAt:_0x1c6230}=_0x1fbea2;if(_0x1c6230)continue;_0x589c77||(_0x589c77=_0x47dd81['addCommentThread']({'channelId':_0x54e00c,'threadId':_0xfc32c2,'context':_0x4651ae,'attributes':_0x41bb67||{},'resolvedBy':_0x32ebfb,'resolvedAt':_0x318c30,'unlinkedAt':_0x1ee039,'isFromAdapter':!0x0}));const _0x53b291=new Set(Array['from'](_0x589c77['comments'],_0xa548bc=>_0xa548bc['id']));for(const _0x2875c6 of _0x1fbea2['comments'])_0x53b291['delete'](_0x2875c6['commentId']);for(const _0x3d86a3 of _0x53b291)_0x589c77['getComment'](_0x3d86a3)['remove']({'isFromAdapter':!0x0});for(const _0x37c009 of _0x1fbea2['comments']){const _0x2dc4a1=_0x589c77['getComment'](_0x37c009['commentId']);_0x2dc4a1?_0x2dc4a1['content']!==_0x37c009['content']&&_0x2dc4a1['update']({'content':_0x37c009['content'],'isFromAdapter':!0x0}):_0x589c77['addComment'](Object['assign'](dt(_0x37c009),{'isFromAdapter':!0x0}));}}}_getService(_0x51d129){if(!this['_services']['has'](_0x51d129))throw new _0x1f4bac('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x51d129});return this['_services']['get'](_0x51d129);}async _fetchMissingUsersForThreads(_0xf367cb){const _0x3b333f=this['context']['plugins']['get'](_0x5a638a),{connection:_0x2136c0}=this['context']['plugins']['get'](J),_0x2eea29=new Set();for(const {resolvedBy:_0x1640e6,comments:_0x48c935}of _0xf367cb){_0x1640e6&&!_0x3b333f['getUser'](_0x1640e6)&&_0x2eea29['add'](_0x1640e6);for(const {userId:_0x5b97e9}of _0x48c935)_0x3b333f['getUser'](_0x5b97e9)||_0x2eea29['add'](_0x5b97e9);}if(0x0===_0x2eea29['size'])return;const _0x25f794=await _0x3317f4['getMany'](_0x2136c0,Array['from'](_0x2eea29));for(const _0x543efb of _0x25f794)_0x3b333f['getUser'](_0x543efb['id'])||_0x3b333f['addUser'](_0x543efb);}};async function ht(_0x57981a){if('404'!==_0x57981a['code'])throw _0x57981a;}function lt(_0x23dfe9){if((_0xee275f=_0x23dfe9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xee275f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xee275f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xee275f;throw _0x23dfe9;}function dt(_0x26137a){return{'threadId':_0x26137a['commentThreadId'],'commentId':_0x26137a['commentId'],'content':_0x26137a['content'],'createdAt':_0x26137a['createdAt'],'authorId':_0x26137a['userId'],'attributes':_0x26137a['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x3b0285{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x53868b)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x1570ae,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5c913f){super(_0x5c913f);const _0xe5c163=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0xe5c163);}init(){const _0x107576=this['editor']['plugins']['get'](J),_0x3f3868=this['editor']['plugins']['get'](_0x1570ae);return _0x3f3868['adapter']={'getSuggestion':async _0x24c59e=>{await this['_waitForServiceReady']();const _0x535296=await this['_trackChangesService']['get'](_0x24c59e)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x535296]),_0x535296;},'addSuggestion':async({id:_0x58e31c,type:_0x51a259,data:_0x5320c3,originalSuggestionId:_0x39efbc,attributes:_0x1dcf35})=>{await this['_waitForServiceReady']();const _0x268af8={'id':_0x58e31c,'type':_0x51a259,'data':_0x5320c3,'originalSuggestionId':_0x39efbc,'attributes':_0x1dcf35},_0x562873=await this['_trackChangesService']['add'](_0x58e31c,_0x51a259,_0x5320c3,_0x39efbc,_0x1dcf35)['catch'](_0x540dfa=>{if(mt(_0x540dfa))return new Promise(_0x551fca=>{this['_bufferedRequests']['set'](_0x58e31c,{'resolve':_0x551fca,'suggestionData':_0x268af8});});throw _0x540dfa;});return this['_bufferedRequests']['delete'](_0x58e31c),_0x562873;},'updateSuggestion':async(_0x41637b,_0x1f8d7f)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1f8d7f['state'])return this['_trackChangesService']['update'](_0x41637b,_0x1f8d7f)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x13720b,_0x2d7490)=>{_0x3f3868['hasSuggestion'](_0x2d7490['id'])&&(_0x3f3868['getSuggestion'](_0x2d7490['id'])['attributes']=_0x2d7490['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x107576['connection']?.['state']&&(_0x107576['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x107576['connection'])['then'](_0x474c8f=>(_0x107576['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x474c8f)['then'](()=>{for(const _0x1a9de1 of _0x474c8f){_0x3f3868['addSuggestionData'](_0x1a9de1)['_saved']=!0x0;}})));}async reconnect(){const _0x453fde=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3a22d5}=this['editor']['plugins']['get'](J),_0x3fa853=await this['_trackChangesService']['connect'](_0x3a22d5);await this['_fetchMissingUsersForThreads'](_0x3fa853);for(const {suggestionData:_0x39dc91,resolve:_0x4ed372}of this['_bufferedRequests']['values']()){let _0x5d5424=_0x3fa853['find'](_0x5d94af=>_0x5d94af['id']===_0x39dc91['id']);_0x5d5424||(_0x5d5424=await this['_trackChangesService']['add'](_0x39dc91['id'],_0x39dc91['type'],_0x39dc91['data'],_0x39dc91['originalSuggestionId'])),_0x4ed372(_0x5d5424);}for(const _0x5df17c of _0x3fa853)_0x453fde['hasSuggestion'](_0x5df17c['id'])||_0x453fde['addSuggestionData'](_0x5df17c);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x46e693=>{this['listenTo'](this['_trackChangesService'],'connected',_0x349815=>{_0x349815['off'](),_0x46e693();});});}async _fetchMissingUsersForThreads(_0x3ae361){const _0x1f6cc7=this['editor']['plugins']['get'](_0x5a638a),{connection:_0xb36bde}=this['editor']['plugins']['get'](J),_0x1137d0=new Set();for(const {authorId:_0x5a9497}of _0x3ae361)_0x1f6cc7['getUser'](_0x5a9497)||_0x1137d0['add'](_0x5a9497);if(0x0===_0x1137d0['size'])return;const _0x40dd63=await _0x3317f4['getMany'](_0xb36bde,Array['from'](_0x1137d0));for(const _0x45964e of _0x40dd63)_0x1f6cc7['getUser'](_0x45964e['id'])||_0x1f6cc7['addUser'](_0x45964e);}};function ft(_0xb14841){if(mt(_0xb14841))return new Promise(()=>{});throw _0xb14841;}function mt(_0x94c04a){return _0x94c04a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x94c04a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x3b0285{static get requires(){return[_0x47a9b6,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x566ff8=this['editor']['plugins']['get'](J),_0x374136=this['editor']['plugins']['get'](_0x288390),_0x544c64=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x566ff8,'change:state',(_0x49def6,_0x12e7bc,_0x3be0dc)=>{_0x374136['isThreadsLoadingPaused']='connected'!==_0x3be0dc;});}),this['listenTo'](_0x566ff8,'change:state',(_0x3398cb,_0x3c4060,_0x53c651)=>{this['editor']['plugins']['get'](_0x195514)['switchReadOnly']('connected'!==_0x53c651);}),_0x544c64['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x5427db=this['editor']['plugins']['get'](at),_0x346870=this['editor']['config']['get']('collaboration.channelId');_0x5427db['_services']['has'](_0x346870)&&_0x5427db['_terminateService'](_0x346870),super['destroy']();}},gt=class extends _0x3b0285{static get requires(){return[pt,ut,_0x2ac1a8];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x3b0285{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
- ((()=>_0x4d5139)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x210853,Q,_0x5a638a];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xcd5adc){super(_0xcd5adc);const _0x4716cf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4716cf);}async init(){const _0x1f98af=this['editor']['plugins']['get'](it),_0x26fa85=_0x1f98af['serverHistory'],_0x138109=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x26fa85,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1f98af['sessionId']});const _0xa8426e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3ee978,_0xa59eb5=await _0x48db14['isBundleUploaded'](_0x138109['connection'],_0xa8426e);this['editor']['plugins']['get'](_0x210853)['adapter']={'getRevision':async({revisionId:_0x372a02})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x372a02)),'updateRevisions':async _0x4a9d0e=>{await this['_waitForServiceReady']();const _0x420c65=this['_revisionTracker']['currentRevision'];if(_0xa59eb5&&0x1===_0x4a9d0e['length']&&_0x4a9d0e[0x0]['id']===_0x420c65['id'])return _0x4a9d0e;for(const _0x2560ac of _0x4a9d0e)_0x2560ac['id']===_0x420c65['id']&&(_0x2560ac['isEmptyCurrent']=_0x2560ac['fromVersion']===_0x2560ac['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4a9d0e,this['_lastRequestId'])['then'](_0xe6d5e1=>(this['_lastRequestId']=_0xe6d5e1,_0x4a9d0e))['catch'](_0x5ad475=>{if(vt(_0x5ad475)||'400'===_0x5ad475['code']&&void 0x0!==_0x5ad475['data']['wrongRequestId']){for(const _0x4dd4a9 of _0x4a9d0e)this['_revisionTracker']['repository']['getRevision'](_0x4dd4a9['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x4dd4a9['id'],_0x4dd4a9,!0x1);if(vt(_0x5ad475)&&'destroyed'!==this['editor']['state'])throw _0x5ad475;return _0x4a9d0e;}throw _0x5ad475;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d410c,{revisionsData:_0x2dbe04,requestId:_0x2c957a})=>{Math['max'](..._0x2dbe04['map'](_0x3d64a5=>_0x3d64a5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2dbe04,_0x2c957a);}):this['_handleRevisionsUpdate'](_0x2dbe04,_0x2c957a);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x138109['connection']?.['state']&&(_0x138109['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2f14c1,requestId:_0x358519}=await this['_revisionHistoryService']['connect'](_0x138109['connection']);_0x138109['addToReconnectionStack'](this),this['_lastRequestId']=_0x358519,await this['_fetchMissingUsers'](_0x2f14c1);for(const _0x449ca6 of _0x2f14c1)this['_revisionTracker']['addRevisionData'](_0x449ca6);this['listenTo'](_0x1f98af,'change:_isConnected',(_0x4721cd,_0x38ae69,_0x46913c)=>{_0x46913c&&(this['_oldOffset']=_0x1f98af['_offset'],_0x4721cd['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x3ba3f8=this['editor']['plugins']['get'](J),_0x3db575=this['editor']['plugins']['get'](it),_0x228b18=async()=>{const _0x1f2e6d=this['_revisionTracker']['currentRevision'],_0x6cf235=_0x1f2e6d['id'],_0x5a41cd=_0x6cf235!==_0x3db575['sessionId'];if(_0x5a41cd){const _0x40cea5=_0x3db575['_offset']-this['_oldOffset'],_0x16c3cf=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x1f2e6d['toVersion']+_0x40cea5!==_0x16c3cf){const _0x5a5abf=_0x1f2e6d['fromVersion']+_0x40cea5,_0x48e1d0=this['editor']['plugins']['get'](_0x5a638a),_0x29ba83=this['_revisionTracker']['buildRevisionData']({'revision':_0x1f2e6d,'from':_0x5a5abf,'to':_0x16c3cf});_0x29ba83['id']=_0x1f2e6d['id'];const _0x55c804=_0x29ba83['authorsIds']['map'](_0x510a61=>_0x48e1d0['getUser'](_0x510a61));_0x1f2e6d['_update']({..._0x29ba83,'authors':_0x55c804},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1f2e6d['id'],_0x29ba83,!0x0);}this['_revisionTracker']['_startingVersion']=_0x16c3cf,_0x1f2e6d['toVersion']!==_0x1f2e6d['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x6cf235)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x6cf235),this['_revisionTracker']['_createCurrentRevision'](_0x16c3cf);}const {revisions:_0x35a250,requestId:_0x38e7e1}=await this['_revisionHistoryService']['reconnect'](_0x3ba3f8['connection'],this['_lastRequestId']);_0x5a41cd&&_0x35a250['length']>0x0?_0x3db575['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x35a250),this['_handleRevisionsUpdate'](_0x35a250,_0x38e7e1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3db575['_isConnected']?_0x228b18():new Promise((_0x288f8d,_0x579326)=>{_0x3db575['once']('change:_isConnected',()=>{_0x228b18()['then'](_0x288f8d)['catch'](_0x579326);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5d2ae6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1cef19=>{_0x1cef19['off'](),_0x5d2ae6();});});}_getLatestVersionFromServerOperations(){const _0x3869af=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x2500ba of _0x3869af)if('marker'!==_0x2500ba['type']||_0x2500ba['affectsData'])return _0x2500ba['baseVersion']+0x1;}_getLatestVersion(){const _0x3091ea=this['editor']['plugins']['get'](it);return new Promise(_0x340595=>{_0x3091ea['_isPendingUpdate']?_0x3091ea['once']('change:_isPendingUpdate',()=>{_0x340595(this['_getLatestVersionFromServerOperations']());}):_0x340595(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x3b55b6,_0x3c948a){const _0x441596=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3c948a;for(const _0x4cb76d of _0x3b55b6){const _0x2f5c6a=_0x441596['getRevision'](_0x4cb76d['id']);if(_0x2f5c6a){if((_0x4cb76d['fromVersion']||_0x4cb76d['toVersion'])&&(_0x4cb76d['diffData']=null),_0x2f5c6a===this['_revisionTracker']['currentRevision']){const _0x10e3e6=Math['max'](_0x2f5c6a['toVersion'],_0x4cb76d['toVersion']),_0x1b75da=Math['max'](_0x2f5c6a['fromVersion'],_0x4cb76d['fromVersion']);let _0x29b01d;_0x2f5c6a['toVersion']===_0x4cb76d['toVersion']&&_0x2f5c6a['fromVersion']===_0x4cb76d['fromVersion']?(_0x29b01d=!0x0,this['_preventResendingRevisionData'](_0x4cb76d)):_0x4cb76d['toVersion']===_0x10e3e6&&_0x4cb76d['fromVersion']===_0x1b75da?_0x29b01d=!0x1:(_0x2f5c6a['toVersion']===_0x10e3e6&&_0x2f5c6a['fromVersion']===_0x1b75da||this['_fixRevision']({'revision':_0x2f5c6a,'from':_0x1b75da,'to':_0x10e3e6}),_0x29b01d=!0x0),_0x29b01d&&(delete _0x4cb76d['fromVersion'],delete _0x4cb76d['toVersion'],delete _0x4cb76d['diffData'],delete _0x4cb76d['createdAt'],delete _0x4cb76d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4cb76d),this['_preventResendingRevisionData'](_0x4cb76d);}else this['_revisionTracker']['addRevisionData'](_0x4cb76d);}const _0x44aa04=_0x441596['getRevisions']();_0x44aa04['reverse']();for(let _0x492c64=0x0;_0x492c64<_0x44aa04['length']-0x1;_0x492c64++){const _0x166223=_0x44aa04[_0x492c64],_0xef5f94=_0x44aa04[_0x492c64+0x1];if(_0x166223['fromVersion']<_0xef5f94['toVersion']){const _0x3b436a=_0xef5f94['toVersion'],_0x5bdb8d=Math['max'](_0x3b436a,_0x166223['toVersion']);this['_fixRevision']({'revision':_0x166223,'from':_0x3b436a,'to':_0x5bdb8d});}}}['_fixRevision']({revision:_0x2e5ed4,from:_0x38e141,to:_0x39f57a}={}){const _0x449913=this['editor']['plugins']['get'](_0x5a638a),_0x14208a=this['_revisionTracker']['buildRevisionData']({'revision':_0x2e5ed4,'from':_0x38e141,'to':_0x39f57a});_0x14208a['authors']=_0x14208a['authorsIds']['map'](_0x1001de=>_0x449913['getUser'](_0x1001de)),_0x2e5ed4['_update'](_0x14208a);}_preventResendingRevisionData(_0x889531){const _0x2d2fb2={};_0x2d2fb2['id']=_0x889531['id'];for(const _0x43e93e of Object['keys'](_0x889531))'id'!==_0x43e93e&&(_0x2d2fb2[_0x43e93e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2d2fb2['id'],_0x2d2fb2,!0x0);}async _fetchMissingUsers(_0x76a965){const _0x54a347=this['editor']['plugins']['get'](_0x5a638a),{connection:_0x23ad7b}=this['editor']['plugins']['get'](J),_0x1e0a0e=new Set();for(const _0x556ef8 of _0x76a965){for(const _0x3c0207 of _0x556ef8['authorsIds'])_0x29d579(_0x3c0207);_0x556ef8['creatorId']&&_0x29d579(_0x556ef8['creatorId']);}if(0x0===_0x1e0a0e['size'])return;const _0x43b7c2=await _0x3317f4['getMany'](_0x23ad7b,Array['from'](_0x1e0a0e));for(const _0x3d8a2d of _0x43b7c2)_0x54a347['getUser'](_0x3d8a2d['id'])||_0x54a347['addUser'](_0x3d8a2d);function _0x29d579(_0x1d4031){_0x54a347['getUser'](_0x1d4031)||_0x1e0a0e['add'](_0x1d4031);}}};function vt(_0x5adbb7){return _0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x3b0285{static get requires(){return[_0x210853,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x2aa6e7{_collapseAt;constructor(_0x4a535c,_0x189f6d=0x6){super(_0x4a535c);const _0x311025=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x189f6d,this['bind']('isHidden')['to'](this,'usersCount',_0x595c58=>_0x595c58<_0x189f6d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x311025['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':_0x311025['to']('usersCount',_0x424010=>'+'+(_0x424010-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x2aa6e7{items;keystrokes;constructor(_0x2576fa){super(_0x2576fa);const _0x199c72=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0xf89fc5(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x199c72['if']('hasPopup'),'aria-expanded':_0x199c72['to']('isExpanded',_0x4ff0ca=>this['hasPopup']&&String(_0x4ff0ca)),'aria-label':_0x199c72['to']('hasPopup',_0x38fc65=>et(_0x2576fa,_0x38fc65?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x199c72['to']('hasPopup',_0x4148da=>!!_0x4148da&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x179393,_0x3d991e,_0x2d15f2)=>{this['element']&&(_0x2d15f2?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']);}},kt=class extends _0x2aa6e7{counterView;inlineListView;constructor(_0x5264b7,_0x2181f8=0x6){super(_0x5264b7);const _0x558103=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x2181f8),this['inlineListView']=new bt(_0x5264b7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x42a027 of this['inlineListView']['items'])_0x42a027['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',_0x558103['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x2aa6e7{listWrapperView;constructor(_0x205e19,_0x1f1ec8){super(_0x205e19),this['listWrapperView']=new St(_0x205e19,_0x1f1ec8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x205e19,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x4e0adb{constructor(_0x5f85b2,_0x4c64ca){super(_0x5f85b2);const _0x2e221b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4c64ca?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2e221b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2e221b['to']('role'),'aria-label':_0x2e221b['to']('ariaLabel'),'aria-labelledby':_0x2e221b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2de15f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x691e28=this['element'];_0x691e28&&(this['_isScrollable']=Math['max'](_0x691e28['scrollHeight'],_0x691e28['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0xf2227d{['userView'];constructor(_0x463645,_0x165910,_0x43aaf2){super(_0x463645);const _0x228638=this['bindTemplate'];this['userView']=new _0x3ee386(_0x463645,_0x165910);const _0x5a8a51={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x165910['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x165910['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x165910['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x165910['color']['getColorVariable'](),'--ck-user-color-alpha':_0x165910['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x43aaf2&&(_0x5a8a51['tag']='button',_0x5a8a51['on']={'click':_0x228638['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5a8a51);}['focus'](){this['element']['focus']();}},Ct=class extends _0x2aa6e7{['userView'];['markerView'];constructor(_0x479554,_0x1dc658,_0x547b09){super(_0x479554);const _0x4b9522=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3ee386(_0x479554,_0x1dc658),this['markerView']=new At(_0x479554,_0x1dc658);const _0x10754a=new _0x3c3eed(_0x479554);_0x10754a['template']['tag']='span',_0x10754a['text']=_0x1dc658['name'];const _0x4d707e={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4b9522['to']('isFocusable',_0x2a3195=>_0x2a3195?0x0:-0x1),'aria-labelledby':_0x10754a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4b9522['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4b9522['to']('hasTooltip',_0x15bbb1=>!_0x15bbb1),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x10754a]};_0x547b09&&(_0x4d707e['tag']='button',_0x4d707e['on']={'click':_0x4b9522['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4d707e);}},At=class extends _0x2aa6e7{constructor(_0x3edb07,_0x1bc0e1){super(_0x3edb07),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1bc0e1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1bc0e1['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1bc0e1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x573424{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe335ba){super(_0xe335ba),this['context']['config']['define']('presenceList',Pt);const _0x1fb691=_0xe335ba['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1fb691)throw new _0x1f4bac('presencelist-collapseat-invalid-format',this);if(_0x1fb691<0x1)throw new _0x1f4bac('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe27579(),this['balloonPanelView']=new _0x364ce9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x4f3dfe of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4f3dfe);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e16b6,_0x50cf25)=>{this['_handleUserAdd'](_0x50cf25);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x3fd616,_0x7a1873)=>{this['_handleUserRemove'](_0x7a1873);});}_createView(){const _0x56d5e7=this['context'],_0x139edd=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x150f21=this['balloonPanelView'];if(!_0x5b48c6(_0x56d5e7['config']['get']('presenceList.container')))throw new _0x1f4bac('presencelist-missing-container',this);_0x139edd['counterView']['bind']('usersCount')['to'](this),_0x139edd['bind']('isCollapsed')['to'](this,'usersCount',_0x1a7d26=>{const {collapseAt:_0x3d55c4}=_0x56d5e7['config']['get']('presenceList'),_0x783302=_0x1a7d26>=_0x3d55c4;if(_0x783302&&!_0x139edd['inlineListView']['items']['find'](_0x19a6de=>_0x19a6de instanceof yt)){const _0x509072=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x509072&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x139edd['inlineListView']['items']['add'](_0x139edd['counterView']);}return _0x783302||this['hideDropdown'](),_0x783302;}),_0x139edd['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5287fd=>{const _0x339d4f=_0x56d5e7['config']['get']('presenceList'),_0x543b6d=new Ct(_0x56d5e7['locale'],_0x5287fd,!!_0x339d4f['onClick']);return _0x543b6d['bind']('hasTooltip')['to'](_0x139edd,'isCollapsed',_0x3b3cd=>!_0x3b3cd),_0x543b6d['bind']('isFocusable')['to'](_0x139edd,'isCollapsed',_0xe8e90f=>!_0xe8e90f),_0x339d4f['onClick']&&this['listenTo'](_0x543b6d,'execute',()=>{this['view']['isCollapsed']||_0x339d4f['onClick'](_0x5287fd,_0x543b6d['element']);}),_0x543b6d;}),_0x139edd['inlineListView']['keystrokes']['set']('Enter',(_0x24c48a,_0x12b15e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x12b15e());}),_0x139edd['render'](),_0x150f21['render'](),_0x139edd['listenTo'](_0x139edd['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x10f212=(_0xe9ceea,_0x55957b)=>{this['_hideDropdownUnlessPointerInside'](_0x55957b);};return _0x139edd['listenTo'](_0x139edd['inlineListView']['element'],'mouseleave',_0x10f212),_0x139edd['listenTo'](_0x150f21['element'],'mouseleave',_0x10f212),_0x18eeb2({'emitter':_0x139edd,'activator':()=>_0x150f21['isVisible'],'contextElements':[_0x150f21['element'],_0x139edd['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x56d5e7['config']['get']('presenceList.container')['appendChild'](_0x139edd['element']),this['_overlayHost']=new _0x4ce28e(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x139edd;}_resolveOverlayTarget(){const _0x5527c5=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x5527c5)return _0x5527c5;const _0x437d8c=this['context']['config']['get']('presenceList.container');return _0x437d8c?_0x1a0178(_0x437d8c):null;}['_handleUserAdd'](_0x16d6fc){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x16d6fc['isMe'])return;const _0x3a325e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3a325e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3e6c46=_0x16d6fc['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x16d6fc,_0x3e6c46);}['_handleUserRemove'](_0x4dc7e1){this['usersCount']--;const {collapseAt:_0xdbd4fd}=this['context']['config']['get']('presenceList'),_0x4fab42=this['usersCount']>=_0xdbd4fd;if(this['currentDisplayedUsers']['get'](_0x4dc7e1['id']))this['currentDisplayedUsers']['remove'](_0x4dc7e1['id']);else{if(_0x4fab42&&this['currentDisplayedUsers']['length']+0x1===_0xdbd4fd-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4fab42?0x1:0x0)<this['usersCount']){for(const _0xa4b93f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xa4b93f['id'])&&(this['currentDisplayedUsers']['add'](_0xa4b93f,Math['min'](this['currentDisplayedUsers']['length']-(_0x4fab42?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4fab42?0x1:0x0)===_0xdbd4fd-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x44314f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x44314f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x3eb8b2}=this['presenceDropdownView'];_0x3eb8b2['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2b4c46=>{if(!_0x44314f['displayMe']&&_0x2b4c46['isMe'])return null;const _0x53314e=new Tt(this['context']['locale'],_0x2b4c46,!!_0x44314f['onClick']);return _0x44314f['onClick']&&this['listenTo'](_0x53314e,'execute',()=>{_0x44314f['onClick'](_0x2b4c46,_0x53314e['element']);}),_0x53314e;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x21caae=_0x364ce9['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x21caae['southArrowNorth'],_0x21caae['southArrowNorthMiddleWest'],_0x21caae['southArrowNorthMiddleEast'],_0x21caae['southArrowNorthWest'],_0x21caae['southArrowNorthEast'],_0x21caae['northArrowSouth'],_0x21caae['northArrowSouthMiddleWest'],_0x21caae['northArrowSouthMiddleEast'],_0x21caae['northArrowSouthWest'],_0x21caae['northArrowSouthEast'],_0x21caae['viewportStickyNorth']]}),_0x3eb8b2['focus'](),_0x3eb8b2['checkIfScrollable']();const _0x535006=(_0x4813b9,_0x2eea0c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2eea0c();};_0x3eb8b2['keystrokes']['set']('Esc',_0x535006),_0x3eb8b2['keystrokes']['set']('Shift+Tab',_0x535006),_0x3eb8b2['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x3eb8b2['focusTracker']['add'](this['view']['element']),_0x3eb8b2['focusTracker']['on']('change:isFocused',(_0x518a08,_0x4d85f2,_0x3d0783)=>{_0x3d0783||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);}_hideDropdownUnlessPointerInside(_0x179b49){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x512835=>_0x22725e(_0x512835,_0x179b49))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x573424{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
23
+ import{Context as _0x173008,ContextPlugin as _0x334b4d,PendingActions as _0x1597fd,Plugin as _0x347055}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x31a26d,Collection as _0x15ab26,DomEmitterMixin as _0x373b1e,KeystrokeHandler as _0x13848e,getOverlayMountRoot as _0x43009b,global as _0x575d0f,trustedHtml as _0x1bd9bb,uid as _0x305c1a,version as _0x5205bd}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x250a77,LabelView as _0x2545d3,ListItemView as _0x37736a,ListView as _0x3eb0aa,Notification as _0x48617a,OverlayHost as _0x325e75,View as _0x125328,clickOutsideHandler as _0x2ba919}from'@ckeditor/ckeditor5-ui';import{History as _0x1f93fe,InsertOperation as _0x286c5c,MarkerOperation as _0x2822bc,ModelLiveRange as _0x2ace55,NoOperation as _0x17a90c,OperationFactory as _0x2d2939,RootAttributeOperation as _0xd1239,transformOperationSets as _0xa939b6}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x479238}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x287155,CommentsService as _0x3a107a,EditorService as _0x2ae61f,RevisionHistoryService as _0x1e9a0f,TrackChangesService as _0x4b74e0,User as _0x38da0f,WEB_SOCKET_GATEWAY_STATES as _0xd5f518,WebSocketGateway as _0x5ef846}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x765632,Users as _0x2d7ca7,isPointerStillOver as _0x4f9984}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x5e359a}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x5d5d91,TrackChangesEditing as _0x190799}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x13b05e,CommentsEditing as _0x4194ba,CommentsRepository as _0x246c24}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x85f044}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x31a194}from'es-toolkit/compat';var K=class WebSocketGateway extends _0x334b4d{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x5ef846)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x479238,_0x48617a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x246676){super(_0x246676),this['set']('state',_0xd5f518['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x373b1e())();}init(){const _0x2c6e69=this['context'],_0x14c398=_0x2c6e69['plugins']['get'](_0x479238),_0x359893=_0x2c6e69['plugins']['get'](_0x48617a);if(!_0x14c398['token'])throw new _0x31a26d('websocketgateway-missing-token',this);if(!_0x14c398['webSocketUrl'])throw new _0x31a26d('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),WebSocketGateway['WebSocketGateway']['connect'](_0x14c398['token'],_0x14c398['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3d885f=>{if(this['connection']=_0x3d885f,this['bind']('state')['to'](_0x3d885f,'state',this,'_isBrowserOffline',(_0x250504,_0x596b66)=>('connected'!==_0x250504&&(this['_shouldPluginsReconnect']=!0x0),_0x596b66||_0x250504!==_0xd5f518['CONNECTED']?_0xd5f518['DISCONNECTED']:this['state']==_0xd5f518['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xd5f518['CONNECTING']):_0xd5f518['CONNECTED'])),this['connection']['on']('error',(_0x305b01,_0x448b7f)=>{if('limitExceeded'!==_0x448b7f['code'])throw console['error'](_0x448b7f),new _0x31a26d('cloudservices-init',null,{'originalError':_0x448b7f});_0x359893['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'});}),!_0x3d885f['me'])return new Promise(_0x3bf405=>_0x3d885f['on']('change:me',_0x3bf405));})['catch'](_0x666661=>{throw console['error'](_0x666661),new _0x31a26d('cloudservices-init',null,{'originalError':_0x666661});});}addToReconnectionStack(_0x20f295){if('function'!=typeof _0x20f295['reconnect'])throw new _0x31a26d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x20f295))throw new _0x31a26d('websocketgateway-plugin-already-registered',this,{'name':_0x20f295['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x20f295);}removeFromReconnectionStack(_0x2cb12a){this['_reconnectionStack']['delete'](_0x2cb12a);}isInReconnectionStack(_0x4756ad){return this['_reconnectionStack']['has'](_0x4756ad);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x58b5db=>_0x58b5db['reconnect']())))['then'](()=>this['state']=_0xd5f518['CONNECTED'])['catch'](_0x438ee8=>{throw console['error'](_0x438ee8),new _0x31a26d('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0xd5f518['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},J=class extends _0x334b4d{['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[K,_0x2d7ca7];}constructor(_0x2b0fd2){super(_0x2b0fd2),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x15ab26(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2d7ca7);}init(){const _0x563c77=this['context']['plugins']['get'](K);this['listenTo'](_0x563c77,'change:state',(_0x4cf83c,_0x1d3ca2,_0x11685f)=>{if('connected'!==_0x11685f)this['channelSessions']['forEach'](_0x215a72=>_0x215a72['clear']()),this['channelConnectedUsers']['forEach'](_0x312b30=>_0x312b30['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x551dc8,_0x412f4b]of this['_registeredSessions'])for(const _0x193db9 of _0x412f4b)this['_handleSessionAdd'](_0x551dc8,_0x193db9);}}),this['_createUser'](_0x563c77['connection']['me'],!0x0);}register(_0x9839c8,_0x3ef546){if(this['_registeredSessions']['has'](_0x9839c8))throw new _0x31a26d('sessions-register-already-registered',null,{'channelId':_0x9839c8});this['_registeredSessions']['set'](_0x9839c8,_0x3ef546),this['channelSessions']['set'](_0x9839c8,new _0x15ab26()),this['channelConnectedUsers']['set'](_0x9839c8,new _0x15ab26()),this['listenTo'](_0x3ef546,'add',(_0xc6c674,_0x4c169f)=>this['_handleSessionAdd'](_0x9839c8,_0x4c169f)),this['listenTo'](_0x3ef546,'remove',(_0x4ee896,_0x4a9916)=>this['_handleSessionRemove'](_0x9839c8,_0x4a9916));for(const _0x1467d9 of _0x3ef546)this['_handleSessionAdd'](_0x9839c8,_0x1467d9);}unregister(_0x3691b7){if(!this['_registeredSessions']['has'](_0x3691b7))throw new _0x31a26d('sessions-unregister-not-exist',null,{'channelId':_0x3691b7});const _0x4a6756=this['_registeredSessions']['get'](_0x3691b7);this['stopListening'](_0x4a6756);for(const _0x505f35 of _0x4a6756)'connected'===this['context']['plugins']['get'](K)['state']&&this['_handleSessionRemove'](_0x3691b7,_0x505f35);this['_registeredSessions']['delete'](_0x3691b7),this['channelSessions']['delete'](_0x3691b7),this['channelConnectedUsers']['delete'](_0x3691b7);}get['mySessionId'](){return this['context']['plugins']['get'](K)['connection']['sessionId'];}getUserBySessionId(_0x3cd200){for(const _0x177a79 of this['channelSessions']['values']())for(const _0x1c712e of _0x177a79)if(_0x1c712e['id']===_0x3cd200)return _0x1c712e['user'];}getUserSessions(_0xa383f7,_0x9c53bd){const _0x58585a=_0x9c53bd?[this['channelSessions']['get'](_0x9c53bd)]:this['channelSessions']['values'](),_0x5b348d=new Set();for(const _0x537038 of _0x58585a)for(const _0xa6942e of _0x537038)_0xa6942e['user']['id']===_0xa383f7['id']&&_0x5b348d['add'](_0xa6942e['id']);return _0x5b348d;}getUserRole(_0x3d62b){for(const _0x5e97bd of this['channelSessions']['values']())for(const _0x3cddae of _0x5e97bd)if(_0x3cddae['user']===_0x3d62b)return _0x3cddae['role'];}['_handleSessionAdd'](_0x2ed657,_0x29dec0){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x1cae43=_0x29dec0['user'],_0x4f8500=this['_users']['getUser'](_0x1cae43['id'])||this['_createUser'](_0x1cae43),_0x487ab9=Object['assign']({},_0x29dec0,{'user':_0x4f8500});if(this['channelSessions']['get'](_0x2ed657)['add'](_0x487ab9),!_0x1cae43['hiddenInPresenceList']){const _0x54bc00=this['channelConnectedUsers']['get'](_0x2ed657);_0x54bc00['has'](_0x4f8500['id'])||_0x54bc00['add'](_0x4f8500),this['allConnectedUsers']['has'](_0x4f8500['id'])||_0x1cae43['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x4f8500,_0x4f8500['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2ed657,{'channelId':_0x2ed657,'session':_0x487ab9});}['_handleSessionRemove'](_0x1d54de,_0x52f9b3){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x3a9444=this['channelConnectedUsers']['get'](_0x1d54de),_0x1c0cf6=_0x52f9b3['user'];_0x1c0cf6['id']&&(this['channelSessions']['get'](_0x1d54de)['remove'](_0x52f9b3['id']),_0x3a9444['has'](_0x1c0cf6['id'])&&!this['getUserSessions'](_0x1c0cf6,_0x1d54de)['size']&&_0x3a9444['remove'](_0x1c0cf6['id']),this['allConnectedUsers']['get'](_0x1c0cf6['id'])&&!this['getUserSessions'](_0x1c0cf6)['size']&&this['allConnectedUsers']['remove'](_0x1c0cf6['id']));}_createUser(_0x40ecf1,_0x5b7041){const _0x4c6be0=this['_users']['addUser'](_0x40ecf1);return _0x5b7041&&this['_users']['defineMe'](_0x40ecf1['id']),_0x4c6be0['orderNumber']=this['_uniqueUsersCount']++,_0x4c6be0;}},X=class extends _0x347055{_domEmitter=new(_0x373b1e())();static get requires(){return[J];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x2d83ea=this['editor'],_0x3c379a=_0x2d83ea['plugins']['get'](J);_0x2d83ea['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x57cd6f,{writer:_0x2ed3a3})=>function(_0x934de4,_0x55c6d7,_0x401c5d,_0x35fdda){const _0x4726b=_0x934de4['markerName']['split'](':')[0x2],_0x3d730c=_0x401c5d['getUserBySessionId'](_0x4726b);if(!_0x3d730c||_0x4726b===_0x401c5d['mySessionId'])return;if(!_0x35fdda['model']['schema']['checkChild'](_0x934de4['markerRange']['start'],'$text'))return;const _0x5eed20={'class':'ck-user__marker\x20'+_0x3d730c['color']['getMarkerClass'](),'style':tt(_0x3d730c),'data-name':_0x3d730c['name'],'data-session-id':_0x4726b},_0x481c8d=_0x35fdda['model']['markers']['get'](_0x934de4['markerName'])['getStart'](),_0xe2393d=_0x481c8d['nodeAfter'],_0x4534c2=_0x35fdda['model']['schema'];if(_0xe2393d&&_0x4534c2['isObject'](_0xe2393d)&&_0x4534c2['isInline'](_0xe2393d)&&!_0x35fdda['model']['markers']['get']('user:range:'+_0x4726b)['getRange']()['isCollapsed'])return;const _0xf15d3e=_0x481c8d['parent'];return _0x35fdda['model']['schema']['isLimit'](_0xf15d3e)&&!_0x35fdda['model']['hasContent'](_0xf15d3e)&&(_0x5eed20['contenteditable']=!0x1),function(_0x2c6029,_0x225d99,_0x1ca2d7){const _0x925bed=_0x2c6029['createUIElement']('span',_0x225d99);return _0x2c6029['setCustomProperty']('userPositionMarker',!0x0,_0x925bed),_0x925bed['render']=function(_0x63df38){const _0x282337=this['toDomElement'](_0x63df38),_0x54dbee=document['createElement']('span');return _0x54dbee['classList']['add']('ck-user__marker-tooltip'),_0x54dbee['setAttribute']('contenteditable','false'),_0x54dbee['setAttribute']('spellcheck','false'),_0x54dbee['textContent']=_0x1ca2d7['name'],_0x282337['innerHTML']=_0x1bd9bb('⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x54dbee['outerHTML']+'⁠'),_0x282337['addEventListener']('mouseenter',()=>{_0x282337['classList']['add']('ck-user__marker_hovered');}),_0x282337['addEventListener']('mouseleave',()=>{_0x282337['classList']['remove']('ck-user__marker_hovered');}),_0x282337;},_0x925bed['isSimilar']=function(_0x4acd6d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4acd6d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4acd6d['getAttribute']('data-session-id'));},_0x925bed;}(_0x55c6d7,_0x5eed20,_0x3d730c);}(_0x57cd6f,_0x2ed3a3,_0x3c379a,_0x2d83ea)}),_0x2d83ea['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x15aced=>function(_0x39d48c,_0x36d612){const _0x562549=_0x39d48c['markerName']['split'](':')[0x2];if(_0x562549===_0x36d612['mySessionId'])return null;const _0x391274=_0x36d612['getUserBySessionId'](_0x562549);return _0x391274?{'id':_0x562549,'classes':['ck-user__selection',_0x391274['color']['getSelectionClass']()],'attributes':{'style':tt(_0x391274),'data-session-id':_0x562549},'priority':0x7d0+_0x391274['orderNumber']}:{'id':_0x562549,'classes':[]};}(_0x15aced,_0x3c379a)}),function(_0x12457c){const _0x2b82df=_0x12457c['model'],_0x16056f=new Map(),_0x2afa99=_0x12457c['plugins']['get'](J);_0x2b82df['markers']['on']('update:user:range',(_0x3bebae,_0x5a4317,_0xb2714,_0x5c52c0)=>{if(!_0x5c52c0&&_0x16056f['get'](_0x5a4317['name']))return _0x16056f['get'](_0x5a4317['name'])['detach'](),void _0x16056f['delete'](_0x5a4317['name']);const _0x27b3fe=_0x5a4317['name']['split'](':')[0x2];if(_0x27b3fe===_0x2afa99['mySessionId'])return;const _0x545c06='user:position:'+_0x27b3fe;_0x2b82df['markers']['has'](_0x545c06)&&_0x12457c['editing']['reconvertMarker'](_0x545c06),_0x5a4317['on']('change:range',(_0x51cdbd,_0x16b9d2,_0x1e1f16)=>{if('$graveyard'!=_0x16b9d2['root']['rootName']&&'$graveyard'==_0x5a4317['getRange']()['root']['rootName']&&!_0x16056f['has'](_0x5a4317['name'])){const _0x1f7ece=_0x2b82df['schema']['getNearestSelectionRange'](_0x1e1f16['deletionPosition']);if(_0x1f7ece){const _0x20fa31=_0x2ace55['fromRange'](_0x1f7ece);_0x16056f['set'](_0x5a4317['name'],_0x20fa31),_0x20fa31['on']('change:range',(_0x34611e,_0x8bf331,_0x112797)=>{if('$graveyard'==_0x20fa31['root']['rootName']){const _0x20e2e6=_0x2b82df['schema']['getNearestSelectionRange'](_0x112797['deletionPosition']);_0x20e2e6?(_0x20fa31['start']=_0x20e2e6['start'],_0x20fa31['end']=_0x20e2e6['end']):(_0x16056f['delete'](_0x5a4317['name']),_0x20fa31['detach']());}});}}});}),_0x2b82df['document']['on']('change',()=>{_0x16056f['size']>0x0&&_0x2b82df['enqueueChange']({'isUndoable':!0x1},_0x2624d0=>{for(const [_0x25cef1,_0x56f2ce]of _0x16056f)'$graveyard'==_0x2b82df['markers']['get'](_0x25cef1)['getRange']()['root']['rootName']&&(Z(_0x25cef1['split'](':')[0x2],_0x56f2ce['toRange'](),_0x2b82df,_0x2624d0),_0x56f2ce['detach']());_0x16056f['clear']();});});}(_0x2d83ea),this['_domEmitter']['listenTo'](_0x575d0f['document'],'keydown',(_0x2f3c2e,{key:_0x1cde15})=>{'Escape'===_0x1cde15&&function(_0x1e0134){_0x1e0134['editing']['view']['change'](_0x22a361=>{for(const _0xe86184 of _0x1e0134['model']['markers']){if(!_0xe86184['name']['startsWith']('user:position'))continue;const _0x1f49af=_0x1e0134['editing']['mapper']['markerNameToElements'](_0xe86184['name']);if(_0x1f49af){for(const _0x39e640 of _0x1f49af)_0x22a361['removeClass']('ck-user__marker_hovered',_0x39e640);}}});}(_0x2d83ea);},{'useCapture':!0x0});}afterInit(){const _0x23fff4=this['editor'],_0x55036c=_0x23fff4['commands']['get']('undo');_0x55036c&&_0x23fff4['model']['on']('applyOperation',(_0x3932c6,_0x317c7a)=>{const _0x3bc866=_0x317c7a[0x0];if(!_0x3bc866['isDocumentOperation'])return;if('marker'!=_0x3bc866['type']||!_0x3bc866['name']['startsWith']('user:'))return;const _0x25d882=_0x3bc866['batch'];_0x55036c['_createdBatches']['has'](_0x25d882)&&(_0x3bc866['newRange']=_0x3bc866['oldRange']?_0x23fff4['model']['createRange'](_0x3bc866['oldRange']['start'],_0x3bc866['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x32c5ba=this['editor'],_0x5d77b8=_0x32c5ba['model']['document'],_0x49fcac=_0x32c5ba['plugins']['get'](J);_0x32c5ba['model']['enqueueChange']({'isUndoable':!0x1},_0x116097=>{const _0x39784c='user:range:'+_0x49fcac['mySessionId'],_0x4f9deb='user:position:'+_0x49fcac['mySessionId'],_0x1c9012=_0x32c5ba['model']['markers']['has'](_0x39784c);_0x32c5ba['editing']['view']['hasDomSelection']?Z(_0x49fcac['mySessionId'],_0x5d77b8['selection']['getFirstRange'](),_0x32c5ba['model'],_0x116097):_0x1c9012&&(_0x116097['removeMarker'](_0x39784c),_0x116097['removeMarker'](_0x4f9deb));});}};function Z(_0x1397cf,_0x578f11,_0x436b13,_0x3eb350){const _0x3d690='user:range:'+_0x1397cf,_0x59eb60='user:position:'+_0x1397cf,_0x52c283=_0x578f11['getContainedElement']();let _0x1157bb=_0x578f11['start'];if(_0x52c283&&_0x52c283['is']('element','tableCell')){const _0x488cfc=function(_0x21586c,_0xccb330){for(const _0x334c3c of _0x21586c['getPositions']())if(_0xccb330['schema']['checkChild'](_0x334c3c,'$text'))return _0x334c3c;}(_0x578f11,_0x436b13);_0x488cfc&&(_0x1157bb=_0x488cfc,_0x578f11=_0x3eb350['createRange'](_0x1157bb));}const _0x37b4f7=_0x3eb350['createRange'](_0x1157bb);_0x436b13['markers']['has'](_0x3d690)?(_0x3eb350['updateMarker'](_0x3d690,{'range':_0x578f11}),_0x3eb350['updateMarker'](_0x59eb60,{'range':_0x37b4f7})):(_0x3eb350['addMarker'](_0x3d690,{'range':_0x578f11,'usingOperation':!0x0}),_0x3eb350['addMarker'](_0x59eb60,{'range':_0x37b4f7,'usingOperation':!0x0}));}function tt(_0x498428){return'--ck-user-color:'+_0x498428['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x498428['color']['getColorAlphaVariable']()+';';}function et(_0x3fe5ae,_0x458095,_0x3a6934){const _0x1cffa7=_0x3fe5ae['t'],t=_0x3fe5ae['t'];switch(_0x458095){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 _0x1cffa7({'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'},_0x3a6934);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x347055{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x287155)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[K,J,X,_0x1597fd,_0x2d7ca7,_0x48617a];}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 _0x523858=this['serverHistory']['getOperations']();for(let _0x16cfe7=_0x523858['length']-0x1;_0x16cfe7>=0x0;_0x16cfe7--){const _0x5d06b0=_0x523858[_0x16cfe7];if(!this['_disconnectionOperations']['has'](_0x5d06b0))return _0x5d06b0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x135a3b){if(super(_0x135a3b),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1f93fe(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x31a26d('collaboration-missing-channelid',this);const _0x4d9c99=_0x135a3b['config']['get']('cloudServices.bundleVersion')||_0x5205bd;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x4d9c99,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5e359a(),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 ot(this['_disconnectionOperations']);}init(){const _0x2e7cc3=this['editor'],_0x2cf474=_0x2e7cc3['plugins']['get'](_0x2d7ca7),_0x2ab933=_0x2e7cc3['plugins']['get'](K);this['listenTo'](_0x2cf474,'getOperationAuthor',(_0x6c38f9,_0x527657)=>{const _0x18909d=_0x527657[0x0];_0x18909d['_authorId']&&(_0x6c38f9['return']=_0x2cf474['getUser'](_0x18909d['_authorId']),_0x6c38f9['stop']()),null===_0x18909d['_authorId']&&(_0x6c38f9['return']=null,_0x6c38f9['stop']());},{'priority':'high'}),this['listenTo'](_0x2e7cc3['model']['document']['selection'],'change:range',(_0x2f1779,_0x19693d)=>{_0x19693d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2e7cc3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2e7cc3['model']['on']('applyOperation',(_0x5286c9,_0x366a4c)=>{const _0x2fe6de=_0x366a4c[0x0];_0x2fe6de['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2fe6de),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2ab933,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x1c9bac,_0x58ccca,_0x191790)=>'connected'===_0x1c9bac&&!_0x58ccca&&!_0x191790),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2e7cc3['disableReadOnlyMode']('rtc-offline'):_0x2e7cc3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2e7cc3['disableReadOnlyMode']('rtc-offline'):_0x2e7cc3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x57821b=this['editor']['plugins']['get'](J),_0x712df0=this['editor']['plugins']['get'](K);try{this['_isPendingUpdate']=!0x0,_0x57821b['unregister'](this['_channelId']);const _0x3df16b=await this['_service']['reconnect'](_0x712df0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3df16b)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xc573b7=await this['_service']['getConnectedSessions']();_0x57821b['register'](this['_channelId'],_0xc573b7),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5575ce){if(function(_0x52951d){return'404'===_0x52951d['code'];}(_0x5575ce)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4a4b96){return'409'===_0x4a4b96['code'];}(_0x5575ce)){const _0xd54f77=et(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'](_0xd54f77);}else{if(!(_0x5575ce instanceof nt))throw _0x5575ce;this['_handleReconnectionError']();}}}}destroy(){const _0x4d5d8a=this['editor']['plugins']['get'](K),_0x130f2d=this['editor']['plugins']['get'](J);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x130f2d['channelSessions']['has'](this['_channelId'])&&_0x130f2d['unregister'](this['_channelId']),_0x4d5d8a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x4e25e6){if(this['sessionId']!==_0x4e25e6['sessionId']&&this['_lastSyncedOperationId']!==_0x4e25e6['lastOperationId'])throw new nt();return this['sessionId']=_0x4e25e6['sessionId'],this['_handleServerResponse']([],{..._0x4e25e6,'wereChangesApplied':!0x1,'data':_0x4e25e6['data']},'reconnect');}async _connectService(_0xa1ced3,_0x2c0055=!0x1){const {connection:_0x21c40a}=this['editor']['plugins']['get'](K);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x21c40a,this['_channelId'])['then'](_0x400f89=>this['_initSessionsHandling'](_0x400f89))['catch'](_0x1397dd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1397dd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x204d33,_0x3a0865)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3a0865);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x10b258=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xa1ced3);this['_isPendingUpdate']=!0x0;const _0x41ae08=await this['_service']['connect'](_0x21c40a,this['_compressOperations'](_0xa1ced3),_0x10b258);if(this['sessionId']=_0x41ae08['sessionId'],_0x2c0055){if(!_0x41ae08['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x41ae08['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xa1ced3,_0x41ae08,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x41ae08,_0xa1ced3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x30c635=this['editor']['plugins']['get'](J),_0x505bed=this['editor']['plugins']['get'](X),_0x4ac60e=_0x30c635['channelSessions']['get'](this['_channelId']);_0x4ac60e&&_0x4ac60e['length']>0x1?_0x505bed['createUserMarkerOperations']():this['listenTo'](_0x30c635,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x30c635['channelSessions']['get'](this['_channelId'])['length']&&_0x505bed['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x5c9c4f,_0x195745,_0x5e0ae7,_0x44bd87){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x195745){const _0x3a246e=this['_decompressOperations'](_0x5e0ae7,_0x44bd87);await this['_fetchMissingUsers'](_0x3a246e),this['_handleExternalOperations'](_0x3a246e,_0x195745,_0x5e0ae7['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x1f6bfd}=this['editor'];let _0x4dc023;try{_0x4dc023=await this['_service']['getDocumentDetails']();}catch{const _0x32a37b=et(_0x1f6bfd,'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'](_0x32a37b);}const _0x9329ae=_0x4dc023['currentDocumentSession']||_0x4dc023['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x9329ae['lastOperationId']){const _0x5bc523=et(_0x1f6bfd,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x5bc523);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x854c82=this['editor']['plugins']['get'](K);if(this['_isConnected']=!0x1,!_0x854c82['connection']||'connected'!==_0x854c82['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x4dbe60=this['editor']['plugins']['get'](J);_0x4dbe60['channelSessions']['has'](this['_channelId'])&&_0x4dbe60['unregister'](this['_channelId']),_0x854c82['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x1a491c){const _0x2c57e6=this['editor']['plugins']['get'](J);this['listenTo'](_0x2c57e6,'sessionAdd:'+this['_channelId'],(_0x19a926,{session:_0xe24766})=>{if(_0xe24766['id']===_0x2c57e6['mySessionId']){_0x19a926['off']();const _0x5871ce=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x188d78=_0xe24766['permissions'];_0x5871ce&&_0x5871ce['isEnabled']&&(_0x188d78=_0x188d78['filter'](_0xabdde3=>'document:write'!==_0xabdde3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x188d78,this['_channelId']);}}),_0x2c57e6['register'](this['_channelId'],_0x1a491c);}_initThrowingOnDataSet(){const _0x28dfd5=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3a21e)=>{if(!_0x3a21e[_0x3a21e['length']-0x1]['suppressErrorInCollaboration'])throw new _0x31a26d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x28dfd5['apply'](this['editor']['data'],_0x3a21e);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x1c274c,[_0x505fd6])=>{if(this['_document']['version'])throw new _0x31a26d('realtimecollaborationclient-init-document-already-initialized',this);_0x1c274c['stop'](),this['_setPendingAction']();const _0x2265ed=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xf2351b])=>!_0xf2351b['lazyLoad'])['map'](([_0xfa52d,_0x1e389f])=>[_0xfa52d,_0x1e389f['modelAttributes']||{}])),_0x25c576=this['_getOperationsFromInitData'](_0x505fd6,_0x2265ed);0x0==_0x25c576['length']&&_0x25c576['push'](new _0x17a90c(0x0)),_0x1c274c['return']=this['_connectService'](_0x25c576)['then'](()=>{this['editor']['plugins']['get'](K)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3ea863=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3ea863))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x544439,[_0x292eca,_0x119905])=>{_0x544439['stop']();const _0x3c5379=this['editor']['model']['document']['getRoot'](_0x292eca);if(!this['_knownRootNames']['has'](_0x292eca)){const _0x27b047=_0x119905&&_0x119905['data']?_0x119905['data']:'',_0x535925=_0x119905&&_0x119905['attributes']?_0x119905['attributes']:{};await this['_loadRoot'](_0x292eca,_0x27b047,_0x535925);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3c5379['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3c5379);});},{'priority':'high'});}async _fetchMissingUsers(_0x5f4413){const _0x3cdedb=this['editor']['plugins']['get'](_0x2d7ca7),{connection:_0x34622b}=this['editor']['plugins']['get'](K),_0x58a667=new Set();for(const _0x2a05ea of _0x5f4413){const _0x4fefa1=_0x2a05ea['_authorId'];_0x4fefa1&&!_0x3cdedb['getUser'](_0x4fefa1)&&_0x58a667['add'](_0x4fefa1);}if(0x0===_0x58a667['size'])return;const _0x2945e0=await _0x38da0f['getMany'](_0x34622b,Array['from'](_0x58a667));for(const _0x185041 of _0x2945e0)_0x3cdedb['getUser'](_0x185041['id'])||_0x3cdedb['addUser'](_0x185041);}_getOperationsFromInitData(_0x4124d8,_0xcfc80a={}){const _0x3dd4b8=this['editor']['model'],_0x13849e=[];let _0x479df9=0x0;const _0x1b666e='string'==typeof _0x4124d8?{'main':_0x4124d8}:_0x4124d8;for(const _0x27dcd9 of Object['keys'](_0x1b666e)){if(!this['_document']['roots']['has'](_0x27dcd9))throw new _0x31a26d('realtimecollaborationclient-init-non-existent-root',this);const _0x511aa2=this['_document']['getRoot'](_0x27dcd9),_0x37ee49=this['editor']['data']['parse'](_0x1b666e[_0x27dcd9],_0x511aa2),_0x187eb0=new _0x286c5c(_0x3dd4b8['createPositionAt'](_0x511aa2,0x0),_0x37ee49,_0x479df9++);_0x13849e['push'](_0x187eb0);for(const [_0x13bdd4,_0x595b71]of _0x37ee49['markers']){const _0x4f0b26=_0x3dd4b8['createRange'](_0x3dd4b8['createPositionFromPath'](_0x511aa2,_0x595b71['start']['path']['slice']()),_0x3dd4b8['createPositionFromPath'](_0x511aa2,_0x595b71['end']['path']['slice']())),_0x11eed8=new _0x2822bc(_0x13bdd4,null,_0x4f0b26,_0x3dd4b8['markers'],!0x0,_0x479df9++);_0x13849e['push'](_0x11eed8);}}if(_0xcfc80a)for(const [_0x20ff0c,_0x3c78dc]of Object['entries'](_0xcfc80a)){const _0xce373d=_0x3dd4b8['document']['getRoot'](_0x20ff0c);if(!_0xce373d)throw new _0x31a26d('multi-root-editor-root-attributes-no-root',null);for(const [_0x2a9130,_0x5f14ea]of Object['entries'](_0x3c78dc))if(null!==_0x5f14ea){const _0x144fef=new _0xd1239(_0xce373d,_0x2a9130,null,_0x5f14ea,_0x479df9++);_0x13849e['push'](_0x144fef);}}return _0x13849e;}async _loadRoot(_0x27c81d,_0x45a6d7,_0x189e85){this['_getOperationsFromInitData']({[_0x27c81d]:_0x45a6d7},{[_0x27c81d]:_0x189e85})['forEach']((_0x350ce6,_0x6d3db8)=>{_0x350ce6['baseVersion']=this['_document']['version']+_0x6d3db8,_0x350ce6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x350ce6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x54bad2,_0x17b299){let _0x9cf2be;this['_offset']=_0x54bad2['offset'];const _0x2b63fa=_0x54bad2['wereChangesApplied']&&!_0x54bad2['initData'],_0x3a2253=_0x2b63fa?0x0:_0x54bad2['data']['baseVersion'];if(_0x17b299['forEach'](_0x565954=>{_0x565954['_isInit']=!0x0,_0x565954['createdAt']=_0x54bad2['sessionCreatedAt'],_0x565954['_authorId']=null;}),_0x2b63fa)_0x9cf2be=_0x17b299,this['_applyOperationsSet'](_0x9cf2be,_0x2b63fa);else{if(_0x54bad2['initData']){const _0x44cee6=this['_getOperationsFromInitData'](_0x54bad2['initData']);this['_document']['history']['version']=-_0x44cee6['length'],_0x44cee6['forEach'](_0x3b4506=>{_0x3b4506['baseVersion']-=_0x44cee6['length'],_0x3b4506['createdAt']=_0x54bad2['sessionCreatedAt'],_0x3b4506['_isInit']=!0x0,_0x3b4506['_authorId']=null;}),this['_applyOperationsSet'](_0x44cee6,!0x0),this['serverHistory']['version']=-_0x44cee6['length']+this['_offset'],this['_updateServerHistory'](_0x44cee6);}this['_document']['history']['version']=_0x3a2253,_0x9cf2be=this['_decompressOperations'](_0x54bad2['data'],_0x54bad2['metadata']),await this['_fetchMissingUsers'](_0x9cf2be),this['_applyOperationsSet'](_0x9cf2be,_0x2b63fa);}_0x54bad2['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x9cf2be,_0x54bad2['lastOperationId']),this['_lastSyncedOperationId']=_0x54bad2['lastOperationId']),this['serverHistory']['version']=_0x3a2253+this['_offset'],this['_updateServerHistory'](_0x9cf2be),_0x17b299['filter'](_0x43c5c6=>{const _0x24ad08=this['_getAffectedRoot'](_0x43c5c6);return _0x24ad08&&!this['_knownRootNames']['has'](_0x24ad08);})['forEach']((_0xe32aef,_0x517805)=>{_0xe32aef['baseVersion']=this['_document']['version']+_0x517805,this['_saveOperationInBuffer'](_0xe32aef);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x44c4f1,_0x1924cb){const _0x121ef3=_0x1924cb&&_0x1924cb['message'];if(_0x121ef3&&_0x121ef3['startsWith']('realtimecollaborationclient'))throw _0x1924cb;const _0xbf4fe8=this['editor']['plugins']['get'](K);throw this['_isPendingUpdate']=!0x0,_0xbf4fe8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x31a26d(_0x44c4f1,this['editor'],_0x121ef3?{'originalError':_0x121ef3}:void 0x0);}_saveOperationInBuffer(_0x543014){this['_knownOperations']['has'](_0x543014)||(this['_knownOperations']['add'](_0x543014),this['_bufferedOperations']['push'](_0x543014),this['_pendingAction']||'marker'==_0x543014['type']&&!_0x543014['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x782a73=!0x1){!_0x782a73&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x51cd58=>{_0x51cd58&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x13f459=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xefb65f){return _0xefb65f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xefb65f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xefb65f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x13f459)||this['_crash'](_0x13f459['message'],_0x13f459);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x54ca07=>{this['on']('change:_isPendingUpdate',()=>{_0x54ca07();});});}async _sendBufferedOperations(){const _0x2d0aa3=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x2d0aa3['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3bc716=[...this['_bufferedOperations']];for(const _0x2f589d of _0x3bc716)_0x2f589d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2f589d);const _0x4270d3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3bc716),_0x916d9=st++,_0xefad28=this['_compressOperations'](_0x3bc716),_0x262b54=await this['_service']['sendOperations'](_0xefad28,_0xefad28['baseVersion'],_0x4270d3);try{return await this['_handleServerResponse'](_0x3bc716,_0x262b54,_0x916d9);}catch(_0x17c528){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x17c528);}}async['_handleServerResponse'](_0x30ec1b,_0x1e1ce6,_0x5abce2){if('error'in _0x1e1ce6)throw _0x1e1ce6['error'];let _0x7f3a5;if(_0x1e1ce6['wereChangesApplied']){_0x1e1ce6['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1e1ce6['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4cbc07=>!_0x30ec1b['includes'](_0x4cbc07));for(const _0x49d89e of _0x30ec1b)_0x49d89e['createdAt']='lastOperationAcceptedAt'in _0x1e1ce6&&_0x1e1ce6['lastOperationAcceptedAt']||void 0x0;rt(_0x30ec1b,_0x1e1ce6['version']-_0x30ec1b['length']),this['_updateServerHistory'](_0x30ec1b);const _0xe5a934=_0x30ec1b['filter'](_0xf5fcb3=>{if(!_0xf5fcb3['_isInit'])return!0x1;const _0x49c087=this['_getAffectedRoot'](_0xf5fcb3);return _0x49c087&&!this['_knownRootNames']['has'](_0x49c087);});rt(_0xe5a934,this['_document']['version']),this['_applyOperationsSet'](_0xe5a934),_0x7f3a5=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3cc23e=this['_decompressOperations'](_0x1e1ce6['data'],_0x1e1ce6['metadata'])['filter'](_0x9ccfac=>_0x9ccfac['baseVersion']>=this['_lastServerVersion']);_0x3cc23e['forEach'](_0x1deb79=>this['_addKnownRoot'](_0x1deb79)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x274e51=>!_0x274e51['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x274e51))),this['_bufferedOperations']['length']&&rt(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3cc23e),_0x7f3a5=this['_handleExternalOperations'](_0x3cc23e,_0x1e1ce6['version'],_0x1e1ce6['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x7f3a5?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x18999a,_0x3784a7,_0x5774e0){try{const _0x25916f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2cd5d6,operationsB:_0x36dc19,originalOperations:_0x209adf}=_0xa939b6(_0x18999a,this['_bufferedOperations'],_0x25916f);rt(_0x2cd5d6,this['_document']['version']),rt(_0x36dc19,_0x3784a7);for(const _0x4f9a81 of _0x2cd5d6){const _0x2c178e=_0x209adf['get'](_0x4f9a81);_0x2c178e?(_0x4f9a81['_authorId']=_0x2c178e['_authorId'],'noop'!==_0x4f9a81['type']&&(_0x4f9a81['_aiSource']=_0x2c178e['_aiSource'])):_0x4f9a81['_authorId']=null;}for(const _0x19cd7d of _0x36dc19)'noop'!==_0x19cd7d['type']&&(_0x19cd7d['_aiSource']=_0x209adf['get'](_0x19cd7d)?.['_aiSource']);_0x5774e0&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x18999a,_0x5774e0),this['_lastSyncedOperationId']=_0x5774e0),this['_bufferedOperations']=[..._0x36dc19],this['_applyOperationsSet'](_0x2cd5d6),this['_updateServerHistory'](_0x18999a);}catch(_0x5bd3b0){return console['error'](_0x5bd3b0),!0x1;}return!0x0;}_applyOperationsSet(_0x57a162,_0x46058f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3d3937=>{for(const _0x1ffe21 of _0x57a162)this['_knownOperations']['add'](_0x1ffe21),this['_addKnownRoot'](_0x1ffe21),_0x3d3937['batch']['addOperation'](_0x1ffe21),this['editor']['model']['applyOperation'](_0x1ffe21);});}_addKnownRoot(_0x1fa43f){const _0x2de6c8=this['_getAffectedRoot'](_0x1fa43f);_0x2de6c8&&this['_knownRootNames']['add'](_0x2de6c8);}_getAffectedRoot(_0xe1f1ed){let _0x18643a,_0x44ef14;switch(_0xe1f1ed['type']){case'insert':_0x18643a=_0xe1f1ed['position']['root'];break;case'marker':if(_0x44ef14=_0xe1f1ed['newRange'],!_0x44ef14)return null;_0x18643a=_0x44ef14['root'];break;case'addRootAttribute':_0x18643a=_0xe1f1ed['root'];break;case'addRoot':_0x18643a=_0xe1f1ed['affectedSelectable'];break;case'move':_0x18643a=_0xe1f1ed['targetPosition']['root'];break;default:return null;}return _0x18643a['rootName'];}_updateServerHistory(_0x45218b){_0x45218b['forEach'](_0x12e1fa=>{const _0x3ff6fb=_0x12e1fa['clone']();_0x3ff6fb['_authorId']=_0x12e1fa['_authorId'],_0x3ff6fb['_isInit']=!!_0x12e1fa['_isInit'],_0x3ff6fb['_aiSource']=_0x12e1fa['_aiSource'],_0x3ff6fb['createdAt']=_0x12e1fa['createdAt'],_0x3ff6fb['baseVersion']+=this['_offset'],_0x12e1fa['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3ff6fb),this['serverHistory']['addOperation'](_0x3ff6fb);});}_handleReconnectionError(_0x166826){const _0x419ad5=this['editor']['plugins']['get']('Notification'),_0x46f91=this['editor']['locale'];_0x166826||(_0x166826=et(_0x46f91,'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.')),_0x419ad5['showWarning'](_0x166826,{'title':et(_0x46f91,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](K)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1597fd)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1597fd)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x962355){const _0x4dacd9=_0x962355['map'](_0x29e4d0=>_0x29e4d0['toJSON']());return this['_compressor']['compress'](_0x4dacd9);}_decompressOperations(_0x45efae,_0x34a45f){return this['_compressor']['decompress'](_0x45efae)['map']((_0x569804,_0x50278b)=>{const _0x3f0cee='init'==_0x34a45f[_0x50278b]['type'];if('InsertOperation'==_0x569804['__className']){const _0x2b69a4=_0x569804['position']['root'];!this['_document']['getRoot'](_0x2b69a4)&&(this['_document']['createRoot']('$unknown',_0x2b69a4)['_isAttached']=!0x1);}else{if('RootOperation'==_0x569804['__className']){const _0x135a17=this['_document']['getRoot'](_0x569804['rootName']);_0x135a17&&'$unknown'==_0x135a17['name']&&_0x569804['elementName']!=_0x135a17['name']&&(_0x135a17['name']=_0x569804['elementName']);}}const _0x29f054=_0x2d2939['fromJSON'](_0x569804,this['_document']);return _0x29f054['wasUndone']=_0x569804['wasUndone'],_0x29f054['_isInit']=_0x3f0cee,_0x29f054['_authorId']=_0x3f0cee?null:_0x34a45f[_0x50278b]['userId'],_0x29f054['_isDisconnection']='cs:removeUser'===_0x34a45f[_0x50278b]['type'],_0x29f054['_aiSource']=_0x569804['_aiSource']||void 0x0,_0x29f054['createdAt']=_0x34a45f[_0x50278b]['createdAt'],_0x29f054;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x55dee5=this['editor']['plugins']['get'](J)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x55dee5&&_0x55dee5['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function rt(_0x47e4a2,_0x234f2c){for(const _0x1234f9 of _0x47e4a2)_0x1234f9['baseVersion']=_0x234f2c++;}var ot=class{_ignoredOperations;_operationToId;constructor(_0x573a1a){this['_ignoredOperations']=_0x573a1a,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x26988d){let _0x2f890b=_0x26988d['length'];for(;_0x2f890b--;){const _0x1dc6c7=_0x26988d[_0x2f890b];if(!this['_ignoredOperations']['has'](_0x1dc6c7)){if(!this['_operationToId']['has'](_0x1dc6c7)){const _0x38b588=_0x305c1a()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1dc6c7,_0x38b588);}return this['_operationToId']['get'](_0x1dc6c7);}}}setIdForTheLastOperation(_0x134366,_0x3799f4){if(!_0x3799f4)return;let _0xd495=_0x134366['length'];for(;_0xd495--;){const _0x182c59=_0x134366[_0xd495];this['_ignoredOperations']['has'](_0x182c59)||this['_operationToId']['set'](_0x182c59,_0x3799f4);}}},ct=class extends _0x347055{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class extends _0x347055{['_sources']=new Map();_data=null;_hasStarted=!0x1;static get requires(){return[K,J,_0x2d7ca7];}static get['pluginName'](){return'RealTimeContentFetcher';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}_register(_0x9e36aa,_0x567926){if(this['_hasStarted'])throw new _0x31a26d('realtimecontentfetcher-register-after-init',null,{'name':_0x9e36aa});if(this['_sources']['has'](_0x9e36aa))throw new _0x31a26d('realtimecontentfetcher-register-duplicate',null,{'name':_0x9e36aa});this['_sources']['set'](_0x9e36aa,_0x567926);}_takeInitialData(_0x2efc2b){if(!this['_data'])throw new _0x31a26d('realtimecontentfetcher-data-not-ready',null,{'name':_0x2efc2b});if(!this['_data']['has'](_0x2efc2b))throw new _0x31a26d('realtimecontentfetcher-data-not-available',null,{'name':_0x2efc2b});const _0x285b31=this['_data']['get'](_0x2efc2b);return this['_data']['delete'](_0x2efc2b),_0x285b31;}async init(){this['_hasStarted']=!0x0;const _0x8b2407=Array['from'](this['_sources']),_0x27519e=await Promise['all'](_0x8b2407['map'](([,_0x310f3f])=>_0x310f3f['fetch']()));await this['_fetchMissingUsers'](_0x8b2407['map'](([,_0x1954f6],_0x2c49f5)=>_0x1954f6['getUserIds'](_0x27519e[_0x2c49f5]))),this['_data']=new Map(_0x8b2407['map'](([_0x51b925],_0x27644a)=>[_0x51b925,_0x27519e[_0x27644a]]));}async _fetchMissingUsers(_0x2361be){const _0x199d2e=this['editor']['plugins']['get'](_0x2d7ca7),_0x1467b0=new Set();for(const _0x5cf61d of _0x2361be)for(const _0x404345 of _0x5cf61d)_0x199d2e['getUser'](_0x404345)||_0x1467b0['add'](_0x404345);if(0x0===_0x1467b0['size'])return;const {connection:_0x35428c}=this['editor']['plugins']['get'](K),_0x323f5c=await _0x38da0f['getMany'](_0x35428c,Array['from'](_0x1467b0));for(const _0x37e585 of _0x323f5c)_0x199d2e['getUser'](_0x37e585['id'])||_0x199d2e['addUser'](_0x37e585);}};function ht(_0x3d6de1){const _0x1e09e3=new Set();for(const {resolvedBy:_0x50ba69,comments:_0x2626ba}of _0x3d6de1){_0x50ba69&&_0x1e09e3['add'](_0x50ba69);for(const {userId:_0x12f1b8}of _0x2626ba)_0x1e09e3['add'](_0x12f1b8);}return _0x1e09e3;}var lt=class CloudServicesCommentsAdapter extends _0x334b4d{static CommentsService=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3a107a)());['_services'];_pendingServiceEvents=new Map();_channelsAwaitingInitialData=new Set();static get requires(){return[K,_0x246c24,J,_0x2d7ca7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x14993c){super(_0x14993c),this['_services']=new Map();}async init(){const _0x36e669=this['context'],_0x22a69d=_0x36e669['plugins']['get'](_0x246c24);if(_0x36e669['plugins']['get'](K)['addToReconnectionStack'](this),_0x22a69d['adapter']={'addCommentThread':async({channelId:_0x43d6d8,threadId:_0x46adcd,comments:_0x419a80,resolvedAt:_0x17e4bb,resolvedBy:_0x45acf6,context:_0x14c2fb,attributes:_0x112fb3})=>{const _0x5c7047=await this['_getService'](_0x43d6d8)['addCommentThread']({'commentThreadId':_0x46adcd,'comments':_0x419a80['map'](_0x511bc0=>function(_0x251683,_0x277f5c,_0xb79362){return{'commentThreadId':_0xb79362,'commentId':_0x251683['commentId'],'userId':_0x251683['authorId'],'content':_0x251683['content'],'documentId':_0x277f5c,'createdAt':_0x251683['createdAt'],'attributes':_0x251683['attributes']||{}};}(_0x511bc0,_0x43d6d8,_0x46adcd)),'resolvedAt':_0x17e4bb,'resolvedBy':_0x45acf6,'context':_0x14c2fb,'attributes':_0x112fb3})['catch'](ut);return{'threadId':_0x5c7047['commentThreadId'],'comments':_0x5c7047['comments']};},'getCommentThread':async({channelId:_0x4c6239,threadId:_0x3c7730})=>{const _0x40628a=await this['_getService'](_0x4c6239)['getCommentThread'](_0x3c7730)['catch'](dt)['catch'](ut);return _0x40628a?_0x40628a['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x40628a]),{'threadId':_0x40628a['commentThreadId'],'comments':_0x40628a['comments']['map'](ft),'context':_0x40628a['context'],'resolvedAt':_0x40628a['resolvedAt'],'resolvedBy':_0x40628a['resolvedBy'],'attributes':_0x40628a['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5f3496,threadId:_0x5ed2a5,context:_0x37a994,unlinkedAt:_0x518d04,attributes:_0x3d85a0})=>this['_getService'](_0x5f3496)['updateCommentThread']({'commentThreadId':_0x5ed2a5,'context':_0x37a994,'attributes':_0x3d85a0,'unlinkedAt':_0x518d04})['catch'](dt)['catch'](ut),'resolveCommentThread':async({channelId:_0x5224ea,threadId:_0x56aa0f})=>{const _0x342ec5=await this['_getService'](_0x5224ea)['resolveCommentThread'](_0x56aa0f)['catch'](dt)['catch'](ut);return{'threadId':_0x342ec5['commentThreadId'],'resolvedAt':_0x342ec5['resolvedAt'],'resolvedBy':_0x342ec5['resolvedBy']};},'reopenCommentThread':async({channelId:_0x17b38d,threadId:_0x39e482})=>this['_getService'](_0x17b38d)['reopenCommentThread'](_0x39e482)['catch'](dt)['catch'](ut),'removeCommentThread':({channelId:_0x298f90,threadId:_0x23f5d2})=>this['_getService'](_0x298f90)['removeCommentThread'](_0x23f5d2)['catch'](dt)['catch'](ut),'addComment':({channelId:_0x241ea2,threadId:_0x173c38,commentId:_0x4d136f,content:_0x4c46ed,attributes:_0x176bff})=>this['_getService'](_0x241ea2)['addComment'](_0x173c38,_0x4d136f,_0x4c46ed,_0x176bff)['catch'](ut),'updateComment':({channelId:_0x343bd0,threadId:_0x2e96df,commentId:_0x51e0e1,content:_0x276e9e,attributes:_0x198e21})=>this['_getService'](_0x343bd0)['updateComment'](_0x2e96df,_0x51e0e1,_0x276e9e,_0x198e21)['catch'](dt)['catch'](ut),'removeComment':({channelId:_0x31a5d6,threadId:_0x415f9e,commentId:_0x32d08a})=>this['_getService'](_0x31a5d6)['removeComment'](_0x415f9e,_0x32d08a)['catch'](dt)['catch'](ut)},_0x36e669 instanceof _0x173008){const _0x200ceb=_0x36e669['config']['get']('collaboration.channelId'),_0x283739=_0x36e669['plugins']['get'](J);await this['_setUpService'](_0x200ceb);const _0x517073=await this['_services']['get'](_0x200ceb)['getConnectedSessions']();this['listenTo'](_0x283739,'sessionAdd:'+_0x200ceb,(_0x397121,{session:_0x44c73e})=>{_0x44c73e['id']===_0x283739['mySessionId']&&(_0x397121['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x44c73e['permissions'],_0x200ceb));}),_0x283739['register'](_0x200ceb,_0x517073);}}async _setUpService(_0x53ce0a){this['_createService'](_0x53ce0a),await this['_connectService'](_0x53ce0a);}_createService(_0x336be4){if(this['_services']['has'](_0x336be4))throw new _0x31a26d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x336be4});const _0x56694e=this['context']['plugins']['get'](_0x246c24),_0x131201=new CloudServicesCommentsAdapter['CommentsService'](_0x336be4);this['_services']['set'](_0x336be4,_0x131201),this['listenTo'](_0x131201,'commentThreadAdded',(_0x558d18,_0x1241c8)=>{const {commentThreadId:_0xbdbdaa,documentId:_0x34c13b,context:_0x30208c,attributes:_0x26582e,resolvedAt:_0xd78c53,resolvedBy:_0x285ddb,comments:_0x32413d}=_0x1241c8,_0x33d7db=_0x32413d?_0x32413d['map'](({userId:_0x553343})=>_0x553343):[];_0x285ddb&&_0x33d7db['push'](_0x285ddb),this['_handleOrQueueServiceEvent'](_0x336be4,_0x33d7db,()=>{_0x56694e['getCommentThread'](_0xbdbdaa)||_0x56694e['addCommentThread']({'threadId':_0xbdbdaa,'channelId':_0x34c13b,'comments':_0x32413d?_0x32413d['map'](ft):[],'context':_0x30208c,'attributes':_0x26582e,'resolvedAt':_0xd78c53,'resolvedBy':_0x285ddb,'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'commentThreadUpdated',(_0x460a58,{commentThreadId:_0x15542d,documentId:_0x5ceab8,context:_0x3d55f1,unlinkedAt:_0x49ddfe,attributes:_0x12f95d})=>{this['_handleOrQueueServiceEvent'](_0x336be4,[],()=>{_0x56694e['getCommentThread'](_0x15542d)&&_0x56694e['updateCommentThread']({'threadId':_0x15542d,'channelId':_0x5ceab8,'context':_0x3d55f1,'unlinkedAt':_0x49ddfe,'attributes':_0x12f95d,'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'commentThreadResolved',(_0x175d80,{commentThreadId:_0x118c58,resolvedBy:_0x298bde,resolvedAt:_0xd31150})=>{this['_handleOrQueueServiceEvent'](_0x336be4,[_0x298bde],()=>{const _0x5228d2=_0x56694e['getCommentThread'](_0x118c58);_0x5228d2&&!_0x5228d2['isResolved']&&_0x5228d2['resolve']({'resolvedBy':_0x298bde,'resolvedAt':_0xd31150,'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'commentThreadReopened',(_0x5cce99,{commentThreadId:_0x5ba436})=>{this['_handleOrQueueServiceEvent'](_0x336be4,[],()=>{const _0x55a80b=_0x56694e['getCommentThread'](_0x5ba436);_0x55a80b&&_0x55a80b['isResolved']&&_0x55a80b['reopen']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'commentThreadRemoved',(_0x38f4fe,{commentThreadId:_0x25c028})=>{this['_handleOrQueueServiceEvent'](_0x336be4,[],()=>{const _0x58a4e9=_0x56694e['getCommentThread'](_0x25c028);_0x58a4e9&&_0x58a4e9['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'commentAdded',(_0x5bd6b2,_0x49f3e1)=>{this['_handleOrQueueServiceEvent'](_0x336be4,[_0x49f3e1['userId']],()=>{const _0x469a23=_0x56694e['getCommentThread'](_0x49f3e1['commentThreadId']);_0x469a23&&!_0x469a23['getComment'](_0x49f3e1['commentId'])&&_0x469a23['addComment']({...ft(_0x49f3e1),'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'commentUpdated',(_0x5ec418,{commentThreadId:_0x3964da,commentId:_0x5c5bc2,content:_0x5303e1,attributes:_0x212425})=>{this['_handleOrQueueServiceEvent'](_0x336be4,[],()=>{const _0x254ed1=_0x56694e['getCommentThread'](_0x3964da)?.['getComment'](_0x5c5bc2);_0x254ed1&&_0x254ed1['update']({'content':_0x5303e1,'attributes':_0x212425,'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'commentRemoved',(_0x1b9f64,{commentThreadId:_0x49fad4,commentId:_0x4e7466})=>{this['_handleOrQueueServiceEvent'](_0x336be4,[],()=>{const _0x1e76a9=_0x56694e['getCommentThread'](_0x49fad4)?.['getComment'](_0x4e7466);_0x1e76a9&&_0x1e76a9['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x131201,'disconnected',()=>{'connected'===this['context']['plugins']['get'](K)['connection']?.['state']&&(this['_services']['delete'](_0x336be4),this['_pendingServiceEvents']['delete'](_0x336be4),this['stopListening'](_0x131201));});}destroy(){if(this['context']instanceof _0x173008){const _0x176d66=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x176d66)&&this['_terminateService'](_0x176d66);}}_terminateService(_0x354fbc){if(!this['_services']['has'](_0x354fbc))throw new _0x31a26d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x354fbc});this['_getService'](_0x354fbc)['disconnect'](),this['_services']['delete'](_0x354fbc);}async reconnect(){for(const _0x49d77d of this['_services']['keys']())await this['_connectService'](_0x49d77d);if(this['context']instanceof _0x173008){const _0x3287b4=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3287b4)){const _0x394caa=this['context']['plugins']['get'](J);_0x394caa['unregister'](_0x3287b4);const _0x45ccab=await this['_services']['get'](_0x3287b4)['getConnectedSessions']();_0x394caa['register'](_0x3287b4,_0x45ccab);}}}_fetchInitialChannelData(_0x22dbc4){return this['_channelsAwaitingInitialData']['add'](_0x22dbc4),this['_fetchChannelData'](_0x22dbc4);}async _applyInitialChannelData(_0x37fcd9,_0x59f67d){this['_channelsAwaitingInitialData']['delete'](_0x37fcd9)&&await this['_applyChannelData'](_0x37fcd9,_0x59f67d);}async _fetchChannelData(_0x40ce27){const {connection:_0x537470}=this['context']['plugins']['get'](K);return this['_pendingServiceEvents']['set'](_0x40ce27,[]),await this['_services']['get'](_0x40ce27)['connect'](_0x537470);}async _applyChannelData(_0x9a6477,_0x509792){const _0xe309c5=this['context']['plugins']['get'](_0x246c24),_0x5700ba=new Set(Array['from'](_0xe309c5['getCommentThreads']({'channelId':_0x9a6477}),_0x10606f=>_0x10606f['id']));for(const _0x4efebf of _0x509792)_0x4efebf['deletedAt']||_0x5700ba['delete'](_0x4efebf['commentThreadId']);for(const _0x2a1147 of _0x5700ba)_0xe309c5['getCommentThread'](_0x2a1147)['remove']({'isFromAdapter':!0x0});for(const _0x157fcd of _0x509792){let _0x1ce473=_0xe309c5['getCommentThread'](_0x157fcd['commentThreadId']);const {commentThreadId:_0x53aadd,context:_0x4e6e68,attributes:_0x3f1d05,resolvedBy:_0x1ffcc3,resolvedAt:_0x238b5d,unlinkedAt:_0x1226f4,deletedAt:_0x452e19}=_0x157fcd;if(_0x452e19)continue;_0x1ce473||(_0x1ce473=_0xe309c5['addCommentThread']({'channelId':_0x9a6477,'threadId':_0x53aadd,'context':_0x4e6e68,'attributes':_0x3f1d05||{},'resolvedBy':_0x1ffcc3,'resolvedAt':_0x238b5d,'unlinkedAt':_0x1226f4,'isFromAdapter':!0x0}));const _0x2e6a4b=new Set(Array['from'](_0x1ce473['comments'],_0x76d80b=>_0x76d80b['id']));for(const _0x3981de of _0x157fcd['comments'])_0x2e6a4b['delete'](_0x3981de['commentId']);for(const _0x922c5c of _0x2e6a4b)_0x1ce473['getComment'](_0x922c5c)['remove']({'isFromAdapter':!0x0});for(const _0x4b3bd4 of _0x157fcd['comments']){const _0x1f9b9c=_0x1ce473['getComment'](_0x4b3bd4['commentId']);_0x1f9b9c?_0x1f9b9c['content']!==_0x4b3bd4['content']&&_0x1f9b9c['update']({'content':_0x4b3bd4['content'],'isFromAdapter':!0x0}):_0x1ce473['addComment'](Object['assign'](ft(_0x4b3bd4),{'isFromAdapter':!0x0}));}}await this['_applyPendingServiceEvents'](_0x9a6477);}_handleOrQueueServiceEvent(_0x416d0a,_0xa0808a,_0x3e93f0){const _0x8cf84f=this['_pendingServiceEvents']['get'](_0x416d0a);_0x8cf84f?_0x8cf84f['push']({'userIds':_0xa0808a,'apply':_0x3e93f0}):_0x3e93f0();}async _applyPendingServiceEvents(_0x2be9e7){const _0x55dfb3=this['_pendingServiceEvents']['get'](_0x2be9e7)||[];for(;_0x55dfb3['length'];){const _0x16c27e=_0x55dfb3['splice'](0x0);await this['_fetchMissingUsers'](_0x16c27e['flatMap'](({userIds:_0x3eed19})=>_0x3eed19));for(const {apply:_0x6492e4}of _0x16c27e)_0x6492e4();}this['_discardPendingServiceEvents'](_0x2be9e7,_0x55dfb3);}_discardPendingServiceEvents(_0x208fa5,_0x5c97c7){this['_pendingServiceEvents']['get'](_0x208fa5)===_0x5c97c7&&this['_pendingServiceEvents']['delete'](_0x208fa5);}async _connectService(_0xd68ca4){const _0x497258=this['_channelsAwaitingInitialData']['delete'](_0xd68ca4),_0x43de9a=this['_fetchChannelData'](_0xd68ca4),_0x290814=this['_pendingServiceEvents']['get'](_0xd68ca4);let _0x41b5f0=!0x1;try{const _0x3087e9=await _0x43de9a;_0x41b5f0=!0x0,await this['_fetchMissingUsersForThreads'](_0x3087e9),await this['_applyChannelData'](_0xd68ca4,_0x3087e9);}catch(_0x479730){throw this['_discardPendingServiceEvents'](_0xd68ca4,_0x290814),_0x497258&&!_0x41b5f0&&this['_channelsAwaitingInitialData']['add'](_0xd68ca4),_0x479730;}}_getService(_0x1a299a){if(!this['_services']['has'](_0x1a299a))throw new _0x31a26d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1a299a});return this['_services']['get'](_0x1a299a);}async _fetchMissingUsersForThreads(_0xccd255){return this['_fetchMissingUsers'](ht(_0xccd255));}async _fetchMissingUsers(_0x7189f6){const _0x10db1f=this['context']['plugins']['get'](_0x2d7ca7),{connection:_0x2eee89}=this['context']['plugins']['get'](K),_0x4d0428=Array['from'](new Set(_0x7189f6))['filter'](_0x32411e=>!_0x10db1f['getUser'](_0x32411e));if(0x0===_0x4d0428['length'])return;const _0x3338c1=await _0x38da0f['getMany'](_0x2eee89,_0x4d0428);for(const _0x77022b of _0x3338c1)_0x10db1f['getUser'](_0x77022b['id'])||_0x10db1f['addUser'](_0x77022b);}};async function dt(_0x5b2c48){if('404'!==_0x5b2c48['code'])throw _0x5b2c48;}function ut(_0x1a9f20){if((_0x58356f=_0x1a9f20)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x58356f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x58356f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x58356f;throw _0x1a9f20;}function ft(_0x4cffcc){return{'threadId':_0x4cffcc['commentThreadId'],'commentId':_0x4cffcc['commentId'],'content':_0x4cffcc['content'],'createdAt':_0x4cffcc['createdAt'],'authorId':_0x4cffcc['userId'],'attributes':_0x4cffcc['attributes']||{}};}var mt=class CloudServicesTrackChangesAdapter extends _0x347055{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x4b74e0)());_bufferedRequests;_trackChangesService;['_isChannelFlushed']=!0x1;_pendingSuggestionsUpdates=[];_isReadyForReconnect=!0x1;_isReconnectPending=!0x1;static get requires(){return[lt,_0x190799,K,at];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x11e781){super(_0x11e781);const _0xaa049c=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0xaa049c),_0x11e781['plugins']['get'](at)['_register']('trackChanges',{'fetch':()=>this['_fetchInitialSuggestions'](),'getUserIds':_0x358787=>_0x358787['map'](({authorId:_0x1890d5})=>_0x1890d5)});}init(){const _0x47d93f=this['editor']['plugins']['get'](_0x190799);_0x47d93f['adapter']={'getSuggestion':async _0x13af3c=>{await this['_waitForServiceReady']();const _0x7342bf=await this['_trackChangesService']['get'](_0x13af3c)['catch'](pt);return await this['_fetchMissingUsersForThreads']([_0x7342bf]),_0x7342bf;},'addSuggestion':async({id:_0x4dd2e4,type:_0x40201f,data:_0x1c0641,originalSuggestionId:_0x19d9f5,attributes:_0x5dfa72})=>{await this['_waitForServiceReady']();const _0x252aae={'id':_0x4dd2e4,'type':_0x40201f,'data':_0x1c0641,'originalSuggestionId':_0x19d9f5,'attributes':_0x5dfa72},_0x278e1b=await this['_trackChangesService']['add'](_0x4dd2e4,_0x40201f,_0x1c0641,_0x19d9f5,_0x5dfa72)['catch'](_0x47d06f=>{if(gt(_0x47d06f))return new Promise(_0x19c224=>{this['_bufferedRequests']['set'](_0x4dd2e4,{'resolve':_0x19c224,'suggestionData':_0x252aae});});throw _0x47d06f;});return this['_bufferedRequests']['delete'](_0x4dd2e4),_0x278e1b;},'updateSuggestion':async(_0x2eb36b,_0x52ea92)=>{if(await this['_waitForServiceReady'](),'open'!==_0x52ea92['state'])return this['_trackChangesService']['update'](_0x2eb36b,_0x52ea92)['catch'](pt);}};const _0x168fe3=this['editor']['plugins']['get'](at)['_takeInitialData']('trackChanges');for(const _0x544267 of _0x168fe3){_0x47d93f['addSuggestionData'](_0x544267)['_saved']=!0x0;}for(const {id:_0x3f25fc,attributes:_0x4fafe0}of this['_pendingSuggestionsUpdates'])this['_handleSuggestionUpdate'](_0x3f25fc,_0x4fafe0);this['_pendingSuggestionsUpdates']=null,this['_setReadyForReconnect']();}async _fetchInitialSuggestions(){const _0x17a5ed=this['editor']['plugins']['get'](K);this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x459c80,{id:_0x1dc29b,attributes:_0x335d9c})=>{this['_pendingSuggestionsUpdates']?this['_pendingSuggestionsUpdates']['push']({'id':_0x1dc29b,'attributes':_0x335d9c}):this['_handleSuggestionUpdate'](_0x1dc29b,_0x335d9c);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x17a5ed['connection']?.['state']&&(this['_isChannelFlushed']=!0x0,_0x17a5ed['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));});const _0x373835=await this['_trackChangesService']['connect'](_0x17a5ed['connection']);return this['_isChannelFlushed']||_0x17a5ed['addToReconnectionStack'](this),_0x373835;}_handleSuggestionUpdate(_0x3af876,_0x1dfb23){const _0x3fe083=this['editor']['plugins']['get'](_0x190799);_0x3fe083['hasSuggestion'](_0x3af876)&&(_0x3fe083['getSuggestion'](_0x3af876)['attributes']=_0x1dfb23);}destroy(){this['editor']['plugins']['get'](K)['removeFromReconnectionStack'](this),super['destroy']();}_setReadyForReconnect(){this['_isReadyForReconnect']=!0x0,this['_isReconnectPending']&&(this['_isReconnectPending']=!0x1,this['reconnect']()['catch'](_0x43259b=>console['error'](_0x43259b)));}async reconnect(){if(!this['_isReadyForReconnect'])return void(this['_isReconnectPending']=!0x0);const _0x7a5533=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x17f70f}=this['editor']['plugins']['get'](K),_0x3dbbe6=await this['_trackChangesService']['connect'](_0x17f70f);await this['_fetchMissingUsersForThreads'](_0x3dbbe6);for(const {suggestionData:_0x4024c7,resolve:_0x1ffce5}of this['_bufferedRequests']['values']()){let _0x594db4=_0x3dbbe6['find'](_0x3418a5=>_0x3418a5['id']===_0x4024c7['id']);_0x594db4||(_0x594db4=await this['_trackChangesService']['add'](_0x4024c7['id'],_0x4024c7['type'],_0x4024c7['data'],_0x4024c7['originalSuggestionId'])),_0x1ffce5(_0x594db4);}for(const _0x4d9bef of _0x3dbbe6)_0x7a5533['hasSuggestion'](_0x4d9bef['id'])||_0x7a5533['addSuggestionData'](_0x4d9bef);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x68f456=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4672e8=>{_0x4672e8['off'](),_0x68f456();});});}async _fetchMissingUsersForThreads(_0x24858b){const _0x37c4c1=this['editor']['plugins']['get'](_0x2d7ca7),{connection:_0x19c274}=this['editor']['plugins']['get'](K),_0x1b9f02=new Set();for(const {authorId:_0x627a4d}of _0x24858b)_0x37c4c1['getUser'](_0x627a4d)||_0x1b9f02['add'](_0x627a4d);if(0x0===_0x1b9f02['size'])return;const _0x54c1b1=await _0x38da0f['getMany'](_0x19c274,Array['from'](_0x1b9f02));for(const _0x326c69 of _0x54c1b1)_0x37c4c1['getUser'](_0x326c69['id'])||_0x37c4c1['addUser'](_0x326c69);}};function pt(_0x2cc2a4){if(gt(_0x2cc2a4))return new Promise(()=>{});throw _0x2cc2a4;}function gt(_0x39559b){return _0x39559b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39559b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var wt=class extends _0x347055{static get requires(){return[_0x13b05e,lt,ct,K,at];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ee142){super(_0x3ee142);const _0x33cb19=_0x3ee142['plugins']['get'](lt),_0x51e4e6=_0x3ee142['config']['get']('collaboration.channelId');_0x3ee142['plugins']['get'](at)['_register']('comments',{'fetch':()=>(_0x33cb19['_createService'](_0x51e4e6),_0x33cb19['_fetchInitialChannelData'](_0x51e4e6)),'getUserIds':ht});}init(){const _0x28682f=this['editor']['plugins']['get'](K),_0x11a0be=this['editor']['plugins']['get'](_0x4194ba),_0x1dbb50=this['editor']['plugins']['get'](lt);this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x28682f,'change:state',(_0x3a216b,_0x78bf1e,_0xee31a4)=>{_0x11a0be['isThreadsLoadingPaused']='connected'!==_0xee31a4;});}),this['listenTo'](_0x28682f,'change:state',(_0x29a32b,_0x5af476,_0x476f3e)=>{this['editor']['plugins']['get'](_0x246c24)['switchReadOnly']('connected'!==_0x476f3e);});const _0x2c93f3=this['editor']['config']['get']('collaboration.channelId'),_0x400bb6=this['editor']['plugins']['get'](at)['_takeInitialData']('comments');return _0x1dbb50['_applyInitialChannelData'](_0x2c93f3,_0x400bb6);}destroy(){const _0x5e2445=this['editor']['plugins']['get'](lt),_0x39882e=this['editor']['config']['get']('collaboration.channelId');_0x5e2445['_services']['has'](_0x39882e)&&_0x5e2445['_terminateService'](_0x39882e),super['destroy']();}},vt=class extends _0x347055{static get requires(){return[wt,mt,_0x5d5d91];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},_t=class CloudServicesRevisionHistoryAdapter extends _0x347055{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x1e9a0f)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;['_isChannelFlushed']=!0x1;_newestRevisionPrefetch=null;_pendingRevisionsUpdates=[];_isReadyForReconnect=!0x1;_isReconnectPending=!0x1;static get requires(){return[K,it,_0x85f044,J,_0x2d7ca7,at];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x32f1e0){super(_0x32f1e0);const _0x29409a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x29409a),this['set']('_isServiceConnected',!0x1),_0x32f1e0['plugins']['get'](at)['_register']('revisionHistory',{'fetch':()=>this['_fetchInitialData'](),'getUserIds':({revisions:_0x3b8404})=>_0x3b8404['flatMap'](({authorsIds:_0x114149,creatorId:_0x4fc9c1})=>_0x4fc9c1?[..._0x114149,_0x4fc9c1]:_0x114149)});}async init(){const _0x406248=this['editor']['plugins']['get'](it),{hasEditorBundle:_0xab49af,revisions:_0x461c0a}=this['editor']['plugins']['get'](at)['_takeInitialData']('revisionHistory');this['listenTo'](this['editor']['data'],'ready',()=>{this['_setReadyForReconnect'](),this['_newestRevisionPrefetch']=null;}),this['editor']['plugins']['get'](_0x85f044)['adapter']={'getRevision':async({revisionId:_0x2ef8ea})=>{const _0x3030d7=this['_newestRevisionPrefetch'];return _0x3030d7&&_0x3030d7['revisionId']===_0x2ef8ea?(this['_newestRevisionPrefetch']=null,_0x3030d7['promise']):(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2ef8ea));},'updateRevisions':async _0x113143=>{await this['_waitForServiceReady']();const _0x426bb6=this['_revisionTracker']['currentRevision'];if(_0xab49af&&0x1===_0x113143['length']&&_0x113143[0x0]['id']===_0x426bb6['id'])return _0x113143;for(const _0x5bcfc0 of _0x113143)_0x5bcfc0['id']===_0x426bb6['id']&&(_0x5bcfc0['isEmptyCurrent']=_0x5bcfc0['fromVersion']===_0x5bcfc0['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x113143,this['_lastRequestId'])['then'](_0x4ddddd=>(this['_lastRequestId']=_0x4ddddd,_0x113143))['catch'](_0x584c5c=>{if(yt(_0x584c5c)||'400'===_0x584c5c['code']&&void 0x0!==_0x584c5c['data']['wrongRequestId']){for(const _0x5d1362 of _0x113143)this['_revisionTracker']['repository']['getRevision'](_0x5d1362['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5d1362['id'],_0x5d1362,!0x1);if(yt(_0x584c5c)&&'destroyed'!==this['editor']['state'])throw _0x584c5c;return _0x113143;}throw _0x584c5c;});}};for(const _0x289448 of _0x461c0a)this['_revisionTracker']['addRevisionData'](_0x289448);this['listenTo'](_0x406248,'change:_isConnected',(_0x5ed680,_0x2c39d3,_0x32ebf3)=>{_0x32ebf3&&(this['_oldOffset']=_0x406248['_offset'],_0x5ed680['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected'),await this['_applyPendingRevisionsUpdates']();}async _fetchInitialData(){const _0x31b6c3=this['editor']['plugins']['get'](it),_0x5d75ed=this['editor']['plugins']['get'](K),_0x330551=_0x31b6c3['serverHistory'];this['_revisionTracker']['setSource']({'history':_0x330551,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x31b6c3['sessionId']}),this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1950ee,{revisionsData:_0x4f7cb9,requestId:_0x13f0cc})=>{_0x4f7cb9['some'](({id:_0x34ff83})=>_0x34ff83===this['_newestRevisionPrefetch']?.['revisionId'])&&(this['_newestRevisionPrefetch']=null),Math['max'](..._0x4f7cb9['map'](_0x179857=>_0x179857['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleOrQueueRevisionsUpdate'](_0x4f7cb9,_0x13f0cc);}):this['_handleOrQueueRevisionsUpdate'](_0x4f7cb9,_0x13f0cc);}),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x5d75ed['connection']?.['state']&&(this['_isChannelFlushed']=!0x0,_0x5d75ed['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const _0x324892=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5205bd,[_0x95e6bc,_0x54b171]=await Promise['all']([_0x2ae61f['isBundleUploaded'](_0x5d75ed['connection'],_0x324892),this['_revisionHistoryService']['connect'](_0x5d75ed['connection'])['then'](_0x11dd92=>(this['_lastRequestId']=_0x11dd92['requestId'],this['_isChannelFlushed']||_0x5d75ed['addToReconnectionStack'](this),this['_prefetchNewestRevision'](_0x11dd92['revisions']),_0x11dd92['revisions']))]);return{'hasEditorBundle':_0x95e6bc,'revisions':_0x54b171};}_handleOrQueueRevisionsUpdate(_0x2b7a2d,_0x1f8484){this['_pendingRevisionsUpdates']?this['_pendingRevisionsUpdates']['push']({'revisionsData':_0x2b7a2d,'requestId':_0x1f8484}):this['_handleRevisionsUpdate'](_0x2b7a2d,_0x1f8484);}async _applyPendingRevisionsUpdates(){for(;this['_pendingRevisionsUpdates']['length'];){const _0x161327=this['_pendingRevisionsUpdates']['splice'](0x0);await this['_fetchMissingUsers'](_0x161327['flatMap'](({revisionsData:_0x434afb})=>_0x434afb));for(const {revisionsData:_0x4c30cc,requestId:_0x2b5d4d}of _0x161327)this['_handleRevisionsUpdate'](_0x4c30cc,_0x2b5d4d);}this['_pendingRevisionsUpdates']=null;}_prefetchNewestRevision(_0x4c6e26){const _0x174a55=_0x4c6e26['reduce']((_0x5e394a,_0x22dade)=>_0x5e394a?(_0x22dade['toVersion']-_0x5e394a['toVersion']||_0x22dade['fromVersion']-_0x5e394a['fromVersion'])>0x0?_0x22dade:_0x5e394a:_0x22dade,null);if(!_0x174a55||_0x174a55['diffData'])return;const _0xb493a5=this['_revisionHistoryService']['getRevision'](_0x174a55['id']);_0xb493a5['catch'](()=>{}),this['_newestRevisionPrefetch']={'revisionId':_0x174a55['id'],'promise':_0xb493a5};}async reconnect(){if(!this['_isReadyForReconnect'])return void(this['_isReconnectPending']=!0x0);const _0x395355=this['editor']['plugins']['get'](K),_0x23085c=this['editor']['plugins']['get'](it),_0x1539c5=async()=>{const _0x46855d=this['_revisionTracker']['currentRevision'],_0x3f08ac=_0x46855d['id'],_0x496285=_0x3f08ac!==_0x23085c['sessionId'];if(_0x496285){const _0x1a7c4e=_0x23085c['_offset']-this['_oldOffset'],_0x449e96=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x46855d['toVersion']+_0x1a7c4e!==_0x449e96){const _0x327604=_0x46855d['fromVersion']+_0x1a7c4e,_0x54f582=this['editor']['plugins']['get'](_0x2d7ca7),_0x2ba2e4=this['_revisionTracker']['buildRevisionData']({'revision':_0x46855d,'from':_0x327604,'to':_0x449e96});_0x2ba2e4['id']=_0x46855d['id'];const _0x2de133=_0x2ba2e4['authorsIds']['map'](_0x3596a2=>_0x54f582['getUser'](_0x3596a2));_0x46855d['_update']({..._0x2ba2e4,'authors':_0x2de133},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x46855d['id'],_0x2ba2e4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x449e96,_0x46855d['toVersion']!==_0x46855d['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x3f08ac)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x3f08ac),this['_revisionTracker']['_createCurrentRevision'](_0x449e96);}const {revisions:_0x3eb5cd,requestId:_0x5b0202}=await this['_revisionHistoryService']['reconnect'](_0x395355['connection'],this['_lastRequestId']);_0x496285&&_0x3eb5cd['length']>0x0?_0x23085c['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3eb5cd),this['_handleRevisionsUpdate'](_0x3eb5cd,_0x5b0202),this['_revisionTracker']['sendBufferedUpdates']());};return _0x23085c['_isConnected']?_0x1539c5():new Promise((_0x5df2c1,_0xb868ec)=>{_0x23085c['once']('change:_isConnected',()=>{_0x1539c5()['then'](_0x5df2c1)['catch'](_0xb868ec);});});}destroy(){this['editor']['plugins']['get'](K)['removeFromReconnectionStack'](this),super['destroy']();}_setReadyForReconnect(){this['_isReadyForReconnect']=!0x0,this['_isReconnectPending']&&(this['_isReconnectPending']=!0x1,this['reconnect']()['catch'](_0x5f1d51=>console['error'](_0x5f1d51)));}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x13452f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x8b90a0=>{_0x8b90a0['off'](),_0x13452f();});});}_getLatestVersionFromServerOperations(){const _0x38a086=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x3fdb04 of _0x38a086)if('marker'!==_0x3fdb04['type']||_0x3fdb04['affectsData'])return _0x3fdb04['baseVersion']+0x1;}_getLatestVersion(){const _0x36e554=this['editor']['plugins']['get'](it);return new Promise(_0x1887b8=>{_0x36e554['_isPendingUpdate']?_0x36e554['once']('change:_isPendingUpdate',()=>{_0x1887b8(this['_getLatestVersionFromServerOperations']());}):_0x1887b8(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x39c2fe,_0x35c9ec){const _0x4c8d05=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x35c9ec;for(const _0x339e30 of _0x39c2fe){const _0x3a5085=_0x4c8d05['getRevision'](_0x339e30['id']);if(_0x3a5085){if((_0x339e30['fromVersion']||_0x339e30['toVersion'])&&(_0x339e30['diffData']=null),_0x3a5085===this['_revisionTracker']['currentRevision']){const _0x33bc2c=Math['max'](_0x3a5085['toVersion'],_0x339e30['toVersion']),_0x251955=Math['max'](_0x3a5085['fromVersion'],_0x339e30['fromVersion']);let _0x999945;_0x3a5085['toVersion']===_0x339e30['toVersion']&&_0x3a5085['fromVersion']===_0x339e30['fromVersion']?(_0x999945=!0x0,this['_preventResendingRevisionData'](_0x339e30)):_0x339e30['toVersion']===_0x33bc2c&&_0x339e30['fromVersion']===_0x251955?_0x999945=!0x1:(_0x3a5085['toVersion']===_0x33bc2c&&_0x3a5085['fromVersion']===_0x251955||this['_fixRevision']({'revision':_0x3a5085,'from':_0x251955,'to':_0x33bc2c}),_0x999945=!0x0),_0x999945&&(delete _0x339e30['fromVersion'],delete _0x339e30['toVersion'],delete _0x339e30['diffData'],delete _0x339e30['createdAt'],delete _0x339e30['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x339e30),this['_preventResendingRevisionData'](_0x339e30);}else this['_revisionTracker']['addRevisionData'](_0x339e30);}const _0x1c9699=_0x4c8d05['getRevisions']();_0x1c9699['reverse']();for(let _0x5a256a=0x0;_0x5a256a<_0x1c9699['length']-0x1;_0x5a256a++){const _0x9cd04=_0x1c9699[_0x5a256a],_0x329aef=_0x1c9699[_0x5a256a+0x1];if(_0x9cd04['fromVersion']<_0x329aef['toVersion']){const _0x52aabb=_0x329aef['toVersion'],_0x1c1726=Math['max'](_0x52aabb,_0x9cd04['toVersion']);this['_fixRevision']({'revision':_0x9cd04,'from':_0x52aabb,'to':_0x1c1726});}}}['_fixRevision']({revision:_0x2a431a,from:_0x11ef67,to:_0x325c36}={}){const _0x3424ee=this['editor']['plugins']['get'](_0x2d7ca7),_0x1f3c05=this['_revisionTracker']['buildRevisionData']({'revision':_0x2a431a,'from':_0x11ef67,'to':_0x325c36});_0x1f3c05['authors']=_0x1f3c05['authorsIds']['map'](_0x346759=>_0x3424ee['getUser'](_0x346759)),_0x2a431a['_update'](_0x1f3c05);}_preventResendingRevisionData(_0x189b41){const _0x26e9b5={};_0x26e9b5['id']=_0x189b41['id'];for(const _0x1a0c36 of Object['keys'](_0x189b41))'id'!==_0x1a0c36&&(_0x26e9b5[_0x1a0c36]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x26e9b5['id'],_0x26e9b5,!0x0);}async _fetchMissingUsers(_0x3ab319){const _0x5bd38e=this['editor']['plugins']['get'](_0x2d7ca7),{connection:_0xbc21f5}=this['editor']['plugins']['get'](K),_0xbedefe=new Set();for(const _0x396111 of _0x3ab319){for(const _0x10a490 of _0x396111['authorsIds']||[])_0xe41667(_0x10a490);_0x396111['creatorId']&&_0xe41667(_0x396111['creatorId']);}if(0x0===_0xbedefe['size'])return;const _0x275731=await _0x38da0f['getMany'](_0xbc21f5,Array['from'](_0xbedefe));for(const _0x311a6f of _0x275731)_0x5bd38e['getUser'](_0x311a6f['id'])||_0x5bd38e['addUser'](_0x311a6f);function _0xe41667(_0x4b39f5){_0x5bd38e['getUser'](_0x4b39f5)||_0xbedefe['add'](_0x4b39f5);}}};function yt(_0x14a1b0){return _0x14a1b0['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x14a1b0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14a1b0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var bt=class extends _0x347055{static get requires(){return[_0x85f044,_t,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},kt=class extends _0x125328{_collapseAt;constructor(_0x51c8f4,_0x595559=0x6){super(_0x51c8f4);const _0x376c2e=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x595559,this['bind']('isHidden')['to'](this,'usersCount',_0x175a22=>_0x175a22<_0x595559),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x376c2e['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':_0x376c2e['to']('usersCount',_0x34e915=>'+'+(_0x34e915-this['_collapseAt']+0x2)['toString']())}]}]}]});}},It=class extends _0x125328{items;keystrokes;constructor(_0x5f41f7){super(_0x5f41f7);const _0x32cde6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x13848e(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x32cde6['if']('hasPopup'),'aria-expanded':_0x32cde6['to']('isExpanded',_0x4aad44=>this['hasPopup']&&String(_0x4aad44)),'aria-label':_0x32cde6['to']('hasPopup',_0x317998=>et(_0x5f41f7,_0x317998?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x32cde6['to']('hasPopup',_0x2602e=>!!_0x2602e&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0xe07113,_0x3eba67,_0x228424)=>{this['element']&&(_0x228424?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']);}},St=class extends _0x125328{counterView;inlineListView;constructor(_0x506ae1,_0x5ab2d6=0x6){super(_0x506ae1);const _0x3ee8c1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new kt(this['locale'],_0x5ab2d6),this['inlineListView']=new It(_0x506ae1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x36197d of this['inlineListView']['items'])_0x36197d['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',_0x3ee8c1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},Ct=class extends _0x125328{listWrapperView;constructor(_0x4abb11,_0x426e79){super(_0x4abb11),this['listWrapperView']=new Tt(_0x4abb11,_0x426e79),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x4abb11,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},Tt=class extends _0x3eb0aa{constructor(_0x4c0d44,_0x479deb){super(_0x4c0d44);const _0x3bfda0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x479deb?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3bfda0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3bfda0['to']('role'),'aria-label':_0x3bfda0['to']('ariaLabel'),'aria-labelledby':_0x3bfda0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x575d0f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x37ecd7=this['element'];_0x37ecd7&&(this['_isScrollable']=Math['max'](_0x37ecd7['scrollHeight'],_0x37ecd7['clientHeight'])>0.8*window['innerHeight']);}},At=class extends _0x37736a{['userView'];constructor(_0x2f115f,_0x4bdfba,_0x533844){super(_0x2f115f);const _0x320028=this['bindTemplate'];this['userView']=new _0x765632(_0x2f115f,_0x4bdfba);const _0x5ddce3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4bdfba['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4bdfba['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4bdfba['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4bdfba['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4bdfba['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x533844&&(_0x5ddce3['tag']='button',_0x5ddce3['on']={'click':_0x320028['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5ddce3);}['focus'](){this['element']['focus']();}},Pt=class extends _0x125328{['userView'];['markerView'];constructor(_0x2910d9,_0x3b914b,_0x1470d5){super(_0x2910d9);const _0x4b1f32=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x765632(_0x2910d9,_0x3b914b),this['markerView']=new Rt(_0x2910d9,_0x3b914b);const _0x539927=new _0x2545d3(_0x2910d9);_0x539927['template']['tag']='span',_0x539927['text']=_0x3b914b['name'];const _0x260bc6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4b1f32['to']('isFocusable',_0x55c4a3=>_0x55c4a3?0x0:-0x1),'aria-labelledby':_0x539927['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4b1f32['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4b1f32['to']('hasTooltip',_0x58aeec=>!_0x58aeec),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x539927]};_0x1470d5&&(_0x260bc6['tag']='button',_0x260bc6['on']={'click':_0x4b1f32['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x260bc6);}},Rt=class extends _0x125328{constructor(_0x1cb22c,_0x5972c3){super(_0x1cb22c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5972c3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5972c3['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5972c3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Ot={'collapseAt':0x6,'displayMe':!0x0};var xt=class extends _0x334b4d{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4b3d78){super(_0x4b3d78),this['context']['config']['define']('presenceList',Ot);const _0x3bfee8=_0x4b3d78['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3bfee8)throw new _0x31a26d('presencelist-collapseat-invalid-format',this);if(_0x3bfee8<0x1)throw new _0x31a26d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](J)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x15ab26(),this['balloonPanelView']=new _0x250a77(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[J];}init(){for(const _0x193669 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x193669);this['listenTo'](this['_allConnectedUsers'],'add',(_0x32ac50,_0x1ce6b7)=>{this['_handleUserAdd'](_0x1ce6b7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x400731,_0x2cded4)=>{this['_handleUserRemove'](_0x2cded4);});}_createView(){const _0x46972e=this['context'],_0x60be5f=new St(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5ee4a4=this['balloonPanelView'];if(!_0x31a194(_0x46972e['config']['get']('presenceList.container')))throw new _0x31a26d('presencelist-missing-container',this);_0x60be5f['counterView']['bind']('usersCount')['to'](this),_0x60be5f['bind']('isCollapsed')['to'](this,'usersCount',_0x3812ee=>{const {collapseAt:_0x46ecdd}=_0x46972e['config']['get']('presenceList'),_0x1b5adf=_0x3812ee>=_0x46ecdd;if(_0x1b5adf&&!_0x60be5f['inlineListView']['items']['find'](_0x3f0f2f=>_0x3f0f2f instanceof kt)){const _0x3419fc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x3419fc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x60be5f['inlineListView']['items']['add'](_0x60be5f['counterView']);}return _0x1b5adf||this['hideDropdown'](),_0x1b5adf;}),_0x60be5f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xeac4de=>{const _0x3fd502=_0x46972e['config']['get']('presenceList'),_0x551236=new Pt(_0x46972e['locale'],_0xeac4de,!!_0x3fd502['onClick']);return _0x551236['bind']('hasTooltip')['to'](_0x60be5f,'isCollapsed',_0x69f902=>!_0x69f902),_0x551236['bind']('isFocusable')['to'](_0x60be5f,'isCollapsed',_0x39dbb5=>!_0x39dbb5),_0x3fd502['onClick']&&this['listenTo'](_0x551236,'execute',()=>{this['view']['isCollapsed']||_0x3fd502['onClick'](_0xeac4de,_0x551236['element']);}),_0x551236;}),_0x60be5f['inlineListView']['keystrokes']['set']('Enter',(_0x5d8932,_0x5bd822)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x5bd822());}),_0x60be5f['render'](),_0x5ee4a4['render'](),_0x60be5f['listenTo'](_0x60be5f['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x2d30ee=(_0x1119c8,_0x9c97e3)=>{this['_hideDropdownUnlessPointerInside'](_0x9c97e3);};return _0x60be5f['listenTo'](_0x60be5f['inlineListView']['element'],'mouseleave',_0x2d30ee),_0x60be5f['listenTo'](_0x5ee4a4['element'],'mouseleave',_0x2d30ee),_0x2ba919({'emitter':_0x60be5f,'activator':()=>_0x5ee4a4['isVisible'],'contextElements':[_0x5ee4a4['element'],_0x60be5f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x46972e['config']['get']('presenceList.container')['appendChild'](_0x60be5f['element']),this['_overlayHost']=new _0x325e75(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x60be5f;}_resolveOverlayTarget(){const _0x4b0fd1=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x4b0fd1)return _0x4b0fd1;const _0x365525=this['context']['config']['get']('presenceList.container');return _0x365525?_0x43009b(_0x365525):null;}['_handleUserAdd'](_0x41c8a5){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x41c8a5['isMe'])return;const _0x169200=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x169200-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3b6d62=_0x41c8a5['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x41c8a5,_0x3b6d62);}['_handleUserRemove'](_0x98ebec){this['usersCount']--;const {collapseAt:_0x204746}=this['context']['config']['get']('presenceList'),_0x18ec40=this['usersCount']>=_0x204746;if(this['currentDisplayedUsers']['get'](_0x98ebec['id']))this['currentDisplayedUsers']['remove'](_0x98ebec['id']);else{if(_0x18ec40&&this['currentDisplayedUsers']['length']+0x1===_0x204746-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x18ec40?0x1:0x0)<this['usersCount']){for(const _0x13f1f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x13f1f['id'])&&(this['currentDisplayedUsers']['add'](_0x13f1f,Math['min'](this['currentDisplayedUsers']['length']-(_0x18ec40?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x18ec40?0x1:0x0)===_0x204746-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1d4fac=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Ct(this['context']['locale'],!!_0x1d4fac['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x40e62e}=this['presenceDropdownView'];_0x40e62e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4d53a9=>{if(!_0x1d4fac['displayMe']&&_0x4d53a9['isMe'])return null;const _0xb21f02=new At(this['context']['locale'],_0x4d53a9,!!_0x1d4fac['onClick']);return _0x1d4fac['onClick']&&this['listenTo'](_0xb21f02,'execute',()=>{_0x1d4fac['onClick'](_0x4d53a9,_0xb21f02['element']);}),_0xb21f02;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0xa39d63=_0x250a77['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0xa39d63['southArrowNorth'],_0xa39d63['southArrowNorthMiddleWest'],_0xa39d63['southArrowNorthMiddleEast'],_0xa39d63['southArrowNorthWest'],_0xa39d63['southArrowNorthEast'],_0xa39d63['northArrowSouth'],_0xa39d63['northArrowSouthMiddleWest'],_0xa39d63['northArrowSouthMiddleEast'],_0xa39d63['northArrowSouthWest'],_0xa39d63['northArrowSouthEast'],_0xa39d63['viewportStickyNorth']]}),_0x40e62e['focus'](),_0x40e62e['checkIfScrollable']();const _0x2f44e0=(_0x39d574,_0x410f35)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x410f35();};_0x40e62e['keystrokes']['set']('Esc',_0x2f44e0),_0x40e62e['keystrokes']['set']('Shift+Tab',_0x2f44e0),_0x40e62e['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x40e62e['focusTracker']['add'](this['view']['element']),_0x40e62e['focusTracker']['on']('change:isFocused',(_0x1fe700,_0x161684,_0x40c6de)=>{_0x40c6de||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);}_hideDropdownUnlessPointerInside(_0x20ff0f){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x27b0d6=>_0x4f9984(_0x27b0d6,_0x20ff0f))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},Nt=class extends _0x334b4d{static get requires(){return[J,xt];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{lt as CloudServicesCommentsAdapter,_t as CloudServicesRevisionHistoryAdapter,mt as CloudServicesTrackChangesAdapter,Nt as PresenceList,xt as PresenceListUI,it as RealTimeCollaborationClient,wt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,bt as RealTimeCollaborativeRevisionHistory,vt as RealTimeCollaborativeTrackChanges,at as RealTimeContentFetcher,J as Sessions,K as WebSocketGateway};