@ckeditor/ckeditor5-real-time-collaboration 48.1.0-alpha.5 → 48.1.0-alpha.6

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 (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0xfc25ee,Plugin as _0x7d5606,PendingActions as _0x266219,Context as _0x18f807}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2fb07c,CKEditorError as _0x235139,Collection as _0x40b8f5,global as _0x4ae62f,version as _0x3cbd76,uid as _0x53efbe,KeystrokeHandler as _0x2c5ed1}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2ea787,View as _0x200324,ListView as _0x36060f,ListItemView as _0x2cee63,LabelView as _0x1bd5a2,BalloonPanelView as _0x2807ba,clickOutsideHandler as _0x39a237,BodyCollection as _0x9ad684}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3a785a,History as _0x4c61b2,NoOperation as _0x4b1528,InsertOperation as _0x3c46a8,MarkerOperation as _0x13a98e,RootAttributeOperation as _0x6eb12,transformOperationSets as _0x399d51,OperationFactory as _0x683b24}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x3e849f}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x463117,WEB_SOCKET_GATEWAY_STATES as _0x125ccb,CollaborativeEditingService as _0x27da54,User as _0x532341,CommentsService as _0x421f5f,TrackChangesService as _0x5a855e,RevisionHistoryService as _0x4c05e4,EditorService as _0x1358ea}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x262a12,UserView as _0x5ca895}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x40c2f3}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x1d859c,TrackChanges as _0x17a835}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x2c2141,Comments as _0x4aaf32,CommentsEditing as _0x9ff058}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x2d0829}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x28d487}from'es-toolkit/compat';class z extends _0xfc25ee{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x463117)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x3e849f,_0x2ea787];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x146a48){super(_0x146a48),this['set']('state',_0x125ccb['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2fb07c())();}['init'](){const _0x2edb39=this['context'],_0x950b5e=_0x2edb39['plugins']['get'](_0x3e849f),_0x398dcf=_0x2edb39['plugins']['get'](_0x2ea787);if(!_0x950b5e['token'])throw new _0x235139('websocketgateway-missing-token',this);if(!_0x950b5e['webSocketUrl'])throw new _0x235139('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),z['WebSocketGateway']['connect'](_0x950b5e['token'],_0x950b5e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x303c8d=>{if(this['connection']=_0x303c8d,this['bind']('state')['to'](_0x303c8d,'state',this,'_isBrowserOffline',(_0x4309c0,_0x3ff228)=>('connected'!==_0x4309c0&&(this['_shouldPluginsReconnect']=!0x0),_0x3ff228||_0x4309c0!==_0x125ccb['CONNECTED']?_0x125ccb['DISCONNECTED']:this['state']==_0x125ccb['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x125ccb['CONNECTING']):_0x125ccb['CONNECTED'])),this['connection']['on']('error',(_0x1d2262,_0x41b3e2)=>{if('limitExceeded'!==_0x41b3e2['code'])throw console['error'](_0x41b3e2),new _0x235139('cloudservices-init',null,{'originalError':_0x41b3e2});_0x398dcf['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'});}),!_0x303c8d['me'])return new Promise(_0x204b9e=>_0x303c8d['on']('change:me',_0x204b9e));})['catch'](_0x4a6ddd=>{throw console['error'](_0x4a6ddd),new _0x235139('cloudservices-init',null,{'originalError':_0x4a6ddd});});}['addToReconnectionStack'](_0x313349){if('function'!=typeof _0x313349['reconnect'])throw new _0x235139('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x313349))throw new _0x235139('websocketgateway-plugin-already-registered',this,{'name':_0x313349['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x313349);}['removeFromReconnectionStack'](_0x3d5ad2){this['_reconnectionStack']['delete'](_0x3d5ad2);}['isInReconnectionStack'](_0x4159d5){return this['_reconnectionStack']['has'](_0x4159d5);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4d9617=>_0x4d9617['reconnect']())))['then'](()=>this['state']=_0x125ccb['CONNECTED'])['catch'](_0x3b4d70=>{throw console['error'](_0x3b4d70),new _0x235139('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x125ccb['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xfc25ee{['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[z,_0x262a12];}constructor(_0x296178){super(_0x296178),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x40b8f5(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x262a12);}['init'](){const _0x1f4252=this['context']['plugins']['get'](z);this['listenTo'](_0x1f4252,'change:state',(_0x27becb,_0x336ec5,_0x5bf115)=>{if('connected'!==_0x5bf115)this['channelSessions']['forEach'](_0x374b41=>_0x374b41['clear']()),this['channelConnectedUsers']['forEach'](_0x3c5e1f=>_0x3c5e1f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4ae6f0,_0x370ce2]of this['_registeredSessions'])for(const _0x1eeb0e of _0x370ce2)this['_handleSessionAdd'](_0x4ae6f0,_0x1eeb0e);}}),this['_createUser'](_0x1f4252['connection']['me'],!0x0);}['register'](_0x4294cf,_0x3bf052){if(this['_registeredSessions']['has'](_0x4294cf))throw new _0x235139('sessions-register-already-registered',null,{'channelId':_0x4294cf});this['_registeredSessions']['set'](_0x4294cf,_0x3bf052),this['channelSessions']['set'](_0x4294cf,new _0x40b8f5()),this['channelConnectedUsers']['set'](_0x4294cf,new _0x40b8f5()),this['listenTo'](_0x3bf052,'add',(_0x304b66,_0x1dc4e2)=>this['_handleSessionAdd'](_0x4294cf,_0x1dc4e2)),this['listenTo'](_0x3bf052,'remove',(_0x5380ce,_0x6ee790)=>this['_handleSessionRemove'](_0x4294cf,_0x6ee790));for(const _0x3f188f of _0x3bf052)this['_handleSessionAdd'](_0x4294cf,_0x3f188f);}['unregister'](_0x5f3fe6){if(!this['_registeredSessions']['has'](_0x5f3fe6))throw new _0x235139('sessions-unregister-not-exist',null,{'channelId':_0x5f3fe6});const _0x22202f=this['_registeredSessions']['get'](_0x5f3fe6);this['stopListening'](_0x22202f);for(const _0x3da6f1 of _0x22202f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5f3fe6,_0x3da6f1);this['_registeredSessions']['delete'](_0x5f3fe6),this['channelSessions']['delete'](_0x5f3fe6),this['channelConnectedUsers']['delete'](_0x5f3fe6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2c4f9a){for(const _0x27b0d8 of this['channelSessions']['values']())for(const _0x6c290b of _0x27b0d8)if(_0x6c290b['id']===_0x2c4f9a)return _0x6c290b['user'];}['getUserSessions'](_0x128aa1,_0x16d129){const _0x16a033=_0x16d129?[this['channelSessions']['get'](_0x16d129)]:this['channelSessions']['values'](),_0x157df5=new Set();for(const _0x1daff5 of _0x16a033)for(const _0x316535 of _0x1daff5)_0x316535['user']['id']===_0x128aa1['id']&&_0x157df5['add'](_0x316535['id']);return _0x157df5;}['getUserRole'](_0x1289b3){for(const _0x14d487 of this['channelSessions']['values']())for(const _0x2808f2 of _0x14d487)if(_0x2808f2['user']===_0x1289b3)return _0x2808f2['role'];}['_handleSessionAdd'](_0x44cef1,_0x5a9e18){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5e26e=_0x5a9e18['user'],_0x250fc9=this['_users']['getUser'](_0x5e26e['id'])||this['_createUser'](_0x5e26e),_0x5d5fa1=Object['assign']({},_0x5a9e18,{'user':_0x250fc9});if(this['channelSessions']['get'](_0x44cef1)['add'](_0x5d5fa1),!_0x5e26e['hiddenInPresenceList']){const _0x48a238=this['channelConnectedUsers']['get'](_0x44cef1);_0x48a238['has'](_0x250fc9['id'])||_0x48a238['add'](_0x250fc9),this['allConnectedUsers']['has'](_0x250fc9['id'])||_0x5e26e['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x250fc9,_0x250fc9['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x44cef1,{'channelId':_0x44cef1,'session':_0x5d5fa1});}['_handleSessionRemove'](_0xab08d0,_0x2b1672){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x37802c=this['channelConnectedUsers']['get'](_0xab08d0),_0x1ad6fd=_0x2b1672['user'];_0x1ad6fd['id']&&(this['channelSessions']['get'](_0xab08d0)['remove'](_0x2b1672['id']),_0x37802c['has'](_0x1ad6fd['id'])&&!this['getUserSessions'](_0x1ad6fd,_0xab08d0)['size']&&_0x37802c['remove'](_0x1ad6fd['id']),this['allConnectedUsers']['get'](_0x1ad6fd['id'])&&!this['getUserSessions'](_0x1ad6fd)['size']&&this['allConnectedUsers']['remove'](_0x1ad6fd['id']));}['_createUser'](_0x24d032,_0x175066){const _0x3fca0b=this['_users']['addUser'](_0x24d032);return _0x175066&&this['_users']['defineMe'](_0x24d032['id']),_0x3fca0b['orderNumber']=this['_uniqueUsersCount']++,_0x3fca0b;}}class K extends _0x7d5606{['_domEmitter']=new(_0x2fb07c())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x546c23=this['editor'],_0x45623e=_0x546c23['plugins']['get'](Y);_0x546c23['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x565e70,{writer:_0x1e9193})=>function(_0x59b555,_0x5320be,_0x3538c6,_0x6cf500){const _0x332016=_0x59b555['markerName']['split'](':')[0x2],_0x13807d=_0x3538c6['getUserBySessionId'](_0x332016);if(!_0x13807d||_0x332016===_0x3538c6['mySessionId'])return;if(!_0x6cf500['model']['schema']['checkChild'](_0x59b555['markerRange']['start'],'$text'))return;const _0x795258={'class':'ck-user__marker\x20'+_0x13807d['color']['getMarkerClass'](),'style':Q(_0x13807d),'data-name':_0x13807d['name'],'data-session-id':_0x332016},_0x492dbd=_0x6cf500['model']['markers']['get'](_0x59b555['markerName']),_0x22ed78=_0x492dbd['getStart'](),_0x3a40b0=_0x22ed78['nodeAfter'],_0x3e8565=_0x6cf500['model']['schema'];if(_0x3a40b0&&_0x3e8565['isObject'](_0x3a40b0)&&_0x3e8565['isInline'](_0x3a40b0)&&!_0x6cf500['model']['markers']['get']('user:range:'+_0x332016)['getRange']()['isCollapsed'])return;const _0x31ac1e=_0x22ed78['parent'];return _0x6cf500['model']['schema']['isLimit'](_0x31ac1e)&&!_0x6cf500['model']['hasContent'](_0x31ac1e)&&(_0x795258['contenteditable']=!0x1),function(_0xef1507,_0x326683,_0x38add8){const _0x3b843d=_0xef1507['createUIElement']('span',_0x326683);return _0xef1507['setCustomProperty']('userPositionMarker',!0x0,_0x3b843d),_0x3b843d['render']=function(_0x31570b){const _0x5672c7=this['toDomElement'](_0x31570b),_0x424b08=document['createElement']('span');return _0x424b08['classList']['add']('ck-user__marker-tooltip'),_0x424b08['setAttribute']('contenteditable','false'),_0x424b08['setAttribute']('spellcheck','false'),_0x424b08['textContent']=_0x38add8['name'],_0x5672c7['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x424b08['outerHTML']+'⁠',_0x5672c7['addEventListener']('mouseenter',()=>{_0x5672c7['classList']['add']('ck-user__marker_hovered');}),_0x5672c7['addEventListener']('mouseleave',()=>{_0x5672c7['classList']['remove']('ck-user__marker_hovered');}),_0x5672c7;},_0x3b843d['isSimilar']=function(_0x3a6ed0){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3a6ed0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3a6ed0['getAttribute']('data-session-id'));},_0x3b843d;}(_0x5320be,_0x795258,_0x13807d);}(_0x565e70,_0x1e9193,_0x45623e,_0x546c23)}),_0x546c23['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40316e=>function(_0x78e925,_0x1c37a0){const _0x201bc3=_0x78e925['markerName']['split'](':')[0x2];if(_0x201bc3===_0x1c37a0['mySessionId'])return null;const _0x50df26=_0x1c37a0['getUserBySessionId'](_0x201bc3);if(!_0x50df26)return{'id':_0x201bc3,'classes':[]};return{'id':_0x201bc3,'classes':['ck-user__selection',_0x50df26['color']['getSelectionClass']()],'attributes':{'style':Q(_0x50df26),'data-session-id':_0x201bc3},'priority':0x7d0+_0x50df26['orderNumber']};}(_0x40316e,_0x45623e)}),function(_0x430ad2){const _0x11e7ba=_0x430ad2['model'],_0x5837e5=new Map(),_0x2c0215=_0x430ad2['plugins']['get'](Y);_0x11e7ba['markers']['on']('update:user:range',(_0x26158c,_0x5c65f8,_0x3951d1,_0x3a14f3)=>{if(!_0x3a14f3&&_0x5837e5['get'](_0x5c65f8['name']))return _0x5837e5['get'](_0x5c65f8['name'])['detach'](),void _0x5837e5['delete'](_0x5c65f8['name']);const _0x4cb220=_0x5c65f8['name']['split'](':')[0x2];if(_0x4cb220===_0x2c0215['mySessionId'])return;const _0x26744e='user:position:'+_0x4cb220;_0x11e7ba['markers']['has'](_0x26744e)&&_0x430ad2['editing']['reconvertMarker'](_0x26744e),_0x5c65f8['on']('change:range',(_0xa8ae4b,_0x4569b2,_0x49805d)=>{if('$graveyard'!=_0x4569b2['root']['rootName']&&'$graveyard'==_0x5c65f8['getRange']()['root']['rootName']&&!_0x5837e5['has'](_0x5c65f8['name'])){const _0x136d60=_0x11e7ba['schema']['getNearestSelectionRange'](_0x49805d['deletionPosition']);if(_0x136d60){const _0xe70484=_0x3a785a['fromRange'](_0x136d60);_0x5837e5['set'](_0x5c65f8['name'],_0xe70484),_0xe70484['on']('change:range',(_0x41da28,_0x3e5b49,_0x35cda8)=>{if('$graveyard'==_0xe70484['root']['rootName']){const _0x53ff4f=_0x11e7ba['schema']['getNearestSelectionRange'](_0x35cda8['deletionPosition']);_0x53ff4f?(_0xe70484['start']=_0x53ff4f['start'],_0xe70484['end']=_0x53ff4f['end']):(_0x5837e5['delete'](_0x5c65f8['name']),_0xe70484['detach']());}});}}});}),_0x11e7ba['document']['on']('change',()=>{_0x5837e5['size']>0x0&&_0x11e7ba['enqueueChange']({'isUndoable':!0x1},_0x239966=>{for(const [_0x32e51c,_0x57a1f2]of _0x5837e5)'$graveyard'==_0x11e7ba['markers']['get'](_0x32e51c)['getRange']()['root']['rootName']&&(J(_0x32e51c['split'](':')[0x2],_0x57a1f2['toRange'](),_0x11e7ba,_0x239966),_0x57a1f2['detach']());_0x5837e5['clear']();});});}(_0x546c23),this['_domEmitter']['listenTo'](_0x4ae62f['document'],'keydown',(_0x2958f4,{key:_0x1d82ca})=>{'Escape'===_0x1d82ca&&function(_0x2c174b){_0x2c174b['editing']['view']['change'](_0x58c7a3=>{for(const _0x16832b of _0x2c174b['model']['markers']){if(!_0x16832b['name']['startsWith']('user:position'))continue;const _0x3c257e=_0x2c174b['editing']['mapper']['markerNameToElements'](_0x16832b['name']);if(_0x3c257e){for(const _0x208e20 of _0x3c257e)_0x58c7a3['removeClass']('ck-user__marker_hovered',_0x208e20);}}});}(_0x546c23);},{'useCapture':!0x0});}['afterInit'](){const _0x243df7=this['editor'],_0x23c380=_0x243df7['commands']['get']('undo');_0x23c380&&_0x243df7['model']['on']('applyOperation',(_0x1340db,_0x9f76c0)=>{const _0x44be5b=_0x9f76c0[0x0];if(!_0x44be5b['isDocumentOperation'])return;if('marker'!=_0x44be5b['type']||!_0x44be5b['name']['startsWith']('user:'))return;const _0x1e6307=_0x44be5b['batch'];_0x23c380['_createdBatches']['has'](_0x1e6307)&&(_0x44be5b['newRange']=_0x44be5b['oldRange']?_0x243df7['model']['createRange'](_0x44be5b['oldRange']['start'],_0x44be5b['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x459a24=this['editor'],_0xeec206=_0x459a24['model']['document'],_0x1e591f=_0x459a24['plugins']['get'](Y);_0x459a24['model']['enqueueChange']({'isUndoable':!0x1},_0x9a98e7=>{const _0x3c4eba='user:range:'+_0x1e591f['mySessionId'],_0x2eb016='user:position:'+_0x1e591f['mySessionId'],_0x4a6268=_0x459a24['model']['markers']['has'](_0x3c4eba);_0x459a24['editing']['view']['hasDomSelection']?J(_0x1e591f['mySessionId'],_0xeec206['selection']['getFirstRange'](),_0x459a24['model'],_0x9a98e7):_0x4a6268&&(_0x9a98e7['removeMarker'](_0x3c4eba),_0x9a98e7['removeMarker'](_0x2eb016));});}}function J(_0xaada55,_0x178131,_0x1ef82a,_0x5c101c){const _0x561216='user:range:'+_0xaada55,_0x165a34='user:position:'+_0xaada55,_0x43bc44=_0x178131['getContainedElement']();let _0x33f69d=_0x178131['start'];if(_0x43bc44&&_0x43bc44['is']('element','tableCell')){const _0x1ba06d=function(_0x1e939e,_0x425392){for(const _0x1ddc09 of _0x1e939e['getPositions']())if(_0x425392['schema']['checkChild'](_0x1ddc09,'$text'))return _0x1ddc09;}(_0x178131,_0x1ef82a);_0x1ba06d&&(_0x33f69d=_0x1ba06d,_0x178131=_0x5c101c['createRange'](_0x33f69d));}const _0x2e3bb6=_0x5c101c['createRange'](_0x33f69d);_0x1ef82a['markers']['has'](_0x561216)?(_0x5c101c['updateMarker'](_0x561216,{'range':_0x178131}),_0x5c101c['updateMarker'](_0x165a34,{'range':_0x2e3bb6})):(_0x5c101c['addMarker'](_0x561216,{'range':_0x178131,'usingOperation':!0x0}),_0x5c101c['addMarker'](_0x165a34,{'range':_0x2e3bb6,'usingOperation':!0x0}));}function Q(_0x3b110f){return'--ck-user-color:'+_0x3b110f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3b110f['color']['getColorAlphaVariable']()+';';}function X(_0x37b9cd,_0x1d4a08,_0x27d10a){const _0x5a1407=_0x37b9cd['t'],t=_0x37b9cd['t'];switch(_0x1d4a08){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 _0x5a1407({'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'},_0x27d10a);default:return'';}}let Z=0x1;class tt extends _0x7d5606{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x27da54)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x266219,_0x262a12,_0x2ea787];}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 _0x3e3599=this['serverHistory']['getOperations']();for(let _0x6d360=_0x3e3599['length']-0x1;_0x6d360>=0x0;_0x6d360--){const _0x48bcd8=_0x3e3599[_0x6d360];if(!this['_disconnectionOperations']['has'](_0x48bcd8))return _0x48bcd8['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xc9151){if(super(_0xc9151),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4c61b2(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x235139('collaboration-missing-channelid',this);const _0x5030c8=_0xc9151['config']['get']('cloudServices.bundleVersion')||_0x3cbd76;this['_service']=new tt['CollaborativeEditingService'](_0x5030c8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x40c2f3(),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 it(this['_disconnectionOperations']);}['init'](){const _0x32d2b7=this['editor'],_0x74d8eb=_0x32d2b7['plugins']['get'](_0x262a12),_0x35e56e=_0x32d2b7['plugins']['get'](z);this['listenTo'](_0x74d8eb,'getOperationAuthor',(_0x4b1999,_0x12860a)=>{const _0x36101f=_0x12860a[0x0];_0x36101f['_authorId']&&(_0x4b1999['return']=_0x74d8eb['getUser'](_0x36101f['_authorId']),_0x4b1999['stop']()),null===_0x36101f['_authorId']&&(_0x4b1999['return']=null,_0x4b1999['stop']());},{'priority':'high'}),this['listenTo'](_0x32d2b7['model']['document']['selection'],'change:range',(_0x2a6ff0,_0x13793e)=>{_0x13793e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x32d2b7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x32d2b7['model']['on']('applyOperation',(_0x118621,_0x98019a)=>{const _0x31c2f1=_0x98019a[0x0];_0x31c2f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x31c2f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x35e56e,'state',this,'_hasSynchronizationProblem',(_0x5b2f95,_0x232191)=>'connected'===_0x5b2f95&&!_0x232191),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x32d2b7['disableReadOnlyMode']('rtc-offline'):_0x32d2b7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x32d2b7['disableReadOnlyMode']('rtc-offline'):_0x32d2b7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3edc8e=this['editor']['plugins']['get'](Y),_0x494a99=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3edc8e['unregister'](this['_channelId']);const _0x5d4af1=await this['_service']['reconnect'](_0x494a99['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5d4af1)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x106afc=await this['_service']['getConnectedSessions']();_0x3edc8e['register'](this['_channelId'],_0x106afc),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x12b92f){if(function(_0xa8a6e8){return'404'===_0xa8a6e8['code'];}(_0x12b92f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x596562){return'409'===_0x596562['code'];}(_0x12b92f)){const _0x2c52f3=X(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'](_0x2c52f3);}else{if(!(_0x12b92f instanceof et))throw _0x12b92f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3272df=this['editor']['plugins']['get'](z),_0x446998=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x446998['channelSessions']['has'](this['_channelId'])&&_0x446998['unregister'](this['_channelId']),_0x3272df['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5b3b04){if(this['sessionId']!==_0x5b3b04['sessionId']&&this['_lastSyncedOperationId']!==_0x5b3b04['lastOperationId'])throw new et();return this['sessionId']=_0x5b3b04['sessionId'],this['_handleServerResponse']([],{..._0x5b3b04,'wereChangesApplied':!0x1,'data':_0x5b3b04['data']},'reconnect');}async['_connectService'](_0x4fc730,_0x10b90c=!0x1){const {connection:_0x3a2145}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x3a2145,this['_channelId'])['then'](_0x360e52=>this['_initSessionsHandling'](_0x360e52))['catch'](_0x3a6d22=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3a6d22);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1f9d1d,_0xd1b0ab)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xd1b0ab);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x44484d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4fc730);this['_isPendingUpdate']=!0x0;const _0x3f4dae=await this['_service']['connect'](_0x3a2145,this['_compressOperations'](_0x4fc730),_0x44484d);if(this['sessionId']=_0x3f4dae['sessionId'],_0x10b90c){if(!_0x3f4dae['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3f4dae['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4fc730,_0x3f4dae,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3f4dae,_0x4fc730);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x66c165=this['editor']['plugins']['get'](Y),_0x5d9c50=this['editor']['plugins']['get'](K),_0x2f8580=_0x66c165['channelSessions']['get'](this['_channelId']);_0x2f8580&&_0x2f8580['length']>0x1?_0x5d9c50['createUserMarkerOperations']():this['listenTo'](_0x66c165,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x66c165['channelSessions']['get'](this['_channelId'])['length']&&_0x5d9c50['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1217ab,_0x439314,_0x4d5c2d,_0x3f0c16){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x439314){const _0x3cf2e9=this['_decompressOperations'](_0x4d5c2d,_0x3f0c16);await this['_fetchMissingUsers'](_0x3cf2e9),this['_handleExternalOperations'](_0x3cf2e9,_0x439314,_0x4d5c2d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xbe41a3}=this['editor'];let _0x324da7;try{_0x324da7=await this['_service']['getDocumentDetails']();}catch{const _0x19f200=X(_0xbe41a3,'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'](_0x19f200);}const _0x14d78b=_0x324da7['currentDocumentSession']||_0x324da7['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x14d78b['lastOperationId']){const _0x39342a=X(_0xbe41a3,'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'](_0x39342a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3786ab){const _0x5e4be0=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5e4be0,'sessionAdd:'+this['_channelId'],(_0x4f3675,{session:_0x3a3134})=>{if(_0x3a3134['id']===_0x5e4be0['mySessionId']){_0x4f3675['off']();const _0x46af86=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xae109f=_0x3a3134['permissions'];_0x46af86&&_0x46af86['isEnabled']&&(_0xae109f=_0xae109f['filter'](_0x24bdfe=>'document:write'!==_0x24bdfe)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xae109f,this['_channelId']);}}),_0x5e4be0['register'](this['_channelId'],_0x3786ab);}['_initThrowingOnDataSet'](){const _0xf5d1d9=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2f2f51)=>{if(!_0x2f2f51[_0x2f2f51['length']-0x1]['suppressErrorInCollaboration'])throw new _0x235139('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xf5d1d9['apply'](this['editor']['data'],_0x2f2f51);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1264ab,[_0x4253c4])=>{if(this['_document']['version'])throw new _0x235139('realtimecollaborationclient-init-document-already-initialized',this);_0x1264ab['stop'](),this['_setPendingAction']();const _0x4dabd6=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1f48ad])=>!_0x1f48ad['lazyLoad'])['map'](([_0x34ecec,_0x239acf])=>[_0x34ecec,_0x239acf['modelAttributes']||{}])),_0x9e5bf2=this['_getOperationsFromInitData'](_0x4253c4,_0x4dabd6);0x0==_0x9e5bf2['length']&&_0x9e5bf2['push'](new _0x4b1528(0x0)),_0x1264ab['return']=this['_connectService'](_0x9e5bf2)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x113b8b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x113b8b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1d9ae3,[_0x515e9f,_0x5ddc58])=>{_0x1d9ae3['stop']();const _0x27b435=this['editor']['model']['document']['getRoot'](_0x515e9f);if(!this['_knownRootNames']['has'](_0x515e9f)){const _0xe53e71=_0x5ddc58&&_0x5ddc58['data']?_0x5ddc58['data']:'',_0x1e3f09=_0x5ddc58&&_0x5ddc58['attributes']?_0x5ddc58['attributes']:{};await this['_loadRoot'](_0x515e9f,_0xe53e71,_0x1e3f09);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x27b435['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x27b435);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x284dab){const _0x40d2a0=this['editor']['plugins']['get'](_0x262a12),{connection:_0x1bff8d}=this['editor']['plugins']['get'](z),_0x1d19bc=new Set();for(const _0x187310 of _0x284dab){const _0x2cf1f5=_0x187310['_authorId'];_0x2cf1f5&&!_0x40d2a0['getUser'](_0x2cf1f5)&&_0x1d19bc['add'](_0x2cf1f5);}if(0x0===_0x1d19bc['size'])return;const _0x5ace0f=await _0x532341['getMany'](_0x1bff8d,Array['from'](_0x1d19bc));for(const _0x34aea6 of _0x5ace0f)_0x40d2a0['getUser'](_0x34aea6['id'])||_0x40d2a0['addUser'](_0x34aea6);}['_getOperationsFromInitData'](_0x53fd01,_0x35c58b={}){const _0x4476f1=this['editor']['model'],_0x1fd324=[];let _0x3c2b07=0x0;const _0x13d9db='string'==typeof _0x53fd01?{'main':_0x53fd01}:_0x53fd01;for(const _0x271d24 of Object['keys'](_0x13d9db)){if(!this['_document']['roots']['has'](_0x271d24))throw new _0x235139('realtimecollaborationclient-init-non-existent-root',this);const _0x540756=this['editor']['data']['parse'](_0x13d9db[_0x271d24]),_0x2a00cf=this['_document']['getRoot'](_0x271d24),_0x7ff511=new _0x3c46a8(_0x4476f1['createPositionAt'](_0x2a00cf,0x0),_0x540756,_0x3c2b07++);_0x1fd324['push'](_0x7ff511);for(const [_0x27b084,_0x4b4681]of _0x540756['markers']){const _0x58a734=_0x4476f1['createRange'](_0x4476f1['createPositionFromPath'](_0x2a00cf,_0x4b4681['start']['path']['slice']()),_0x4476f1['createPositionFromPath'](_0x2a00cf,_0x4b4681['end']['path']['slice']())),_0x3e573e=new _0x13a98e(_0x27b084,null,_0x58a734,_0x4476f1['markers'],!0x0,_0x3c2b07++);_0x1fd324['push'](_0x3e573e);}}if(_0x35c58b)for(const [_0x3a41a9,_0x566218]of Object['entries'](_0x35c58b)){const _0x4eef69=_0x4476f1['document']['getRoot'](_0x3a41a9);if(!_0x4eef69)throw new _0x235139('multi-root-editor-root-attributes-no-root',null);for(const [_0x413777,_0x5dd6b1]of Object['entries'](_0x566218))if(null!==_0x5dd6b1){const _0x5a854a=new _0x6eb12(_0x4eef69,_0x413777,null,_0x5dd6b1,_0x3c2b07++);_0x1fd324['push'](_0x5a854a);}}return _0x1fd324;}async['_loadRoot'](_0x278e4f,_0x412f3b,_0x2e085c){this['_getOperationsFromInitData']({[_0x278e4f]:_0x412f3b},{[_0x278e4f]:_0x2e085c})['forEach']((_0x379a4d,_0x9b2e01)=>{_0x379a4d['baseVersion']=this['_document']['version']+_0x9b2e01,_0x379a4d['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x379a4d);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x23fc88,_0x66722a){let _0x3c6fa7;this['_offset']=_0x23fc88['offset'];const _0xae23=_0x23fc88['wereChangesApplied']&&!_0x23fc88['initData'],_0x1861d0=_0xae23?0x0:_0x23fc88['data']['baseVersion'];if(_0x66722a['forEach'](_0x8231ca=>{_0x8231ca['_isInit']=!0x0,_0x8231ca['createdAt']=_0x23fc88['sessionCreatedAt'],_0x8231ca['_authorId']=null;}),_0xae23)_0x3c6fa7=_0x66722a,this['_applyOperationsSet'](_0x3c6fa7,_0xae23);else{if(_0x23fc88['initData']){const _0x4cd0f9=this['_getOperationsFromInitData'](_0x23fc88['initData']);this['_document']['history']['version']=-_0x4cd0f9['length'],_0x4cd0f9['forEach'](_0x3d8d8d=>{_0x3d8d8d['baseVersion']-=_0x4cd0f9['length'],_0x3d8d8d['createdAt']=_0x23fc88['sessionCreatedAt'],_0x3d8d8d['_isInit']=!0x0,_0x3d8d8d['_authorId']=null;}),this['_applyOperationsSet'](_0x4cd0f9,!0x0),this['serverHistory']['version']=-_0x4cd0f9['length']+this['_offset'],this['_updateServerHistory'](_0x4cd0f9);}this['_document']['history']['version']=_0x1861d0,_0x3c6fa7=this['_decompressOperations'](_0x23fc88['data'],_0x23fc88['metadata']),await this['_fetchMissingUsers'](_0x3c6fa7),this['_applyOperationsSet'](_0x3c6fa7,_0xae23);}_0x23fc88['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3c6fa7,_0x23fc88['lastOperationId']),this['_lastSyncedOperationId']=_0x23fc88['lastOperationId']),this['serverHistory']['version']=_0x1861d0+this['_offset'],this['_updateServerHistory'](_0x3c6fa7),_0x66722a['filter'](_0x220f63=>{const _0x1e0163=this['_getAffectedRoot'](_0x220f63);return _0x1e0163&&!this['_knownRootNames']['has'](_0x1e0163);})['forEach']((_0x56d95a,_0x293ea0)=>{_0x56d95a['baseVersion']=this['_document']['version']+_0x293ea0,this['_saveOperationInBuffer'](_0x56d95a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x462c89,_0x3178b1){const _0x4be109=_0x3178b1&&_0x3178b1['message'];if(_0x4be109&&_0x4be109['startsWith']('realtimecollaborationclient'))throw _0x3178b1;const _0x246c00=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x246c00['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x235139(_0x462c89,this['editor'],_0x4be109?{'originalError':_0x4be109}:void 0x0);}['_saveOperationInBuffer'](_0x382b98){this['_knownOperations']['has'](_0x382b98)||(this['_knownOperations']['add'](_0x382b98),this['_bufferedOperations']['push'](_0x382b98),this['_pendingAction']||'marker'==_0x382b98['type']&&!_0x382b98['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5e9b2b=!0x1){!_0x5e9b2b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x576fc9=>{_0x576fc9&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x525dda=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x20921d){return _0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x525dda)||this['_crash'](_0x525dda['message'],_0x525dda);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x27051a=>{this['on']('change:_isPendingUpdate',()=>{_0x27051a();});});}async['_sendBufferedOperations'](){const _0x4dac0f=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4dac0f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x769f11=[...this['_bufferedOperations']];for(const _0x423b92 of _0x769f11)_0x423b92['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x423b92);const _0xc7d0f7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x769f11),_0x1e30c0=Z++,_0x3a8518=this['_compressOperations'](_0x769f11),_0x5a2f37=await this['_service']['sendOperations'](_0x3a8518,_0x3a8518['baseVersion'],_0xc7d0f7);try{return await this['_handleServerResponse'](_0x769f11,_0x5a2f37,_0x1e30c0);}catch(_0x1d577f){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1d577f);}}async['_handleServerResponse'](_0x4c2061,_0x20f3c4,_0x5357c1){if('error'in _0x20f3c4)throw _0x20f3c4['error'];let _0x5bd38b=!0x1;if(_0x20f3c4['wereChangesApplied']){_0x20f3c4['lastOperationId']&&(this['_lastSyncedOperationId']=_0x20f3c4['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x273acb=>!_0x4c2061['includes'](_0x273acb));for(const _0x2d69a4 of _0x4c2061)_0x2d69a4['createdAt']='lastOperationAcceptedAt'in _0x20f3c4&&_0x20f3c4['lastOperationAcceptedAt']||void 0x0;st(_0x4c2061,_0x20f3c4['version']-_0x4c2061['length']),this['_updateServerHistory'](_0x4c2061);const _0x515261=_0x4c2061['filter'](_0x105992=>{if(!_0x105992['_isInit'])return!0x1;const _0x302c07=this['_getAffectedRoot'](_0x105992);return _0x302c07&&!this['_knownRootNames']['has'](_0x302c07);});st(_0x515261,this['_document']['version']),this['_applyOperationsSet'](_0x515261),_0x5bd38b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x833508=this['_decompressOperations'](_0x20f3c4['data'],_0x20f3c4['metadata'])['filter'](_0x3edcbf=>_0x3edcbf['baseVersion']>=this['_lastServerVersion']);_0x833508['forEach'](_0x31e0f9=>this['_addKnownRoot'](_0x31e0f9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x37c144=>!_0x37c144['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x37c144))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x833508),_0x5bd38b=this['_handleExternalOperations'](_0x833508,_0x20f3c4['version'],_0x20f3c4['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5bd38b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x210a66,_0x5d05eb,_0x300daf){try{const _0x4569a1={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x46e363,operationsB:_0x2b1190,originalOperations:_0x44fb08}=_0x399d51(_0x210a66,this['_bufferedOperations'],_0x4569a1);st(_0x46e363,this['_document']['version']),st(_0x2b1190,_0x5d05eb);for(const _0x10f2ef of _0x46e363){const _0x351bed=_0x44fb08['get'](_0x10f2ef);_0x10f2ef['_authorId']=_0x351bed?_0x351bed['_authorId']:null;}_0x300daf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x210a66,_0x300daf),this['_lastSyncedOperationId']=_0x300daf),this['_bufferedOperations']=[..._0x2b1190],this['_applyOperationsSet'](_0x46e363),this['_updateServerHistory'](_0x210a66);}catch(_0x4e7985){return console['error'](_0x4e7985),!0x1;}return!0x0;}['_applyOperationsSet'](_0x48abdb,_0x5d2c25=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x29ee53=>{for(const _0x29798b of _0x48abdb)this['_knownOperations']['add'](_0x29798b),this['_addKnownRoot'](_0x29798b),_0x29ee53['batch']['addOperation'](_0x29798b),this['editor']['model']['applyOperation'](_0x29798b);});}['_addKnownRoot'](_0x50361e){const _0x467d51=this['_getAffectedRoot'](_0x50361e);_0x467d51&&this['_knownRootNames']['add'](_0x467d51);}['_getAffectedRoot'](_0x40b9df){let _0x34cd25,_0x57c20e;switch(_0x40b9df['type']){case'insert':_0x34cd25=_0x40b9df['position']['root'];break;case'marker':if(_0x57c20e=_0x40b9df['newRange'],!_0x57c20e)return null;_0x34cd25=_0x57c20e['root'];break;case'addRootAttribute':_0x34cd25=_0x40b9df['root'];break;case'addRoot':_0x34cd25=_0x40b9df['affectedSelectable'];break;case'move':_0x34cd25=_0x40b9df['targetPosition']['root'];break;default:return null;}return _0x34cd25['rootName'];}['_updateServerHistory'](_0x25af4d){_0x25af4d['forEach'](_0x434efc=>{const _0x5ec0ff=_0x434efc['clone']();_0x5ec0ff['_authorId']=_0x434efc['_authorId'],_0x5ec0ff['_isInit']=!!_0x434efc['_isInit'],_0x5ec0ff['createdAt']=_0x434efc['createdAt'],_0x5ec0ff['baseVersion']+=this['_offset'],_0x434efc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ec0ff),this['serverHistory']['addOperation'](_0x5ec0ff);});}['_handleReconnectionError'](_0x16defb){const _0x1a326a=this['editor']['plugins']['get']('Notification'),_0x1af3ad=this['editor']['locale'];_0x16defb||(_0x16defb=X(_0x1af3ad,'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.')),_0x1a326a['showWarning'](_0x16defb,{'title':X(_0x1af3ad,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x266219)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x266219)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0xd69bdc){const _0x1f2095=_0xd69bdc['map'](_0x2e98e4=>_0x2e98e4['toJSON']());return this['_compressor']['compress'](_0x1f2095);}['_decompressOperations'](_0x7a9802,_0x47be79){return this['_compressor']['decompress'](_0x7a9802)['map']((_0x19045e,_0x112860)=>{const _0x11fc83='init'==_0x47be79[_0x112860]['type'];if('InsertOperation'==_0x19045e['__className']){const _0xd8f310=_0x19045e['position']['root'];!this['_document']['getRoot'](_0xd8f310)&&(this['_document']['createRoot']('$root',_0xd8f310)['_isAttached']=!0x1);}const _0x58c7f4=_0x683b24['fromJSON'](_0x19045e,this['_document']);return _0x58c7f4['wasUndone']=_0x19045e['wasUndone'],_0x58c7f4['_isInit']=_0x11fc83,_0x58c7f4['_authorId']=_0x11fc83?null:_0x47be79[_0x112860]['userId'],_0x58c7f4['_isDisconnection']='cs:removeUser'===_0x47be79[_0x112860]['type'],_0x58c7f4['createdAt']=_0x47be79[_0x112860]['createdAt'],_0x58c7f4;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x340e64=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x340e64&&_0x340e64['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x352250,_0x3b6a34){for(const _0x294da0 of _0x352250)_0x294da0['baseVersion']=_0x3b6a34++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x17fe99){this['_ignoredOperations']=_0x17fe99,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1920da){let _0x2485b5=_0x1920da['length'];for(;_0x2485b5--;){const _0x3445cc=_0x1920da[_0x2485b5];if(!this['_ignoredOperations']['has'](_0x3445cc)){if(!this['_operationToId']['has'](_0x3445cc)){const _0x2536b6=_0x53efbe()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3445cc,_0x2536b6);}return this['_operationToId']['get'](_0x3445cc);}}}['setIdForTheLastOperation'](_0x245cdd,_0x49d316){if(!_0x49d316)return;let _0x147bcc=_0x245cdd['length'];for(;_0x147bcc--;){const _0x1ac92b=_0x245cdd[_0x147bcc];this['_ignoredOperations']['has'](_0x1ac92b)||this['_operationToId']['set'](_0x1ac92b,_0x49d316);}}}class nt extends _0x7d5606{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xfc25ee{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x421f5f)());['_services'];static get['requires'](){return[z,_0x2c2141,Y,_0x262a12];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x72c440){super(_0x72c440),this['_services']=new Map();}async['init'](){const _0xff69ff=this['context'],_0x1c9618=_0xff69ff['plugins']['get'](_0x2c2141);if(_0xff69ff['plugins']['get'](z)['addToReconnectionStack'](this),_0x1c9618['adapter']={'addCommentThread':async({channelId:_0x30595e,threadId:_0x38b3bb,comments:_0x19a7a5,resolvedAt:_0x71ef45,resolvedBy:_0x362d0a,context:_0x17dbae,attributes:_0x241157})=>{const _0x5417b5=await this['_getService'](_0x30595e)['addCommentThread']({'commentThreadId':_0x38b3bb,'comments':_0x19a7a5['map'](_0x366f7c=>function(_0x26526f,_0x31ef42,_0x402bd8){return{'commentThreadId':_0x402bd8,'commentId':_0x26526f['commentId'],'userId':_0x26526f['authorId'],'content':_0x26526f['content'],'documentId':_0x31ef42,'createdAt':_0x26526f['createdAt'],'attributes':_0x26526f['attributes']||{}};}(_0x366f7c,_0x30595e,_0x38b3bb)),'resolvedAt':_0x71ef45,'resolvedBy':_0x362d0a,'context':_0x17dbae,'attributes':_0x241157})['catch'](ct);return{'threadId':_0x5417b5['commentThreadId'],'comments':_0x5417b5['comments']};},'getCommentThread':async({channelId:_0x2ecbec,threadId:_0x84c347})=>{const _0x4e5168=await this['_getService'](_0x2ecbec)['getCommentThread'](_0x84c347)['catch'](rt)['catch'](ct);return _0x4e5168?_0x4e5168['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4e5168]),{'threadId':_0x4e5168['commentThreadId'],'comments':_0x4e5168['comments']['map'](at),'context':_0x4e5168['context'],'resolvedAt':_0x4e5168['resolvedAt'],'resolvedBy':_0x4e5168['resolvedBy'],'attributes':_0x4e5168['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x32e36c,threadId:_0x260a68,context:_0x4bfa0a,unlinkedAt:_0x467efa,attributes:_0x458137})=>this['_getService'](_0x32e36c)['updateCommentThread']({'commentThreadId':_0x260a68,'context':_0x4bfa0a,'attributes':_0x458137,'unlinkedAt':_0x467efa})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x575c13,threadId:_0x3d1d01})=>{const _0x36d000=await this['_getService'](_0x575c13)['resolveCommentThread'](_0x3d1d01)['catch'](rt)['catch'](ct);return{'threadId':_0x36d000['commentThreadId'],'resolvedAt':_0x36d000['resolvedAt'],'resolvedBy':_0x36d000['resolvedBy']};},'reopenCommentThread':async({channelId:_0x178d56,threadId:_0xe57d3d})=>this['_getService'](_0x178d56)['reopenCommentThread'](_0xe57d3d)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x162c11,threadId:_0x5839b0})=>this['_getService'](_0x162c11)['removeCommentThread'](_0x5839b0)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x51aadb,threadId:_0xe098d4,commentId:_0x35be12,content:_0x20dcf2,attributes:_0x2de18d})=>this['_getService'](_0x51aadb)['addComment'](_0xe098d4,_0x35be12,_0x20dcf2,_0x2de18d)['catch'](ct),'updateComment':({channelId:_0x228e4b,threadId:_0x558bdc,commentId:_0x40cdc5,content:_0x583dfa,attributes:_0x4ca7c4})=>this['_getService'](_0x228e4b)['updateComment'](_0x558bdc,_0x40cdc5,_0x583dfa,_0x4ca7c4)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x5625ae,threadId:_0x547f37,commentId:_0x4734e5})=>this['_getService'](_0x5625ae)['removeComment'](_0x547f37,_0x4734e5)['catch'](rt)['catch'](ct)},_0xff69ff instanceof _0x18f807){const _0x44500d=_0xff69ff['config']['get']('collaboration.channelId'),_0x3b79f3=_0xff69ff['plugins']['get'](Y);await this['_setUpService'](_0x44500d);const _0x1f092d=await this['_services']['get'](_0x44500d)['getConnectedSessions']();this['listenTo'](_0x3b79f3,'sessionAdd:'+_0x44500d,(_0x3e12e5,{session:_0x5ee973})=>{_0x5ee973['id']===_0x3b79f3['mySessionId']&&(_0x3e12e5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5ee973['permissions'],_0x44500d));}),_0x3b79f3['register'](_0x44500d,_0x1f092d);}}async['_setUpService'](_0x20545e){if(this['_services']['has'](_0x20545e))throw new _0x235139('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x20545e});const _0x240629=this['context']['plugins']['get'](_0x2c2141),_0x5758fa=new ot['CommentsService'](_0x20545e);this['_services']['set'](_0x20545e,_0x5758fa),this['listenTo'](_0x5758fa,'commentThreadAdded',(_0x63541c,_0x3eaff5)=>{const {commentThreadId:_0x448a8d,documentId:_0x3520c3,context:_0xfed4b6,attributes:_0x21de7f,resolvedAt:_0x5416b1,resolvedBy:_0xd077ab,comments:_0x4e489d}=_0x3eaff5;_0x240629['getCommentThread'](_0x448a8d)||_0x240629['addCommentThread']({'threadId':_0x448a8d,'channelId':_0x3520c3,'comments':_0x4e489d?_0x4e489d['map'](at):[],'context':_0xfed4b6,'attributes':_0x21de7f,'resolvedAt':_0x5416b1,'resolvedBy':_0xd077ab,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadUpdated',(_0x15c69a,{commentThreadId:_0x15f64a,documentId:_0x19461f,context:_0x46534c,unlinkedAt:_0x48d51c,attributes:_0x5393e4})=>{_0x240629['getCommentThread'](_0x15f64a)&&_0x240629['updateCommentThread']({'threadId':_0x15f64a,'channelId':_0x19461f,'context':_0x46534c,'unlinkedAt':_0x48d51c,'attributes':_0x5393e4,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadResolved',(_0x11aea4,{commentThreadId:_0x238c2d,resolvedBy:_0x579624,resolvedAt:_0x7642b8})=>{const _0x574c8f=_0x240629['getCommentThread'](_0x238c2d);_0x574c8f&&_0x574c8f['resolve']({'resolvedBy':_0x579624,'resolvedAt':_0x7642b8,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadReopened',(_0xc717c6,{commentThreadId:_0x5653ce})=>{const _0x3dc73a=_0x240629['getCommentThread'](_0x5653ce);_0x3dc73a&&_0x3dc73a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadRemoved',(_0x2b137c,{commentThreadId:_0x31d363})=>{const _0x4c99b8=_0x240629['getCommentThread'](_0x31d363);_0x4c99b8&&_0x4c99b8['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentAdded',(_0x4f168a,_0x3eb3e7)=>{const _0x4af4d0=_0x3eb3e7['commentThreadId'],_0xb2066a=_0x240629['getCommentThread'](_0x4af4d0);_0xb2066a&&_0xb2066a['addComment']({...at(_0x3eb3e7),'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentUpdated',(_0x9245ec,{commentThreadId:_0x1e20b4,commentId:_0x5e5ea4,content:_0x3d038e,attributes:_0x1e1e75})=>{const _0x522aec=_0x240629['getCommentThread'](_0x1e20b4);if(_0x522aec){const _0x5ddcee=_0x522aec['getComment'](_0x5e5ea4);_0x5ddcee&&_0x5ddcee['update']({'content':_0x3d038e,'attributes':_0x1e1e75,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5758fa,'commentRemoved',(_0x3ea1d9,{commentThreadId:_0x33dab6,commentId:_0x28f511})=>{const _0x17d3d4=_0x240629['getCommentThread'](_0x33dab6);if(_0x17d3d4){const _0x5fc17d=_0x17d3d4['getComment'](_0x28f511);_0x5fc17d&&_0x5fc17d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x20545e);}['destroy'](){if(this['context']instanceof _0x18f807){const _0x57f7e4=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x57f7e4);}}['_terminateService'](_0x1e7e3b){if(!this['_services']['has'](_0x1e7e3b))throw new _0x235139('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1e7e3b});this['_getService'](_0x1e7e3b)['disconnect'](),this['_services']['delete'](_0x1e7e3b);}async['reconnect'](){for(const _0x471124 of this['_services']['keys']())await this['_connectService'](_0x471124);if(this['context']instanceof _0x18f807){const _0xfd5197=this['context']['config']['get']('collaboration.channelId'),_0x3fc919=this['context']['plugins']['get'](Y);_0x3fc919['unregister'](_0xfd5197);const _0x507715=await this['_services']['get'](_0xfd5197)['getConnectedSessions']();_0x3fc919['register'](_0xfd5197,_0x507715);}}async['_connectService'](_0x5e1bbe){const {connection:_0x2e3708}=this['context']['plugins']['get'](z),_0x2b0dbc=this['context']['plugins']['get'](_0x2c2141),_0x576f56=this['_services']['get'](_0x5e1bbe),_0x42e0c8=await _0x576f56['connect'](_0x2e3708);await this['_fetchMissingUsersForThreads'](_0x42e0c8);const _0x1e2879=new Set(Array['from'](_0x2b0dbc['getCommentThreads']({'channelId':_0x5e1bbe}),_0x45675d=>_0x45675d['id']));for(const _0x21d79a of _0x42e0c8)_0x21d79a['deletedAt']||_0x1e2879['delete'](_0x21d79a['commentThreadId']);for(const _0x6d33c3 of _0x1e2879)_0x2b0dbc['getCommentThread'](_0x6d33c3)['remove']({'isFromAdapter':!0x0});for(const _0x1a2b57 of _0x42e0c8){let _0xd14ba3=_0x2b0dbc['getCommentThread'](_0x1a2b57['commentThreadId']);const {commentThreadId:_0x22d6cc,context:_0x1e0a35,attributes:_0x4e13ae,resolvedBy:_0x2cf6fc,resolvedAt:_0x475a8c,unlinkedAt:_0x59bd5d,deletedAt:_0x570142}=_0x1a2b57;if(_0x570142)continue;_0xd14ba3||(_0xd14ba3=_0x2b0dbc['addCommentThread']({'channelId':_0x5e1bbe,'threadId':_0x22d6cc,'context':_0x1e0a35,'attributes':_0x4e13ae||{},'resolvedBy':_0x2cf6fc,'resolvedAt':_0x475a8c,'unlinkedAt':_0x59bd5d,'isFromAdapter':!0x0}));const _0x27720a=new Set(Array['from'](_0xd14ba3['comments'],_0xb3c463=>_0xb3c463['id']));for(const _0x348a4b of _0x1a2b57['comments'])_0x27720a['delete'](_0x348a4b['commentId']);for(const _0x1d1988 of _0x27720a)_0xd14ba3['getComment'](_0x1d1988)['remove']({'isFromAdapter':!0x0});for(const _0x53245a of _0x1a2b57['comments']){const _0x4a4a7e=_0xd14ba3['getComment'](_0x53245a['commentId']);_0x4a4a7e?_0x4a4a7e['content']!==_0x53245a['content']&&_0x4a4a7e['update']({'content':_0x53245a['content'],'isFromAdapter':!0x0}):_0xd14ba3['addComment'](Object['assign'](at(_0x53245a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x74a8aa){if(!this['_services']['has'](_0x74a8aa))throw new _0x235139('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x74a8aa});return this['_services']['get'](_0x74a8aa);}async['_fetchMissingUsersForThreads'](_0x4992a2){const _0x32bffe=this['context']['plugins']['get'](_0x262a12),{connection:_0x10ee09}=this['context']['plugins']['get'](z),_0x53935f=new Set();for(const {resolvedBy:_0x5992b4,comments:_0x5f00f7}of _0x4992a2){_0x5992b4&&!_0x32bffe['getUser'](_0x5992b4)&&_0x53935f['add'](_0x5992b4);for(const {userId:_0x493660}of _0x5f00f7)_0x32bffe['getUser'](_0x493660)||_0x53935f['add'](_0x493660);}if(0x0===_0x53935f['size'])return;const _0x1c7fdb=await _0x532341['getMany'](_0x10ee09,Array['from'](_0x53935f));for(const _0x3d432d of _0x1c7fdb)_0x32bffe['getUser'](_0x3d432d['id'])||_0x32bffe['addUser'](_0x3d432d);}}async function rt(_0x520b01){if('404'!==_0x520b01['code'])throw _0x520b01;}function ct(_0x1670db){if((_0x3e7b1f=_0x1670db)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e7b1f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e7b1f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e7b1f;throw _0x1670db;}function at(_0x10400d){return{'threadId':_0x10400d['commentThreadId'],'commentId':_0x10400d['commentId'],'content':_0x10400d['content'],'createdAt':_0x10400d['createdAt'],'authorId':_0x10400d['userId'],'attributes':_0x10400d['attributes']||{}};}class ht extends _0x7d5606{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x5a855e)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x1d859c,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2064e4){super(_0x2064e4);const _0x804fc5=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x804fc5);}['init'](){const _0x4d337f=this['editor']['plugins']['get'](z),_0xb19804=this['editor']['plugins']['get'](_0x1d859c);return _0xb19804['adapter']={'getSuggestion':async _0x2e0d4d=>{await this['_waitForServiceReady']();const _0x23fec7=await this['_trackChangesService']['get'](_0x2e0d4d)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x23fec7]),_0x23fec7;},'addSuggestion':async({id:_0x3cb55d,type:_0x57089a,data:_0x5d732a,originalSuggestionId:_0x52790e,attributes:_0x1568d0})=>{await this['_waitForServiceReady']();const _0x24bc33={'id':_0x3cb55d,'type':_0x57089a,'data':_0x5d732a,'originalSuggestionId':_0x52790e,'attributes':_0x1568d0},_0x273eda=await this['_trackChangesService']['add'](_0x3cb55d,_0x57089a,_0x5d732a,_0x52790e,_0x1568d0)['catch'](_0x38606f=>{if(dt(_0x38606f))return new Promise(_0x1e99be=>{this['_bufferedRequests']['set'](_0x3cb55d,{'resolve':_0x1e99be,'suggestionData':_0x24bc33});});throw _0x38606f;});return this['_bufferedRequests']['delete'](_0x3cb55d),_0x273eda;},'updateSuggestion':async(_0x17795d,_0x185876)=>{if(await this['_waitForServiceReady'](),'open'!==_0x185876['state'])return this['_trackChangesService']['update'](_0x17795d,_0x185876)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x37b1fa,_0x40a46b)=>{_0xb19804['hasSuggestion'](_0x40a46b['id'])&&(_0xb19804['getSuggestion'](_0x40a46b['id'])['attributes']=_0x40a46b['attributes']);}),this['_trackChangesService']['connect'](_0x4d337f['connection'])['then'](_0x4a5020=>(_0x4d337f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4a5020)['then'](()=>{for(const _0x4eb6a0 of _0x4a5020){_0xb19804['addSuggestionData'](_0x4eb6a0)['_saved']=!0x0;}})));}async['reconnect'](){const _0x15f18e=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1174dc}=this['editor']['plugins']['get'](z),_0x4b4afd=await this['_trackChangesService']['connect'](_0x1174dc);await this['_fetchMissingUsersForThreads'](_0x4b4afd);for(const {suggestionData:_0x18cbcc,resolve:_0xe07a71}of this['_bufferedRequests']['values']()){let _0x796d7c=_0x4b4afd['find'](_0x2456f5=>_0x2456f5['id']===_0x18cbcc['id']);_0x796d7c||(_0x796d7c=await this['_trackChangesService']['add'](_0x18cbcc['id'],_0x18cbcc['type'],_0x18cbcc['data'],_0x18cbcc['originalSuggestionId'])),_0xe07a71(_0x796d7c);}for(const _0x37b65d of _0x4b4afd)_0x15f18e['hasSuggestion'](_0x37b65d['id'])||_0x15f18e['addSuggestionData'](_0x37b65d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x435cc0=>{this['listenTo'](this['_trackChangesService'],'connected',_0x537f99=>{_0x537f99['off'](),_0x435cc0();});});}async['_fetchMissingUsersForThreads'](_0x466d97){const _0x5d1a91=this['editor']['plugins']['get'](_0x262a12),{connection:_0x5a1a8d}=this['editor']['plugins']['get'](z),_0xb96fa9=new Set();for(const {authorId:_0x4353c9}of _0x466d97)_0x5d1a91['getUser'](_0x4353c9)||_0xb96fa9['add'](_0x4353c9);if(0x0===_0xb96fa9['size'])return;const _0x40d282=await _0x532341['getMany'](_0x5a1a8d,Array['from'](_0xb96fa9));for(const _0x4145dc of _0x40d282)_0x5d1a91['getUser'](_0x4145dc['id'])||_0x5d1a91['addUser'](_0x4145dc);}}function lt(_0x3e0514){if(dt(_0x3e0514))return new Promise(()=>{});throw _0x3e0514;}function dt(_0xd3e969){return _0xd3e969['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xd3e969['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x7d5606{static get['requires'](){return[_0x4aaf32,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x19b515=this['editor']['plugins']['get'](z),_0x489a62=this['editor']['plugins']['get'](_0x9ff058),_0x682d70=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x19b515,'change:state',(_0xbf2487,_0x50dd74,_0x4ea096)=>{_0x489a62['isThreadsLoadingPaused']='connected'!==_0x4ea096;});}),this['listenTo'](_0x19b515,'change:state',(_0x51a858,_0x50f44f,_0x987e32)=>{this['editor']['plugins']['get'](_0x2c2141)['switchReadOnly']('connected'!==_0x987e32);}),_0x682d70['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x7d5606{static get['requires'](){return[ut,ht,_0x17a835];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x7d5606{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x4c05e4)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2d0829,Y,_0x262a12];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x292044){super(_0x292044);const _0x33a272=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x33a272);}async['init'](){const _0x531cab=this['editor']['plugins']['get'](tt),_0xdccfe1=_0x531cab['serverHistory'],_0x2f895d=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xdccfe1,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x531cab['sessionId']});const _0x5a0628=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3cbd76,_0x17ec2b=await _0x1358ea['isBundleUploaded'](_0x2f895d['connection'],_0x5a0628);this['editor']['plugins']['get'](_0x2d0829)['adapter']={'getRevision':async({revisionId:_0x5d3d4f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5d3d4f)),'updateRevisions':async _0x1c5cb3=>{await this['_waitForServiceReady']();const _0x405ad0=this['_revisionTracker']['currentRevision'];if(_0x17ec2b&&0x1===_0x1c5cb3['length']&&_0x1c5cb3[0x0]['id']===_0x405ad0['id'])return _0x1c5cb3;for(const _0x1a7578 of _0x1c5cb3)_0x1a7578['id']===_0x405ad0['id']&&(_0x1a7578['isEmptyCurrent']=_0x1a7578['fromVersion']===_0x1a7578['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1c5cb3,this['_lastRequestId'])['then'](_0xe311df=>(this['_lastRequestId']=_0xe311df,_0x1c5cb3))['catch'](_0x58cc27=>{if(pt(_0x58cc27)||'400'===_0x58cc27['code']&&void 0x0!==_0x58cc27['data']['wrongRequestId']){for(const _0x1418d7 of _0x1c5cb3){!this['_revisionTracker']['repository']['getRevision'](_0x1418d7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1418d7['id'],_0x1418d7,!0x1);}if(pt(_0x58cc27)&&'destroyed'!==this['editor']['state'])throw _0x58cc27;return _0x1c5cb3;}throw _0x58cc27;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x56dbf5,{revisionsData:_0x69d7b4,requestId:_0x15eed3})=>{Math['max'](..._0x69d7b4['map'](_0x186876=>_0x186876['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x69d7b4,_0x15eed3);}):this['_handleRevisionsUpdate'](_0x69d7b4,_0x15eed3);});const {revisions:_0x58e320,requestId:_0x17bf0f}=await this['_revisionHistoryService']['connect'](_0x2f895d['connection']);_0x2f895d['addToReconnectionStack'](this),this['_lastRequestId']=_0x17bf0f,await this['_fetchMissingUsers'](_0x58e320);for(const _0x564039 of _0x58e320)this['_revisionTracker']['addRevisionData'](_0x564039);this['listenTo'](_0x531cab,'change:_isConnected',(_0x1e4060,_0x5722a0,_0x3c795d)=>{_0x3c795d&&(this['_oldOffset']=_0x531cab['_offset'],_0x1e4060['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2f895d,'state',_0x3c6aae=>_0x3c6aae===_0x125ccb['CONNECTED']);}async['reconnect'](){const _0x571ce4=this['editor']['plugins']['get'](z),_0x6682a5=this['editor']['plugins']['get'](tt),_0x536b33=async()=>{const _0x3e99af=this['_revisionTracker']['currentRevision'],_0x3fe9e1=_0x3e99af['id'],_0x1be83c=_0x3fe9e1!==_0x6682a5['sessionId'];if(_0x1be83c){const _0x5de455=_0x6682a5['_offset']-this['_oldOffset'],_0x11592b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3e99af['toVersion']+_0x5de455!==_0x11592b){const _0x23d9b3=_0x3e99af['fromVersion']+_0x5de455,_0x44fc43=this['editor']['plugins']['get'](_0x262a12),_0x122e57=this['_revisionTracker']['buildRevisionData']({'revision':_0x3e99af,'from':_0x23d9b3,'to':_0x11592b});_0x122e57['id']=_0x3e99af['id'];const _0x20361a=_0x122e57['authorsIds']['map'](_0x1790bf=>_0x44fc43['getUser'](_0x1790bf));_0x3e99af['_update']({..._0x122e57,'authors':_0x20361a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3e99af['id'],_0x122e57,!0x0);}this['_revisionTracker']['_startingVersion']=_0x11592b,(_0x3e99af['toVersion']===_0x3e99af['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3fe9e1)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3fe9e1),this['_revisionTracker']['_createCurrentRevision'](_0x11592b));}const {revisions:_0x2c46bf,requestId:_0x54be60}=await this['_revisionHistoryService']['reconnect'](_0x571ce4['connection'],this['_lastRequestId']);_0x1be83c&&_0x2c46bf['length']>0x0?_0x6682a5['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2c46bf),this['_handleRevisionsUpdate'](_0x2c46bf,_0x54be60),this['_revisionTracker']['sendBufferedUpdates']());};return _0x6682a5['_isConnected']?_0x536b33():new Promise((_0x477049,_0xdb1856)=>{_0x6682a5['once']('change:_isConnected',()=>{_0x536b33()['then'](_0x477049)['catch'](_0xdb1856);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x44cdcf=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5023b1=>{_0x5023b1['off'](),_0x44cdcf();});});}['_getLatestVersionFromServerOperations'](){const _0x1e7a70=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x131538 of _0x1e7a70)if('marker'!==_0x131538['type']||_0x131538['affectsData'])return _0x131538['baseVersion']+0x1;}['_getLatestVersion'](){const _0x416bf0=this['editor']['plugins']['get'](tt);return new Promise(_0xf6bab1=>{_0x416bf0['_isPendingUpdate']?_0x416bf0['once']('change:_isPendingUpdate',()=>{_0xf6bab1(this['_getLatestVersionFromServerOperations']());}):_0xf6bab1(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1c27c1,_0x3da8e9){const _0x2d7292=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3da8e9;for(const _0x1d3380 of _0x1c27c1){const _0x4424da=_0x2d7292['getRevision'](_0x1d3380['id']);if(_0x4424da){if((_0x1d3380['fromVersion']||_0x1d3380['toVersion'])&&(_0x1d3380['diffData']=null),_0x4424da===this['_revisionTracker']['currentRevision']){const _0xc2868d=Math['max'](_0x4424da['toVersion'],_0x1d3380['toVersion']),_0x2a80dd=Math['max'](_0x4424da['fromVersion'],_0x1d3380['fromVersion']);let _0x58d529;_0x4424da['toVersion']===_0x1d3380['toVersion']&&_0x4424da['fromVersion']===_0x1d3380['fromVersion']?(_0x58d529=!0x0,this['_preventResendingRevisionData'](_0x1d3380)):_0x1d3380['toVersion']===_0xc2868d&&_0x1d3380['fromVersion']===_0x2a80dd?_0x58d529=!0x1:(_0x4424da['toVersion']===_0xc2868d&&_0x4424da['fromVersion']===_0x2a80dd||this['_fixRevision']({'revision':_0x4424da,'from':_0x2a80dd,'to':_0xc2868d}),_0x58d529=!0x0),_0x58d529&&(delete _0x1d3380['fromVersion'],delete _0x1d3380['toVersion'],delete _0x1d3380['diffData'],delete _0x1d3380['createdAt'],delete _0x1d3380['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1d3380),this['_preventResendingRevisionData'](_0x1d3380);}else this['_revisionTracker']['addRevisionData'](_0x1d3380);}const _0x40b7a6=_0x2d7292['getRevisions']();_0x40b7a6['reverse']();for(let _0x127880=0x0;_0x127880<_0x40b7a6['length']-0x1;_0x127880++){const _0x5916a9=_0x40b7a6[_0x127880],_0x45bef7=_0x40b7a6[_0x127880+0x1];if(_0x5916a9['fromVersion']<_0x45bef7['toVersion']){const _0x565c0b=_0x45bef7['toVersion'],_0x416db9=Math['max'](_0x565c0b,_0x5916a9['toVersion']);this['_fixRevision']({'revision':_0x5916a9,'from':_0x565c0b,'to':_0x416db9});}}}['_fixRevision']({revision:_0x1c3185,from:_0x190b84,to:_0x2dc98c}={}){const _0x466f12=this['editor']['plugins']['get'](_0x262a12),_0x1075b1=this['_revisionTracker']['buildRevisionData']({'revision':_0x1c3185,'from':_0x190b84,'to':_0x2dc98c});_0x1075b1['authors']=_0x1075b1['authorsIds']['map'](_0xbe8dcf=>_0x466f12['getUser'](_0xbe8dcf)),_0x1c3185['_update'](_0x1075b1);}['_preventResendingRevisionData'](_0x32d134){const _0x4b480d={};_0x4b480d['id']=_0x32d134['id'];for(const _0x1bab62 of Object['keys'](_0x32d134))'id'!==_0x1bab62&&(_0x4b480d[_0x1bab62]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4b480d['id'],_0x4b480d,!0x0);}async['_fetchMissingUsers'](_0x3067e4){const _0x2f307a=this['editor']['plugins']['get'](_0x262a12),{connection:_0x4b1866}=this['editor']['plugins']['get'](z),_0x51bb25=new Set();for(const _0x3a5bae of _0x3067e4){for(const _0x5f07b6 of _0x3a5bae['authorsIds'])_0x652cf(_0x5f07b6);_0x3a5bae['creatorId']&&_0x652cf(_0x3a5bae['creatorId']);}if(0x0===_0x51bb25['size'])return;const _0x32ebf4=await _0x532341['getMany'](_0x4b1866,Array['from'](_0x51bb25));for(const _0x5978dd of _0x32ebf4)_0x2f307a['getUser'](_0x5978dd['id'])||_0x2f307a['addUser'](_0x5978dd);function _0x652cf(_0x470921){_0x2f307a['getUser'](_0x470921)||_0x51bb25['add'](_0x470921);}}}function pt(_0x17fbd2){return _0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x7d5606{static get['requires'](){return[_0x2d0829,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x200324{['_collapseAt'];constructor(_0x43d953,_0x5c8e9a=0x6){super(_0x43d953);const _0x31f666=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5c8e9a,this['bind']('isHidden')['to'](this,'usersCount',_0x209cb9=>_0x209cb9<_0x5c8e9a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x31f666['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':_0x31f666['to']('usersCount',_0x2d2d63=>'+'+(_0x2d2d63-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x200324{['items'];['keystrokes'];constructor(_0x15483a){super(_0x15483a);const _0x4a77d5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2c5ed1(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4a77d5['if']('hasPopup'),'aria-expanded':_0x4a77d5['to']('isExpanded',_0x934b84=>this['hasPopup']&&String(_0x934b84)),'aria-label':_0x4a77d5['to']('hasPopup',_0x427d4a=>X(_0x15483a,_0x427d4a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4a77d5['to']('hasPopup',_0x2b3472=>!!_0x2b3472&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4a77d5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4a77d5['to'](_0x1a4e7c=>{const _0x5e18b0=_0x1a4e7c,_0x2d20a1=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3f6abb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2d20a1?.['contains'](_0x5e18b0['relatedTarget'])||_0x3f6abb?.['contains'](_0x5e18b0['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x26d6a3,_0x5a7cd5,_0x2ba3f1)=>{this['element']&&(_0x2ba3f1?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x200324{['counterView'];['inlineListView'];constructor(_0x5ccae3,_0x159b6b=0x6){super(_0x5ccae3);const _0x46f584=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x159b6b),this['inlineListView']=new vt(_0x5ccae3),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x22bf37 of this['inlineListView']['items'])_0x22bf37['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',_0x46f584['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x200324{['listWrapperView'];constructor(_0xb12aa2,_0x1d3169){super(_0xb12aa2);const _0xa18c14=this['bindTemplate'];this['listWrapperView']=new bt(_0xb12aa2,_0x1d3169),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xb12aa2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xa18c14['to'](_0xc8c03f=>{const _0x127129=_0xc8c03f,_0x34ad4b=document['querySelector']('.ck-presence-list__list'),_0xf8f0e1=document['querySelector']('.ck-balloon-panel_with-arrow');_0x34ad4b?.['contains'](_0x127129['relatedTarget'])||_0xf8f0e1?.['contains'](_0x127129['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x36060f{constructor(_0x46c084,_0x53b95d){super(_0x46c084);const _0x11cfe0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x53b95d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x11cfe0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x11cfe0['to']('role'),'aria-label':_0x11cfe0['to']('ariaLabel'),'aria-labelledby':_0x11cfe0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4ae62f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x172a81=this['element'];_0x172a81&&(this['_isScrollable']=Math['max'](_0x172a81['scrollHeight'],_0x172a81['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x2cee63{['userView'];constructor(_0x5858df,_0x2a8684,_0x36585a){super(_0x5858df);const _0x138927=this['bindTemplate'];this['userView']=new _0x5ca895(_0x5858df,_0x2a8684);const _0x173643={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2a8684['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2a8684['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a8684['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2a8684['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2a8684['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x36585a&&(_0x173643['tag']='button',_0x173643['on']={'click':_0x138927['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x173643);}['focus'](){this['element']['focus']();}}class It extends _0x200324{['userView'];['markerView'];constructor(_0x1d53c2,_0x57fe15,_0x4dcaf2){super(_0x1d53c2);const _0x2db4de=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5ca895(_0x1d53c2,_0x57fe15),this['markerView']=new St(_0x1d53c2,_0x57fe15);const _0x548837=new _0x1bd5a2(_0x1d53c2);_0x548837['template']['tag']='span',_0x548837['text']=_0x57fe15['name'];const _0x275bcb={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2db4de['to']('isFocusable',_0x3ed67d=>!!_0x3ed67d&&0x0),'aria-labelledby':_0x548837['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2db4de['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2db4de['to']('hasTooltip',_0x49d346=>!_0x49d346),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x548837]};_0x4dcaf2&&(_0x275bcb['tag']='button',_0x275bcb['on']={'click':_0x2db4de['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x275bcb);}}class St extends _0x200324{constructor(_0x2c375a,_0x594f9f){super(_0x2c375a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x594f9f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x594f9f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x594f9f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xfc25ee{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x327119){super(_0x327119),this['context']['config']['define']('presenceList',Tt);const _0xd8c960=_0x327119['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xd8c960)throw new _0x235139('presencelist-collapseat-invalid-format',this);if(_0xd8c960<0x1)throw new _0x235139('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x40b8f5(),this['balloonPanelView']=new _0x2807ba(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xf4b638 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf4b638);this['listenTo'](this['_allConnectedUsers'],'add',(_0x47431e,_0x4f1a63)=>{this['_handleUserAdd'](_0x4f1a63);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x264a5e,_0x5a6d2d)=>{this['_handleUserRemove'](_0x5a6d2d);});}['_createView'](){const _0x502c92=this['context'],_0x36647e=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x6d879c=this['balloonPanelView'];if(!_0x28d487(_0x502c92['config']['get']('presenceList.container')))throw new _0x235139('presencelist-missing-container',this);return _0x36647e['counterView']['bind']('usersCount')['to'](this),_0x36647e['bind']('isCollapsed')['to'](this,'usersCount',_0xa4932e=>{const {collapseAt:_0x40df3e}=_0x502c92['config']['get']('presenceList'),_0x57599d=_0xa4932e>=_0x40df3e;if(_0x57599d&&!_0x36647e['inlineListView']['items']['find'](_0x5b6f1b=>_0x5b6f1b instanceof wt)){const _0x32cb5b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x32cb5b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x36647e['inlineListView']['items']['add'](_0x36647e['counterView']);}return _0x57599d||this['hideDropdown'](),_0x57599d;}),_0x36647e['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x49184c=>{const _0x3411b7=_0x502c92['config']['get']('presenceList'),_0x42d0d6=new It(_0x502c92['locale'],_0x49184c,!!_0x3411b7['onClick']);return _0x42d0d6['bind']('hasTooltip')['to'](_0x36647e,'isCollapsed',_0xb2552a=>!_0xb2552a),_0x42d0d6['bind']('isFocusable')['to'](_0x36647e,'isCollapsed',_0x4aad9d=>!_0x4aad9d),_0x3411b7['onClick']&&this['listenTo'](_0x42d0d6,'execute',()=>{this['view']['isCollapsed']||_0x3411b7['onClick'](_0x49184c,_0x42d0d6['element']);}),_0x42d0d6;}),this['listenTo'](_0x36647e['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x36647e['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x36647e['inlineListView']['keystrokes']['set']('Enter',(_0x2d0190,_0x17f0f0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x17f0f0());}),_0x36647e['render'](),_0x6d879c['render'](),_0x39a237({'emitter':_0x36647e,'activator':()=>_0x6d879c['isVisible'],'contextElements':[_0x6d879c['element'],_0x36647e['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x502c92['config']['get']('presenceList.container')['appendChild'](_0x36647e['element']),this['_bodyCollection']=new _0x9ad684(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x36647e;}['_handleUserAdd'](_0xa6d5ae){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xa6d5ae['isMe'])return;const _0x4d1e13=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4d1e13-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x43e981=_0xa6d5ae['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xa6d5ae,_0x43e981);}['_handleUserRemove'](_0x1dcd2f){this['usersCount']--;const {collapseAt:_0x205ffa}=this['context']['config']['get']('presenceList'),_0x52e62b=this['usersCount']>=_0x205ffa;if(this['currentDisplayedUsers']['get'](_0x1dcd2f['id']))this['currentDisplayedUsers']['remove'](_0x1dcd2f['id']);else{if(_0x52e62b&&this['currentDisplayedUsers']['length']+0x1===_0x205ffa-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x52e62b?0x1:0x0)<this['usersCount']){for(const _0x1b18df of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1b18df['id'])&&(this['currentDisplayedUsers']['add'](_0x1b18df,Math['min'](this['currentDisplayedUsers']['length']-(_0x52e62b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x52e62b?0x1:0x0)===_0x205ffa-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xac9c2e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0xac9c2e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2162b0}=this['presenceDropdownView'];_0x2162b0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x41bf45=>{if(!_0xac9c2e['displayMe']&&_0x41bf45['isMe'])return null;const _0x236c83=new kt(this['context']['locale'],_0x41bf45,!!_0xac9c2e['onClick']);return _0xac9c2e['onClick']&&this['listenTo'](_0x236c83,'execute',()=>{_0xac9c2e['onClick'](_0x41bf45,_0x236c83['element']);}),_0x236c83;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2162b0['focus'](),_0x2162b0['checkIfScrollable']();const _0xa307c2=(_0x578062,_0x2176d2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2176d2();};_0x2162b0['keystrokes']['set']('Esc',_0xa307c2),_0x2162b0['keystrokes']['set']('Shift+Tab',_0xa307c2),_0x2162b0['keystrokes']['set']('Tab',(_0x2254b0,_0x39c3a6)=>{!function(_0x5290c1){const _0x1c76b1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x567b66=>_0x567b66+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x19959f=[...document['body']['querySelectorAll'](_0x1c76b1)]['filter'](_0x43b1cd=>_0x43b1cd===document['activeElement']||_0x43b1cd['offsetWidth']+_0x43b1cd['offsetHeight']>0x0)['sort']((_0x54f954,_0x371e81)=>(_0x54f954['tabIndex']||0x0)-(_0x371e81['tabIndex']||0x0)),_0x202724=_0x19959f['indexOf'](_0x5290c1),_0x5b9c03=_0x19959f[(_0x202724+0x1)%_0x19959f['length']];_0x5b9c03&&_0x5b9c03['focus']();}(this['view']['element']),this['hideDropdown'](),_0x39c3a6();}),_0x2162b0['focusTracker']['add'](this['view']['element']),_0x2162b0['focusTracker']['on']('change:isFocused',(_0x9ebf8b,_0x301063,_0x9f1b23)=>{_0x9f1b23||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0xfc25ee{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{ContextPlugin as _0x40a17f,Plugin as _0x317dac,PendingActions as _0x1358ff,Context as _0x14d173}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5dcc6b,CKEditorError as _0x89efa8,Collection as _0x4f44ac,global as _0x5207e9,version as _0x31dc87,uid as _0x4ffe65,KeystrokeHandler as _0x2b69b0}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1eebb6,View as _0x41b18b,ListView as _0x40698b,ListItemView as _0x3d2bd6,LabelView as _0x143d3f,BalloonPanelView as _0x550d0e,clickOutsideHandler as _0x241ae5,BodyCollection as _0x16f974}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2c8faf,History as _0x48de8b,NoOperation as _0x5f4805,InsertOperation as _0x42fa8e,MarkerOperation as _0x3d96dd,RootAttributeOperation as _0x244e47,transformOperationSets as _0x8ddae4,OperationFactory as _0x46f55e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x2427e1}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2d45a9,WEB_SOCKET_GATEWAY_STATES as _0x2d64f4,CollaborativeEditingService as _0x469088,User as _0x34697a,CommentsService as _0xfab053,TrackChangesService as _0x1427df,RevisionHistoryService as _0x3744f1,EditorService as _0x13e030}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x5170f0,UserView as _0x4eb3d8}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x54aa97}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x1c7485,TrackChanges as _0x412e46}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x4b7eab,Comments as _0x3987c8,CommentsEditing as _0x114ed1}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x5eb5a6}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x45757d}from'es-toolkit/compat';class z extends _0x40a17f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x2d45a9)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x2427e1,_0x1eebb6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x546cae){super(_0x546cae),this['set']('state',_0x2d64f4['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5dcc6b())();}['init'](){const _0x196ccb=this['context'],_0x1512d9=_0x196ccb['plugins']['get'](_0x2427e1),_0x350c28=_0x196ccb['plugins']['get'](_0x1eebb6);if(!_0x1512d9['token'])throw new _0x89efa8('websocketgateway-missing-token',this);if(!_0x1512d9['webSocketUrl'])throw new _0x89efa8('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),z['WebSocketGateway']['connect'](_0x1512d9['token'],_0x1512d9['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x42e435=>{if(this['connection']=_0x42e435,this['bind']('state')['to'](_0x42e435,'state',this,'_isBrowserOffline',(_0x5cbca3,_0x496a51)=>('connected'!==_0x5cbca3&&(this['_shouldPluginsReconnect']=!0x0),_0x496a51||_0x5cbca3!==_0x2d64f4['CONNECTED']?_0x2d64f4['DISCONNECTED']:this['state']==_0x2d64f4['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2d64f4['CONNECTING']):_0x2d64f4['CONNECTED'])),this['connection']['on']('error',(_0x5195fa,_0x2c7609)=>{if('limitExceeded'!==_0x2c7609['code'])throw console['error'](_0x2c7609),new _0x89efa8('cloudservices-init',null,{'originalError':_0x2c7609});_0x350c28['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'});}),!_0x42e435['me'])return new Promise(_0xd656db=>_0x42e435['on']('change:me',_0xd656db));})['catch'](_0x516b14=>{throw console['error'](_0x516b14),new _0x89efa8('cloudservices-init',null,{'originalError':_0x516b14});});}['addToReconnectionStack'](_0x5d02d8){if('function'!=typeof _0x5d02d8['reconnect'])throw new _0x89efa8('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5d02d8))throw new _0x89efa8('websocketgateway-plugin-already-registered',this,{'name':_0x5d02d8['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5d02d8);}['removeFromReconnectionStack'](_0x3c82bb){this['_reconnectionStack']['delete'](_0x3c82bb);}['isInReconnectionStack'](_0x351b11){return this['_reconnectionStack']['has'](_0x351b11);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x43552c=>_0x43552c['reconnect']())))['then'](()=>this['state']=_0x2d64f4['CONNECTED'])['catch'](_0x565186=>{throw console['error'](_0x565186),new _0x89efa8('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2d64f4['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x40a17f{['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[z,_0x5170f0];}constructor(_0x2d4423){super(_0x2d4423),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4f44ac(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5170f0);}['init'](){const _0x236603=this['context']['plugins']['get'](z);this['listenTo'](_0x236603,'change:state',(_0x18efa7,_0x124330,_0x1db508)=>{if('connected'!==_0x1db508)this['channelSessions']['forEach'](_0x4b70e1=>_0x4b70e1['clear']()),this['channelConnectedUsers']['forEach'](_0x18c03b=>_0x18c03b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x560b96,_0x2ff6e7]of this['_registeredSessions'])for(const _0x32f5a4 of _0x2ff6e7)this['_handleSessionAdd'](_0x560b96,_0x32f5a4);}}),this['_createUser'](_0x236603['connection']['me'],!0x0);}['register'](_0x55d3ae,_0x4beb87){if(this['_registeredSessions']['has'](_0x55d3ae))throw new _0x89efa8('sessions-register-already-registered',null,{'channelId':_0x55d3ae});this['_registeredSessions']['set'](_0x55d3ae,_0x4beb87),this['channelSessions']['set'](_0x55d3ae,new _0x4f44ac()),this['channelConnectedUsers']['set'](_0x55d3ae,new _0x4f44ac()),this['listenTo'](_0x4beb87,'add',(_0x5e600d,_0x26b28a)=>this['_handleSessionAdd'](_0x55d3ae,_0x26b28a)),this['listenTo'](_0x4beb87,'remove',(_0x3dcfdd,_0x38ee29)=>this['_handleSessionRemove'](_0x55d3ae,_0x38ee29));for(const _0x20960a of _0x4beb87)this['_handleSessionAdd'](_0x55d3ae,_0x20960a);}['unregister'](_0x5d95f3){if(!this['_registeredSessions']['has'](_0x5d95f3))throw new _0x89efa8('sessions-unregister-not-exist',null,{'channelId':_0x5d95f3});const _0x522ae6=this['_registeredSessions']['get'](_0x5d95f3);this['stopListening'](_0x522ae6);for(const _0x1d24c0 of _0x522ae6)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5d95f3,_0x1d24c0);this['_registeredSessions']['delete'](_0x5d95f3),this['channelSessions']['delete'](_0x5d95f3),this['channelConnectedUsers']['delete'](_0x5d95f3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x31d472){for(const _0x48d174 of this['channelSessions']['values']())for(const _0x14166e of _0x48d174)if(_0x14166e['id']===_0x31d472)return _0x14166e['user'];}['getUserSessions'](_0xc62c43,_0x1986af){const _0x227899=_0x1986af?[this['channelSessions']['get'](_0x1986af)]:this['channelSessions']['values'](),_0x5dbe56=new Set();for(const _0x23b4b3 of _0x227899)for(const _0xa8ca1d of _0x23b4b3)_0xa8ca1d['user']['id']===_0xc62c43['id']&&_0x5dbe56['add'](_0xa8ca1d['id']);return _0x5dbe56;}['getUserRole'](_0x5d02ce){for(const _0x14246b of this['channelSessions']['values']())for(const _0x268ea1 of _0x14246b)if(_0x268ea1['user']===_0x5d02ce)return _0x268ea1['role'];}['_handleSessionAdd'](_0x368fc1,_0x310cfa){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1ce75a=_0x310cfa['user'],_0x57a74e=this['_users']['getUser'](_0x1ce75a['id'])||this['_createUser'](_0x1ce75a),_0x40d216=Object['assign']({},_0x310cfa,{'user':_0x57a74e});if(this['channelSessions']['get'](_0x368fc1)['add'](_0x40d216),!_0x1ce75a['hiddenInPresenceList']){const _0x1f2af6=this['channelConnectedUsers']['get'](_0x368fc1);_0x1f2af6['has'](_0x57a74e['id'])||_0x1f2af6['add'](_0x57a74e),this['allConnectedUsers']['has'](_0x57a74e['id'])||_0x1ce75a['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x57a74e,_0x57a74e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x368fc1,{'channelId':_0x368fc1,'session':_0x40d216});}['_handleSessionRemove'](_0x5634c6,_0x49a6e5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x30efc7=this['channelConnectedUsers']['get'](_0x5634c6),_0x1b3de2=_0x49a6e5['user'];_0x1b3de2['id']&&(this['channelSessions']['get'](_0x5634c6)['remove'](_0x49a6e5['id']),_0x30efc7['has'](_0x1b3de2['id'])&&!this['getUserSessions'](_0x1b3de2,_0x5634c6)['size']&&_0x30efc7['remove'](_0x1b3de2['id']),this['allConnectedUsers']['get'](_0x1b3de2['id'])&&!this['getUserSessions'](_0x1b3de2)['size']&&this['allConnectedUsers']['remove'](_0x1b3de2['id']));}['_createUser'](_0x5424d2,_0x763d72){const _0x400930=this['_users']['addUser'](_0x5424d2);return _0x763d72&&this['_users']['defineMe'](_0x5424d2['id']),_0x400930['orderNumber']=this['_uniqueUsersCount']++,_0x400930;}}class K extends _0x317dac{['_domEmitter']=new(_0x5dcc6b())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5c16db=this['editor'],_0x1a906e=_0x5c16db['plugins']['get'](Y);_0x5c16db['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x31fb6f,{writer:_0x290aa8})=>function(_0x23b203,_0x169c3c,_0x10bed9,_0x34ff28){const _0x5c88ab=_0x23b203['markerName']['split'](':')[0x2],_0x16925e=_0x10bed9['getUserBySessionId'](_0x5c88ab);if(!_0x16925e||_0x5c88ab===_0x10bed9['mySessionId'])return;if(!_0x34ff28['model']['schema']['checkChild'](_0x23b203['markerRange']['start'],'$text'))return;const _0x1ba380={'class':'ck-user__marker\x20'+_0x16925e['color']['getMarkerClass'](),'style':Q(_0x16925e),'data-name':_0x16925e['name'],'data-session-id':_0x5c88ab},_0x422690=_0x34ff28['model']['markers']['get'](_0x23b203['markerName']),_0x2177d6=_0x422690['getStart'](),_0x7e3137=_0x2177d6['nodeAfter'],_0xccef05=_0x34ff28['model']['schema'];if(_0x7e3137&&_0xccef05['isObject'](_0x7e3137)&&_0xccef05['isInline'](_0x7e3137)&&!_0x34ff28['model']['markers']['get']('user:range:'+_0x5c88ab)['getRange']()['isCollapsed'])return;const _0x5c015f=_0x2177d6['parent'];return _0x34ff28['model']['schema']['isLimit'](_0x5c015f)&&!_0x34ff28['model']['hasContent'](_0x5c015f)&&(_0x1ba380['contenteditable']=!0x1),function(_0x3ebe01,_0x56b94e,_0x1b7109){const _0xa7af10=_0x3ebe01['createUIElement']('span',_0x56b94e);return _0x3ebe01['setCustomProperty']('userPositionMarker',!0x0,_0xa7af10),_0xa7af10['render']=function(_0x2b2569){const _0x428d8d=this['toDomElement'](_0x2b2569),_0x3e621b=document['createElement']('span');return _0x3e621b['classList']['add']('ck-user__marker-tooltip'),_0x3e621b['setAttribute']('contenteditable','false'),_0x3e621b['setAttribute']('spellcheck','false'),_0x3e621b['textContent']=_0x1b7109['name'],_0x428d8d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3e621b['outerHTML']+'⁠',_0x428d8d['addEventListener']('mouseenter',()=>{_0x428d8d['classList']['add']('ck-user__marker_hovered');}),_0x428d8d['addEventListener']('mouseleave',()=>{_0x428d8d['classList']['remove']('ck-user__marker_hovered');}),_0x428d8d;},_0xa7af10['isSimilar']=function(_0x16fd4f){return!(!this['getCustomProperty']('userPositionMarker')||!_0x16fd4f['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x16fd4f['getAttribute']('data-session-id'));},_0xa7af10;}(_0x169c3c,_0x1ba380,_0x16925e);}(_0x31fb6f,_0x290aa8,_0x1a906e,_0x5c16db)}),_0x5c16db['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4171a6=>function(_0xcef5b5,_0x475a67){const _0x31d842=_0xcef5b5['markerName']['split'](':')[0x2];if(_0x31d842===_0x475a67['mySessionId'])return null;const _0x51935e=_0x475a67['getUserBySessionId'](_0x31d842);if(!_0x51935e)return{'id':_0x31d842,'classes':[]};return{'id':_0x31d842,'classes':['ck-user__selection',_0x51935e['color']['getSelectionClass']()],'attributes':{'style':Q(_0x51935e),'data-session-id':_0x31d842},'priority':0x7d0+_0x51935e['orderNumber']};}(_0x4171a6,_0x1a906e)}),function(_0x36eb43){const _0x52c2bb=_0x36eb43['model'],_0x24c4d7=new Map(),_0x25b523=_0x36eb43['plugins']['get'](Y);_0x52c2bb['markers']['on']('update:user:range',(_0x4695ab,_0x2cb294,_0x4074b2,_0x4475e8)=>{if(!_0x4475e8&&_0x24c4d7['get'](_0x2cb294['name']))return _0x24c4d7['get'](_0x2cb294['name'])['detach'](),void _0x24c4d7['delete'](_0x2cb294['name']);const _0xb90ac6=_0x2cb294['name']['split'](':')[0x2];if(_0xb90ac6===_0x25b523['mySessionId'])return;const _0x22d0bd='user:position:'+_0xb90ac6;_0x52c2bb['markers']['has'](_0x22d0bd)&&_0x36eb43['editing']['reconvertMarker'](_0x22d0bd),_0x2cb294['on']('change:range',(_0x4d6fbd,_0x3cb658,_0x4496ac)=>{if('$graveyard'!=_0x3cb658['root']['rootName']&&'$graveyard'==_0x2cb294['getRange']()['root']['rootName']&&!_0x24c4d7['has'](_0x2cb294['name'])){const _0x48ef76=_0x52c2bb['schema']['getNearestSelectionRange'](_0x4496ac['deletionPosition']);if(_0x48ef76){const _0x13c5c2=_0x2c8faf['fromRange'](_0x48ef76);_0x24c4d7['set'](_0x2cb294['name'],_0x13c5c2),_0x13c5c2['on']('change:range',(_0x557502,_0x2a74fc,_0x4d0897)=>{if('$graveyard'==_0x13c5c2['root']['rootName']){const _0x1a469f=_0x52c2bb['schema']['getNearestSelectionRange'](_0x4d0897['deletionPosition']);_0x1a469f?(_0x13c5c2['start']=_0x1a469f['start'],_0x13c5c2['end']=_0x1a469f['end']):(_0x24c4d7['delete'](_0x2cb294['name']),_0x13c5c2['detach']());}});}}});}),_0x52c2bb['document']['on']('change',()=>{_0x24c4d7['size']>0x0&&_0x52c2bb['enqueueChange']({'isUndoable':!0x1},_0x1e6f9f=>{for(const [_0x5604b3,_0x3aac6b]of _0x24c4d7)'$graveyard'==_0x52c2bb['markers']['get'](_0x5604b3)['getRange']()['root']['rootName']&&(J(_0x5604b3['split'](':')[0x2],_0x3aac6b['toRange'](),_0x52c2bb,_0x1e6f9f),_0x3aac6b['detach']());_0x24c4d7['clear']();});});}(_0x5c16db),this['_domEmitter']['listenTo'](_0x5207e9['document'],'keydown',(_0xfc6b38,{key:_0x8b0533})=>{'Escape'===_0x8b0533&&function(_0x2e6995){_0x2e6995['editing']['view']['change'](_0x3036d9=>{for(const _0x59c8b0 of _0x2e6995['model']['markers']){if(!_0x59c8b0['name']['startsWith']('user:position'))continue;const _0x5eb6a6=_0x2e6995['editing']['mapper']['markerNameToElements'](_0x59c8b0['name']);if(_0x5eb6a6){for(const _0x51c1f8 of _0x5eb6a6)_0x3036d9['removeClass']('ck-user__marker_hovered',_0x51c1f8);}}});}(_0x5c16db);},{'useCapture':!0x0});}['afterInit'](){const _0x2cac60=this['editor'],_0x39a73e=_0x2cac60['commands']['get']('undo');_0x39a73e&&_0x2cac60['model']['on']('applyOperation',(_0x231891,_0x58a4fd)=>{const _0x2191c1=_0x58a4fd[0x0];if(!_0x2191c1['isDocumentOperation'])return;if('marker'!=_0x2191c1['type']||!_0x2191c1['name']['startsWith']('user:'))return;const _0x16c9a3=_0x2191c1['batch'];_0x39a73e['_createdBatches']['has'](_0x16c9a3)&&(_0x2191c1['newRange']=_0x2191c1['oldRange']?_0x2cac60['model']['createRange'](_0x2191c1['oldRange']['start'],_0x2191c1['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4330df=this['editor'],_0x30dc33=_0x4330df['model']['document'],_0x5c345e=_0x4330df['plugins']['get'](Y);_0x4330df['model']['enqueueChange']({'isUndoable':!0x1},_0x16e0d6=>{const _0x420e41='user:range:'+_0x5c345e['mySessionId'],_0x1396d9='user:position:'+_0x5c345e['mySessionId'],_0xff36df=_0x4330df['model']['markers']['has'](_0x420e41);_0x4330df['editing']['view']['hasDomSelection']?J(_0x5c345e['mySessionId'],_0x30dc33['selection']['getFirstRange'](),_0x4330df['model'],_0x16e0d6):_0xff36df&&(_0x16e0d6['removeMarker'](_0x420e41),_0x16e0d6['removeMarker'](_0x1396d9));});}}function J(_0x3b437a,_0x48cfad,_0x192995,_0x24fbf0){const _0x50cb35='user:range:'+_0x3b437a,_0x20db0c='user:position:'+_0x3b437a,_0x2aca1b=_0x48cfad['getContainedElement']();let _0x17f67e=_0x48cfad['start'];if(_0x2aca1b&&_0x2aca1b['is']('element','tableCell')){const _0x33800d=function(_0x173eea,_0x4bab8b){for(const _0x10f428 of _0x173eea['getPositions']())if(_0x4bab8b['schema']['checkChild'](_0x10f428,'$text'))return _0x10f428;}(_0x48cfad,_0x192995);_0x33800d&&(_0x17f67e=_0x33800d,_0x48cfad=_0x24fbf0['createRange'](_0x17f67e));}const _0x2eadff=_0x24fbf0['createRange'](_0x17f67e);_0x192995['markers']['has'](_0x50cb35)?(_0x24fbf0['updateMarker'](_0x50cb35,{'range':_0x48cfad}),_0x24fbf0['updateMarker'](_0x20db0c,{'range':_0x2eadff})):(_0x24fbf0['addMarker'](_0x50cb35,{'range':_0x48cfad,'usingOperation':!0x0}),_0x24fbf0['addMarker'](_0x20db0c,{'range':_0x2eadff,'usingOperation':!0x0}));}function Q(_0x5e7461){return'--ck-user-color:'+_0x5e7461['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x5e7461['color']['getColorAlphaVariable']()+';';}function X(_0x3baab8,_0x2b2bd7,_0x167d03){const _0x50ae48=_0x3baab8['t'],t=_0x3baab8['t'];switch(_0x2b2bd7){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 _0x50ae48({'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'},_0x167d03);default:return'';}}let Z=0x1;class tt extends _0x317dac{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x469088)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x1358ff,_0x5170f0,_0x1eebb6];}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 _0x593b3b=this['serverHistory']['getOperations']();for(let _0x206b56=_0x593b3b['length']-0x1;_0x206b56>=0x0;_0x206b56--){const _0x323c0c=_0x593b3b[_0x206b56];if(!this['_disconnectionOperations']['has'](_0x323c0c))return _0x323c0c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x191656){if(super(_0x191656),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x48de8b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x89efa8('collaboration-missing-channelid',this);const _0x4e01c5=_0x191656['config']['get']('cloudServices.bundleVersion')||_0x31dc87;this['_service']=new tt['CollaborativeEditingService'](_0x4e01c5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x54aa97(),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 it(this['_disconnectionOperations']);}['init'](){const _0x3e91e8=this['editor'],_0x3a188e=_0x3e91e8['plugins']['get'](_0x5170f0),_0x3b147c=_0x3e91e8['plugins']['get'](z);this['listenTo'](_0x3a188e,'getOperationAuthor',(_0x332525,_0x1ea100)=>{const _0x37a40a=_0x1ea100[0x0];_0x37a40a['_authorId']&&(_0x332525['return']=_0x3a188e['getUser'](_0x37a40a['_authorId']),_0x332525['stop']()),null===_0x37a40a['_authorId']&&(_0x332525['return']=null,_0x332525['stop']());},{'priority':'high'}),this['listenTo'](_0x3e91e8['model']['document']['selection'],'change:range',(_0x1abbba,_0x1848d5)=>{_0x1848d5['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3e91e8['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3e91e8['model']['on']('applyOperation',(_0x12ffd1,_0x373a15)=>{const _0x3073b1=_0x373a15[0x0];_0x3073b1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3073b1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3b147c,'state',this,'_hasSynchronizationProblem',(_0x2dc31a,_0x7646b2)=>'connected'===_0x2dc31a&&!_0x7646b2),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3e91e8['disableReadOnlyMode']('rtc-offline'):_0x3e91e8['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3e91e8['disableReadOnlyMode']('rtc-offline'):_0x3e91e8['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xfc3c83=this['editor']['plugins']['get'](Y),_0x1cbc15=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0xfc3c83['unregister'](this['_channelId']);const _0x158cb7=await this['_service']['reconnect'](_0x1cbc15['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x158cb7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x23bc49=await this['_service']['getConnectedSessions']();_0xfc3c83['register'](this['_channelId'],_0x23bc49),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x352913){if(function(_0x32ea4a){return'404'===_0x32ea4a['code'];}(_0x352913)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x72e88e){return'409'===_0x72e88e['code'];}(_0x352913)){const _0x5f3ef3=X(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'](_0x5f3ef3);}else{if(!(_0x352913 instanceof et))throw _0x352913;this['_handleReconnectionError']();}}}}['destroy'](){const _0x501b67=this['editor']['plugins']['get'](z),_0x14d4a8=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x14d4a8['channelSessions']['has'](this['_channelId'])&&_0x14d4a8['unregister'](this['_channelId']),_0x501b67['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x21c595){if(this['sessionId']!==_0x21c595['sessionId']&&this['_lastSyncedOperationId']!==_0x21c595['lastOperationId'])throw new et();return this['sessionId']=_0x21c595['sessionId'],this['_handleServerResponse']([],{..._0x21c595,'wereChangesApplied':!0x1,'data':_0x21c595['data']},'reconnect');}async['_connectService'](_0x2ec4c7,_0x551b1b=!0x1){const {connection:_0x39f3e3}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x39f3e3,this['_channelId'])['then'](_0x3228bf=>this['_initSessionsHandling'](_0x3228bf))['catch'](_0x580811=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x580811);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5c122d,_0x606baf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x606baf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4c7d23=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2ec4c7);this['_isPendingUpdate']=!0x0;const _0x1024eb=await this['_service']['connect'](_0x39f3e3,this['_compressOperations'](_0x2ec4c7),_0x4c7d23);if(this['sessionId']=_0x1024eb['sessionId'],_0x551b1b){if(!_0x1024eb['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1024eb['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2ec4c7,_0x1024eb,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1024eb,_0x2ec4c7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4524a1=this['editor']['plugins']['get'](Y),_0x18d766=this['editor']['plugins']['get'](K),_0x3dcf6d=_0x4524a1['channelSessions']['get'](this['_channelId']);_0x3dcf6d&&_0x3dcf6d['length']>0x1?_0x18d766['createUserMarkerOperations']():this['listenTo'](_0x4524a1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4524a1['channelSessions']['get'](this['_channelId'])['length']&&_0x18d766['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xd04239,_0x44395e,_0xf182bd,_0x23675c){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x44395e){const _0x3d5f38=this['_decompressOperations'](_0xf182bd,_0x23675c);await this['_fetchMissingUsers'](_0x3d5f38),this['_handleExternalOperations'](_0x3d5f38,_0x44395e,_0xf182bd['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4acd86}=this['editor'];let _0x356dae;try{_0x356dae=await this['_service']['getDocumentDetails']();}catch{const _0x522ba2=X(_0x4acd86,'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'](_0x522ba2);}const _0xc00379=_0x356dae['currentDocumentSession']||_0x356dae['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0xc00379['lastOperationId']){const _0xdf8a36=X(_0x4acd86,'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'](_0xdf8a36);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x28a974){const _0x296fee=this['editor']['plugins']['get'](Y);this['listenTo'](_0x296fee,'sessionAdd:'+this['_channelId'],(_0x321082,{session:_0x46cc97})=>{if(_0x46cc97['id']===_0x296fee['mySessionId']){_0x321082['off']();const _0x397bc6=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x302287=_0x46cc97['permissions'];_0x397bc6&&_0x397bc6['isEnabled']&&(_0x302287=_0x302287['filter'](_0x156c08=>'document:write'!==_0x156c08)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x302287,this['_channelId']);}}),_0x296fee['register'](this['_channelId'],_0x28a974);}['_initThrowingOnDataSet'](){const _0x1ad0d3=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xfd723)=>{if(!_0xfd723[_0xfd723['length']-0x1]['suppressErrorInCollaboration'])throw new _0x89efa8('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1ad0d3['apply'](this['editor']['data'],_0xfd723);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x14275b,[_0x3ec9b1])=>{if(this['_document']['version'])throw new _0x89efa8('realtimecollaborationclient-init-document-already-initialized',this);_0x14275b['stop'](),this['_setPendingAction']();const _0x5a39cf=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x481a2a])=>!_0x481a2a['lazyLoad'])['map'](([_0x14129c,_0x498a73])=>[_0x14129c,_0x498a73['modelAttributes']||{}])),_0x1417fc=this['_getOperationsFromInitData'](_0x3ec9b1,_0x5a39cf);0x0==_0x1417fc['length']&&_0x1417fc['push'](new _0x5f4805(0x0)),_0x14275b['return']=this['_connectService'](_0x1417fc)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x169aac=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x169aac))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x5b2f1c,[_0x447959,_0x4aafec])=>{_0x5b2f1c['stop']();const _0x460230=this['editor']['model']['document']['getRoot'](_0x447959);if(!this['_knownRootNames']['has'](_0x447959)){const _0x38515a=_0x4aafec&&_0x4aafec['data']?_0x4aafec['data']:'',_0x1bb235=_0x4aafec&&_0x4aafec['attributes']?_0x4aafec['attributes']:{};await this['_loadRoot'](_0x447959,_0x38515a,_0x1bb235);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x460230['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x460230);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4e0c1c){const _0x41420c=this['editor']['plugins']['get'](_0x5170f0),{connection:_0x18317f}=this['editor']['plugins']['get'](z),_0x4b4f08=new Set();for(const _0x1058b9 of _0x4e0c1c){const _0x17ead9=_0x1058b9['_authorId'];_0x17ead9&&!_0x41420c['getUser'](_0x17ead9)&&_0x4b4f08['add'](_0x17ead9);}if(0x0===_0x4b4f08['size'])return;const _0x551a5f=await _0x34697a['getMany'](_0x18317f,Array['from'](_0x4b4f08));for(const _0x184b59 of _0x551a5f)_0x41420c['getUser'](_0x184b59['id'])||_0x41420c['addUser'](_0x184b59);}['_getOperationsFromInitData'](_0x12a5c4,_0x556018={}){const _0x51203f=this['editor']['model'],_0x28706c=[];let _0x304c6a=0x0;const _0x50d832='string'==typeof _0x12a5c4?{'main':_0x12a5c4}:_0x12a5c4;for(const _0x160fd4 of Object['keys'](_0x50d832)){if(!this['_document']['roots']['has'](_0x160fd4))throw new _0x89efa8('realtimecollaborationclient-init-non-existent-root',this);const _0x358659=this['editor']['data']['parse'](_0x50d832[_0x160fd4]),_0x511781=this['_document']['getRoot'](_0x160fd4),_0x4c4795=new _0x42fa8e(_0x51203f['createPositionAt'](_0x511781,0x0),_0x358659,_0x304c6a++);_0x28706c['push'](_0x4c4795);for(const [_0x1405b3,_0x3efc48]of _0x358659['markers']){const _0x31887d=_0x51203f['createRange'](_0x51203f['createPositionFromPath'](_0x511781,_0x3efc48['start']['path']['slice']()),_0x51203f['createPositionFromPath'](_0x511781,_0x3efc48['end']['path']['slice']())),_0x1d6f20=new _0x3d96dd(_0x1405b3,null,_0x31887d,_0x51203f['markers'],!0x0,_0x304c6a++);_0x28706c['push'](_0x1d6f20);}}if(_0x556018)for(const [_0x12eb93,_0x3e5826]of Object['entries'](_0x556018)){const _0x1f4b2a=_0x51203f['document']['getRoot'](_0x12eb93);if(!_0x1f4b2a)throw new _0x89efa8('multi-root-editor-root-attributes-no-root',null);for(const [_0x523522,_0x5084fb]of Object['entries'](_0x3e5826))if(null!==_0x5084fb){const _0x2bfac8=new _0x244e47(_0x1f4b2a,_0x523522,null,_0x5084fb,_0x304c6a++);_0x28706c['push'](_0x2bfac8);}}return _0x28706c;}async['_loadRoot'](_0x3355d5,_0x23ddff,_0x4c638d){this['_getOperationsFromInitData']({[_0x3355d5]:_0x23ddff},{[_0x3355d5]:_0x4c638d})['forEach']((_0x48216f,_0x5a436a)=>{_0x48216f['baseVersion']=this['_document']['version']+_0x5a436a,_0x48216f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x48216f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1f8054,_0xe62e0b){let _0x427784;this['_offset']=_0x1f8054['offset'];const _0x3aba1f=_0x1f8054['wereChangesApplied']&&!_0x1f8054['initData'],_0x4dc130=_0x3aba1f?0x0:_0x1f8054['data']['baseVersion'];if(_0xe62e0b['forEach'](_0x254243=>{_0x254243['_isInit']=!0x0,_0x254243['createdAt']=_0x1f8054['sessionCreatedAt'],_0x254243['_authorId']=null;}),_0x3aba1f)_0x427784=_0xe62e0b,this['_applyOperationsSet'](_0x427784,_0x3aba1f);else{if(_0x1f8054['initData']){const _0x354562=this['_getOperationsFromInitData'](_0x1f8054['initData']);this['_document']['history']['version']=-_0x354562['length'],_0x354562['forEach'](_0x48afa1=>{_0x48afa1['baseVersion']-=_0x354562['length'],_0x48afa1['createdAt']=_0x1f8054['sessionCreatedAt'],_0x48afa1['_isInit']=!0x0,_0x48afa1['_authorId']=null;}),this['_applyOperationsSet'](_0x354562,!0x0),this['serverHistory']['version']=-_0x354562['length']+this['_offset'],this['_updateServerHistory'](_0x354562);}this['_document']['history']['version']=_0x4dc130,_0x427784=this['_decompressOperations'](_0x1f8054['data'],_0x1f8054['metadata']),await this['_fetchMissingUsers'](_0x427784),this['_applyOperationsSet'](_0x427784,_0x3aba1f);}_0x1f8054['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x427784,_0x1f8054['lastOperationId']),this['_lastSyncedOperationId']=_0x1f8054['lastOperationId']),this['serverHistory']['version']=_0x4dc130+this['_offset'],this['_updateServerHistory'](_0x427784),_0xe62e0b['filter'](_0x18718c=>{const _0x44d1c1=this['_getAffectedRoot'](_0x18718c);return _0x44d1c1&&!this['_knownRootNames']['has'](_0x44d1c1);})['forEach']((_0x572e87,_0x6e06e7)=>{_0x572e87['baseVersion']=this['_document']['version']+_0x6e06e7,this['_saveOperationInBuffer'](_0x572e87);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x272fbf,_0x190b09){const _0x19db3f=_0x190b09&&_0x190b09['message'];if(_0x19db3f&&_0x19db3f['startsWith']('realtimecollaborationclient'))throw _0x190b09;const _0x113adb=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x113adb['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x89efa8(_0x272fbf,this['editor'],_0x19db3f?{'originalError':_0x19db3f}:void 0x0);}['_saveOperationInBuffer'](_0x52629a){this['_knownOperations']['has'](_0x52629a)||(this['_knownOperations']['add'](_0x52629a),this['_bufferedOperations']['push'](_0x52629a),this['_pendingAction']||'marker'==_0x52629a['type']&&!_0x52629a['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x30743a=!0x1){!_0x30743a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x50b040=>{_0x50b040&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x30c572=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3fc5ae){return _0x3fc5ae['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3fc5ae['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3fc5ae['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x30c572)||this['_crash'](_0x30c572['message'],_0x30c572);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x41a21f=>{this['on']('change:_isPendingUpdate',()=>{_0x41a21f();});});}async['_sendBufferedOperations'](){const _0x352faa=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x352faa['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x469531=[...this['_bufferedOperations']];for(const _0x4e931f of _0x469531)_0x4e931f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4e931f);const _0x1b8bc0=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x469531),_0x156f8c=Z++,_0x2ce57b=this['_compressOperations'](_0x469531),_0x447859=await this['_service']['sendOperations'](_0x2ce57b,_0x2ce57b['baseVersion'],_0x1b8bc0);try{return await this['_handleServerResponse'](_0x469531,_0x447859,_0x156f8c);}catch(_0x32512d){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x32512d);}}async['_handleServerResponse'](_0x2ae1f6,_0x203c8c,_0x2d3ffe){if('error'in _0x203c8c)throw _0x203c8c['error'];let _0x23231d=!0x1;if(_0x203c8c['wereChangesApplied']){_0x203c8c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x203c8c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x66cfe2=>!_0x2ae1f6['includes'](_0x66cfe2));for(const _0x39dee9 of _0x2ae1f6)_0x39dee9['createdAt']='lastOperationAcceptedAt'in _0x203c8c&&_0x203c8c['lastOperationAcceptedAt']||void 0x0;st(_0x2ae1f6,_0x203c8c['version']-_0x2ae1f6['length']),this['_updateServerHistory'](_0x2ae1f6);const _0x55d50c=_0x2ae1f6['filter'](_0x20a031=>{if(!_0x20a031['_isInit'])return!0x1;const _0x49bf3a=this['_getAffectedRoot'](_0x20a031);return _0x49bf3a&&!this['_knownRootNames']['has'](_0x49bf3a);});st(_0x55d50c,this['_document']['version']),this['_applyOperationsSet'](_0x55d50c),_0x23231d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1b066d=this['_decompressOperations'](_0x203c8c['data'],_0x203c8c['metadata'])['filter'](_0x1d9cad=>_0x1d9cad['baseVersion']>=this['_lastServerVersion']);_0x1b066d['forEach'](_0x1ed7d3=>this['_addKnownRoot'](_0x1ed7d3)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3afd50=>!_0x3afd50['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3afd50))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1b066d),_0x23231d=this['_handleExternalOperations'](_0x1b066d,_0x203c8c['version'],_0x203c8c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x23231d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x503f72,_0x4faf4f,_0x35c810){try{const _0x2c882b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x39a615,operationsB:_0x1de5e4,originalOperations:_0xb5ad4f}=_0x8ddae4(_0x503f72,this['_bufferedOperations'],_0x2c882b);st(_0x39a615,this['_document']['version']),st(_0x1de5e4,_0x4faf4f);for(const _0x51ad87 of _0x39a615){const _0x40e8c4=_0xb5ad4f['get'](_0x51ad87);_0x51ad87['_authorId']=_0x40e8c4?_0x40e8c4['_authorId']:null;}_0x35c810&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x503f72,_0x35c810),this['_lastSyncedOperationId']=_0x35c810),this['_bufferedOperations']=[..._0x1de5e4],this['_applyOperationsSet'](_0x39a615),this['_updateServerHistory'](_0x503f72);}catch(_0x1fd06e){return console['error'](_0x1fd06e),!0x1;}return!0x0;}['_applyOperationsSet'](_0x24702f,_0x2d97e3=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4be372=>{for(const _0x280001 of _0x24702f)this['_knownOperations']['add'](_0x280001),this['_addKnownRoot'](_0x280001),_0x4be372['batch']['addOperation'](_0x280001),this['editor']['model']['applyOperation'](_0x280001);});}['_addKnownRoot'](_0x29b2e6){const _0x5450be=this['_getAffectedRoot'](_0x29b2e6);_0x5450be&&this['_knownRootNames']['add'](_0x5450be);}['_getAffectedRoot'](_0x1b6aa2){let _0x3c82fa,_0x411041;switch(_0x1b6aa2['type']){case'insert':_0x3c82fa=_0x1b6aa2['position']['root'];break;case'marker':if(_0x411041=_0x1b6aa2['newRange'],!_0x411041)return null;_0x3c82fa=_0x411041['root'];break;case'addRootAttribute':_0x3c82fa=_0x1b6aa2['root'];break;case'addRoot':_0x3c82fa=_0x1b6aa2['affectedSelectable'];break;case'move':_0x3c82fa=_0x1b6aa2['targetPosition']['root'];break;default:return null;}return _0x3c82fa['rootName'];}['_updateServerHistory'](_0x4a63fc){_0x4a63fc['forEach'](_0x3ad939=>{const _0x29b68=_0x3ad939['clone']();_0x29b68['_authorId']=_0x3ad939['_authorId'],_0x29b68['_isInit']=!!_0x3ad939['_isInit'],_0x29b68['createdAt']=_0x3ad939['createdAt'],_0x29b68['baseVersion']+=this['_offset'],_0x3ad939['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x29b68),this['serverHistory']['addOperation'](_0x29b68);});}['_handleReconnectionError'](_0x39c2a1){const _0xddad1a=this['editor']['plugins']['get']('Notification'),_0x3d883e=this['editor']['locale'];_0x39c2a1||(_0x39c2a1=X(_0x3d883e,'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.')),_0xddad1a['showWarning'](_0x39c2a1,{'title':X(_0x3d883e,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1358ff)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1358ff)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2b8fbf){const _0x2720da=_0x2b8fbf['map'](_0x19fab1=>_0x19fab1['toJSON']());return this['_compressor']['compress'](_0x2720da);}['_decompressOperations'](_0x38d8a8,_0x445344){return this['_compressor']['decompress'](_0x38d8a8)['map']((_0xb5b36a,_0x3d267f)=>{const _0x1be3bd='init'==_0x445344[_0x3d267f]['type'];if('InsertOperation'==_0xb5b36a['__className']){const _0x457615=_0xb5b36a['position']['root'];!this['_document']['getRoot'](_0x457615)&&(this['_document']['createRoot']('$root',_0x457615)['_isAttached']=!0x1);}const _0x5622f1=_0x46f55e['fromJSON'](_0xb5b36a,this['_document']);return _0x5622f1['wasUndone']=_0xb5b36a['wasUndone'],_0x5622f1['_isInit']=_0x1be3bd,_0x5622f1['_authorId']=_0x1be3bd?null:_0x445344[_0x3d267f]['userId'],_0x5622f1['_isDisconnection']='cs:removeUser'===_0x445344[_0x3d267f]['type'],_0x5622f1['createdAt']=_0x445344[_0x3d267f]['createdAt'],_0x5622f1;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x268abc=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x268abc&&_0x268abc['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x199bdb,_0xf80d2d){for(const _0x20c16e of _0x199bdb)_0x20c16e['baseVersion']=_0xf80d2d++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x3bac91){this['_ignoredOperations']=_0x3bac91,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4e8bf1){let _0x391fd8=_0x4e8bf1['length'];for(;_0x391fd8--;){const _0x436d96=_0x4e8bf1[_0x391fd8];if(!this['_ignoredOperations']['has'](_0x436d96)){if(!this['_operationToId']['has'](_0x436d96)){const _0x530194=_0x4ffe65()['slice'](0x1,0x12);this['_operationToId']['set'](_0x436d96,_0x530194);}return this['_operationToId']['get'](_0x436d96);}}}['setIdForTheLastOperation'](_0x17965c,_0x18345f){if(!_0x18345f)return;let _0x1fb8f5=_0x17965c['length'];for(;_0x1fb8f5--;){const _0x4c7643=_0x17965c[_0x1fb8f5];this['_ignoredOperations']['has'](_0x4c7643)||this['_operationToId']['set'](_0x4c7643,_0x18345f);}}}class nt extends _0x317dac{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x40a17f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0xfab053)());['_services'];static get['requires'](){return[z,_0x4b7eab,Y,_0x5170f0];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4da272){super(_0x4da272),this['_services']=new Map();}async['init'](){const _0x3184c9=this['context'],_0x5a5fd6=_0x3184c9['plugins']['get'](_0x4b7eab);if(_0x3184c9['plugins']['get'](z)['addToReconnectionStack'](this),_0x5a5fd6['adapter']={'addCommentThread':async({channelId:_0x17c97c,threadId:_0x1f1025,comments:_0x5e3ab3,resolvedAt:_0x111fab,resolvedBy:_0x1a2c94,context:_0x524250,attributes:_0x236b22})=>{const _0x128a31=await this['_getService'](_0x17c97c)['addCommentThread']({'commentThreadId':_0x1f1025,'comments':_0x5e3ab3['map'](_0x476313=>function(_0x23e98d,_0x232bc8,_0x5794a0){return{'commentThreadId':_0x5794a0,'commentId':_0x23e98d['commentId'],'userId':_0x23e98d['authorId'],'content':_0x23e98d['content'],'documentId':_0x232bc8,'createdAt':_0x23e98d['createdAt'],'attributes':_0x23e98d['attributes']||{}};}(_0x476313,_0x17c97c,_0x1f1025)),'resolvedAt':_0x111fab,'resolvedBy':_0x1a2c94,'context':_0x524250,'attributes':_0x236b22})['catch'](ct);return{'threadId':_0x128a31['commentThreadId'],'comments':_0x128a31['comments']};},'getCommentThread':async({channelId:_0x29e4f4,threadId:_0x3d3fde})=>{const _0x253b99=await this['_getService'](_0x29e4f4)['getCommentThread'](_0x3d3fde)['catch'](rt)['catch'](ct);return _0x253b99?_0x253b99['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x253b99]),{'threadId':_0x253b99['commentThreadId'],'comments':_0x253b99['comments']['map'](at),'context':_0x253b99['context'],'resolvedAt':_0x253b99['resolvedAt'],'resolvedBy':_0x253b99['resolvedBy'],'attributes':_0x253b99['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x227034,threadId:_0x1219e1,context:_0x11f93f,unlinkedAt:_0x46a32f,attributes:_0x5bac44})=>this['_getService'](_0x227034)['updateCommentThread']({'commentThreadId':_0x1219e1,'context':_0x11f93f,'attributes':_0x5bac44,'unlinkedAt':_0x46a32f})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x62fc91,threadId:_0xbb8f0a})=>{const _0x4dd107=await this['_getService'](_0x62fc91)['resolveCommentThread'](_0xbb8f0a)['catch'](rt)['catch'](ct);return{'threadId':_0x4dd107['commentThreadId'],'resolvedAt':_0x4dd107['resolvedAt'],'resolvedBy':_0x4dd107['resolvedBy']};},'reopenCommentThread':async({channelId:_0x8cc064,threadId:_0x34b7ec})=>this['_getService'](_0x8cc064)['reopenCommentThread'](_0x34b7ec)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5d9c17,threadId:_0x1d2e5e})=>this['_getService'](_0x5d9c17)['removeCommentThread'](_0x1d2e5e)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xee19a,threadId:_0x16b758,commentId:_0x2c8fd3,content:_0xa7adda,attributes:_0xc17291})=>this['_getService'](_0xee19a)['addComment'](_0x16b758,_0x2c8fd3,_0xa7adda,_0xc17291)['catch'](ct),'updateComment':({channelId:_0xe0a5c2,threadId:_0x1f9367,commentId:_0x32494c,content:_0x5a2041,attributes:_0x336bbc})=>this['_getService'](_0xe0a5c2)['updateComment'](_0x1f9367,_0x32494c,_0x5a2041,_0x336bbc)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x3c31f7,threadId:_0x108f89,commentId:_0xabb84})=>this['_getService'](_0x3c31f7)['removeComment'](_0x108f89,_0xabb84)['catch'](rt)['catch'](ct)},_0x3184c9 instanceof _0x14d173){const _0x359359=_0x3184c9['config']['get']('collaboration.channelId'),_0x2ff444=_0x3184c9['plugins']['get'](Y);await this['_setUpService'](_0x359359);const _0x5958f1=await this['_services']['get'](_0x359359)['getConnectedSessions']();this['listenTo'](_0x2ff444,'sessionAdd:'+_0x359359,(_0x80bffa,{session:_0x503804})=>{_0x503804['id']===_0x2ff444['mySessionId']&&(_0x80bffa['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x503804['permissions'],_0x359359));}),_0x2ff444['register'](_0x359359,_0x5958f1);}}async['_setUpService'](_0xd0463c){if(this['_services']['has'](_0xd0463c))throw new _0x89efa8('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xd0463c});const _0x301eaa=this['context']['plugins']['get'](_0x4b7eab),_0x26ad3e=new ot['CommentsService'](_0xd0463c);this['_services']['set'](_0xd0463c,_0x26ad3e),this['listenTo'](_0x26ad3e,'commentThreadAdded',(_0x24b99c,_0xdce81e)=>{const {commentThreadId:_0x506e9f,documentId:_0x406639,context:_0x5a450e,attributes:_0x49cfef,resolvedAt:_0x86c52a,resolvedBy:_0x19f2be,comments:_0x2d7018}=_0xdce81e;_0x301eaa['getCommentThread'](_0x506e9f)||_0x301eaa['addCommentThread']({'threadId':_0x506e9f,'channelId':_0x406639,'comments':_0x2d7018?_0x2d7018['map'](at):[],'context':_0x5a450e,'attributes':_0x49cfef,'resolvedAt':_0x86c52a,'resolvedBy':_0x19f2be,'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadUpdated',(_0x5e660e,{commentThreadId:_0x207cc4,documentId:_0x1dd82b,context:_0x149828,unlinkedAt:_0x4661ee,attributes:_0x361191})=>{_0x301eaa['getCommentThread'](_0x207cc4)&&_0x301eaa['updateCommentThread']({'threadId':_0x207cc4,'channelId':_0x1dd82b,'context':_0x149828,'unlinkedAt':_0x4661ee,'attributes':_0x361191,'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadResolved',(_0x139e17,{commentThreadId:_0x36b008,resolvedBy:_0x2d04fa,resolvedAt:_0xe09920})=>{const _0x6f3ebe=_0x301eaa['getCommentThread'](_0x36b008);_0x6f3ebe&&_0x6f3ebe['resolve']({'resolvedBy':_0x2d04fa,'resolvedAt':_0xe09920,'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadReopened',(_0x4b7c9d,{commentThreadId:_0x451ec1})=>{const _0x22eb49=_0x301eaa['getCommentThread'](_0x451ec1);_0x22eb49&&_0x22eb49['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadRemoved',(_0xe24d0,{commentThreadId:_0x240a72})=>{const _0x3ae308=_0x301eaa['getCommentThread'](_0x240a72);_0x3ae308&&_0x3ae308['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentAdded',(_0x35ff34,_0x2bb1ef)=>{const _0x46a893=_0x2bb1ef['commentThreadId'],_0x8cb75b=_0x301eaa['getCommentThread'](_0x46a893);_0x8cb75b&&_0x8cb75b['addComment']({...at(_0x2bb1ef),'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentUpdated',(_0x321631,{commentThreadId:_0x281b39,commentId:_0x136ce2,content:_0x259da9,attributes:_0x1d7fc6})=>{const _0x1e2989=_0x301eaa['getCommentThread'](_0x281b39);if(_0x1e2989){const _0x4240ce=_0x1e2989['getComment'](_0x136ce2);_0x4240ce&&_0x4240ce['update']({'content':_0x259da9,'attributes':_0x1d7fc6,'isFromAdapter':!0x0});}}),this['listenTo'](_0x26ad3e,'commentRemoved',(_0x574d8d,{commentThreadId:_0x151be3,commentId:_0x320b82})=>{const _0x1a6539=_0x301eaa['getCommentThread'](_0x151be3);if(_0x1a6539){const _0x2fa129=_0x1a6539['getComment'](_0x320b82);_0x2fa129&&_0x2fa129['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xd0463c);}['destroy'](){if(this['context']instanceof _0x14d173){const _0x42e703=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x42e703);}}['_terminateService'](_0x14fa24){if(!this['_services']['has'](_0x14fa24))throw new _0x89efa8('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x14fa24});this['_getService'](_0x14fa24)['disconnect'](),this['_services']['delete'](_0x14fa24);}async['reconnect'](){for(const _0x20d313 of this['_services']['keys']())await this['_connectService'](_0x20d313);if(this['context']instanceof _0x14d173){const _0x43e32b=this['context']['config']['get']('collaboration.channelId'),_0x4cb79c=this['context']['plugins']['get'](Y);_0x4cb79c['unregister'](_0x43e32b);const _0x3c5b9d=await this['_services']['get'](_0x43e32b)['getConnectedSessions']();_0x4cb79c['register'](_0x43e32b,_0x3c5b9d);}}async['_connectService'](_0x2dd0d2){const {connection:_0x276044}=this['context']['plugins']['get'](z),_0x18e0f6=this['context']['plugins']['get'](_0x4b7eab),_0x2321a1=this['_services']['get'](_0x2dd0d2),_0x3d939a=await _0x2321a1['connect'](_0x276044);await this['_fetchMissingUsersForThreads'](_0x3d939a);const _0x3e22fd=new Set(Array['from'](_0x18e0f6['getCommentThreads']({'channelId':_0x2dd0d2}),_0x1a3353=>_0x1a3353['id']));for(const _0x469364 of _0x3d939a)_0x469364['deletedAt']||_0x3e22fd['delete'](_0x469364['commentThreadId']);for(const _0x1a0c03 of _0x3e22fd)_0x18e0f6['getCommentThread'](_0x1a0c03)['remove']({'isFromAdapter':!0x0});for(const _0x3968b3 of _0x3d939a){let _0x80700c=_0x18e0f6['getCommentThread'](_0x3968b3['commentThreadId']);const {commentThreadId:_0x311245,context:_0x24487a,attributes:_0x251d32,resolvedBy:_0x420d52,resolvedAt:_0x3a7e19,unlinkedAt:_0x51be32,deletedAt:_0x28e0d1}=_0x3968b3;if(_0x28e0d1)continue;_0x80700c||(_0x80700c=_0x18e0f6['addCommentThread']({'channelId':_0x2dd0d2,'threadId':_0x311245,'context':_0x24487a,'attributes':_0x251d32||{},'resolvedBy':_0x420d52,'resolvedAt':_0x3a7e19,'unlinkedAt':_0x51be32,'isFromAdapter':!0x0}));const _0x126054=new Set(Array['from'](_0x80700c['comments'],_0x4c5c8a=>_0x4c5c8a['id']));for(const _0x128c0a of _0x3968b3['comments'])_0x126054['delete'](_0x128c0a['commentId']);for(const _0x2dc986 of _0x126054)_0x80700c['getComment'](_0x2dc986)['remove']({'isFromAdapter':!0x0});for(const _0x3b8d8b of _0x3968b3['comments']){const _0x1ecf29=_0x80700c['getComment'](_0x3b8d8b['commentId']);_0x1ecf29?_0x1ecf29['content']!==_0x3b8d8b['content']&&_0x1ecf29['update']({'content':_0x3b8d8b['content'],'isFromAdapter':!0x0}):_0x80700c['addComment'](Object['assign'](at(_0x3b8d8b),{'isFromAdapter':!0x0}));}}}['_getService'](_0x202fd4){if(!this['_services']['has'](_0x202fd4))throw new _0x89efa8('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x202fd4});return this['_services']['get'](_0x202fd4);}async['_fetchMissingUsersForThreads'](_0x923292){const _0x16b20c=this['context']['plugins']['get'](_0x5170f0),{connection:_0x5e160c}=this['context']['plugins']['get'](z),_0x20e8c9=new Set();for(const {resolvedBy:_0x1e0734,comments:_0x3b9206}of _0x923292){_0x1e0734&&!_0x16b20c['getUser'](_0x1e0734)&&_0x20e8c9['add'](_0x1e0734);for(const {userId:_0x420d18}of _0x3b9206)_0x16b20c['getUser'](_0x420d18)||_0x20e8c9['add'](_0x420d18);}if(0x0===_0x20e8c9['size'])return;const _0x37e426=await _0x34697a['getMany'](_0x5e160c,Array['from'](_0x20e8c9));for(const _0x522ca2 of _0x37e426)_0x16b20c['getUser'](_0x522ca2['id'])||_0x16b20c['addUser'](_0x522ca2);}}async function rt(_0x1798cd){if('404'!==_0x1798cd['code'])throw _0x1798cd;}function ct(_0x2944ad){if((_0x4348da=_0x2944ad)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4348da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4348da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4348da;throw _0x2944ad;}function at(_0x40773c){return{'threadId':_0x40773c['commentThreadId'],'commentId':_0x40773c['commentId'],'content':_0x40773c['content'],'createdAt':_0x40773c['createdAt'],'authorId':_0x40773c['userId'],'attributes':_0x40773c['attributes']||{}};}class ht extends _0x317dac{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x1427df)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x1c7485,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x17b386){super(_0x17b386);const _0x51fdd1=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x51fdd1);}['init'](){const _0x204c14=this['editor']['plugins']['get'](z),_0x2d4553=this['editor']['plugins']['get'](_0x1c7485);return _0x2d4553['adapter']={'getSuggestion':async _0x3f2406=>{await this['_waitForServiceReady']();const _0x444ecf=await this['_trackChangesService']['get'](_0x3f2406)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x444ecf]),_0x444ecf;},'addSuggestion':async({id:_0x16ac9e,type:_0x5bfa72,data:_0x51c6d0,originalSuggestionId:_0x4cb682,attributes:_0x48965a})=>{await this['_waitForServiceReady']();const _0x57e932={'id':_0x16ac9e,'type':_0x5bfa72,'data':_0x51c6d0,'originalSuggestionId':_0x4cb682,'attributes':_0x48965a},_0x258bc2=await this['_trackChangesService']['add'](_0x16ac9e,_0x5bfa72,_0x51c6d0,_0x4cb682,_0x48965a)['catch'](_0x5b2b24=>{if(dt(_0x5b2b24))return new Promise(_0x26a6f0=>{this['_bufferedRequests']['set'](_0x16ac9e,{'resolve':_0x26a6f0,'suggestionData':_0x57e932});});throw _0x5b2b24;});return this['_bufferedRequests']['delete'](_0x16ac9e),_0x258bc2;},'updateSuggestion':async(_0x3bb590,_0x75fd25)=>{if(await this['_waitForServiceReady'](),'open'!==_0x75fd25['state'])return this['_trackChangesService']['update'](_0x3bb590,_0x75fd25)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xccc547,_0x20217a)=>{_0x2d4553['hasSuggestion'](_0x20217a['id'])&&(_0x2d4553['getSuggestion'](_0x20217a['id'])['attributes']=_0x20217a['attributes']);}),this['_trackChangesService']['connect'](_0x204c14['connection'])['then'](_0x9ff019=>(_0x204c14['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x9ff019)['then'](()=>{for(const _0x167d6f of _0x9ff019){_0x2d4553['addSuggestionData'](_0x167d6f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4e533c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x569233}=this['editor']['plugins']['get'](z),_0x3d0290=await this['_trackChangesService']['connect'](_0x569233);await this['_fetchMissingUsersForThreads'](_0x3d0290);for(const {suggestionData:_0x176abc,resolve:_0x2bd8ce}of this['_bufferedRequests']['values']()){let _0x1a1858=_0x3d0290['find'](_0x29692b=>_0x29692b['id']===_0x176abc['id']);_0x1a1858||(_0x1a1858=await this['_trackChangesService']['add'](_0x176abc['id'],_0x176abc['type'],_0x176abc['data'],_0x176abc['originalSuggestionId'])),_0x2bd8ce(_0x1a1858);}for(const _0x30b2e6 of _0x3d0290)_0x4e533c['hasSuggestion'](_0x30b2e6['id'])||_0x4e533c['addSuggestionData'](_0x30b2e6);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4a0f09=>{this['listenTo'](this['_trackChangesService'],'connected',_0x7dea22=>{_0x7dea22['off'](),_0x4a0f09();});});}async['_fetchMissingUsersForThreads'](_0x348564){const _0x87dc04=this['editor']['plugins']['get'](_0x5170f0),{connection:_0x2afb4b}=this['editor']['plugins']['get'](z),_0x56ad7a=new Set();for(const {authorId:_0x35e7ff}of _0x348564)_0x87dc04['getUser'](_0x35e7ff)||_0x56ad7a['add'](_0x35e7ff);if(0x0===_0x56ad7a['size'])return;const _0x1d1922=await _0x34697a['getMany'](_0x2afb4b,Array['from'](_0x56ad7a));for(const _0x4cbe00 of _0x1d1922)_0x87dc04['getUser'](_0x4cbe00['id'])||_0x87dc04['addUser'](_0x4cbe00);}}function lt(_0x64c2ab){if(dt(_0x64c2ab))return new Promise(()=>{});throw _0x64c2ab;}function dt(_0x47c070){return _0x47c070['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x47c070['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x317dac{static get['requires'](){return[_0x3987c8,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x34b070=this['editor']['plugins']['get'](z),_0x5181ce=this['editor']['plugins']['get'](_0x114ed1),_0x1f8110=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x34b070,'change:state',(_0x21f5d9,_0x42f2f6,_0x43378f)=>{_0x5181ce['isThreadsLoadingPaused']='connected'!==_0x43378f;});}),this['listenTo'](_0x34b070,'change:state',(_0xce5889,_0x52e620,_0x3662f3)=>{this['editor']['plugins']['get'](_0x4b7eab)['switchReadOnly']('connected'!==_0x3662f3);}),_0x1f8110['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x317dac{static get['requires'](){return[ut,ht,_0x412e46];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x317dac{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x3744f1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x5eb5a6,Y,_0x5170f0];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x53b7ff){super(_0x53b7ff);const _0x237a37=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x237a37);}async['init'](){const _0x28b49d=this['editor']['plugins']['get'](tt),_0x5c699d=_0x28b49d['serverHistory'],_0x3e4f43=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5c699d,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x28b49d['sessionId']});const _0xee3792=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x31dc87,_0x49cc86=await _0x13e030['isBundleUploaded'](_0x3e4f43['connection'],_0xee3792);this['editor']['plugins']['get'](_0x5eb5a6)['adapter']={'getRevision':async({revisionId:_0x18d540})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x18d540)),'updateRevisions':async _0x2dbb20=>{await this['_waitForServiceReady']();const _0x30d8cc=this['_revisionTracker']['currentRevision'];if(_0x49cc86&&0x1===_0x2dbb20['length']&&_0x2dbb20[0x0]['id']===_0x30d8cc['id'])return _0x2dbb20;for(const _0x221e87 of _0x2dbb20)_0x221e87['id']===_0x30d8cc['id']&&(_0x221e87['isEmptyCurrent']=_0x221e87['fromVersion']===_0x221e87['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2dbb20,this['_lastRequestId'])['then'](_0x472f54=>(this['_lastRequestId']=_0x472f54,_0x2dbb20))['catch'](_0x51916b=>{if(pt(_0x51916b)||'400'===_0x51916b['code']&&void 0x0!==_0x51916b['data']['wrongRequestId']){for(const _0x2edbea of _0x2dbb20){!this['_revisionTracker']['repository']['getRevision'](_0x2edbea['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2edbea['id'],_0x2edbea,!0x1);}if(pt(_0x51916b)&&'destroyed'!==this['editor']['state'])throw _0x51916b;return _0x2dbb20;}throw _0x51916b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x83d44b,{revisionsData:_0x598101,requestId:_0x4a81cc})=>{Math['max'](..._0x598101['map'](_0x3d9687=>_0x3d9687['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x598101,_0x4a81cc);}):this['_handleRevisionsUpdate'](_0x598101,_0x4a81cc);});const {revisions:_0x37adf7,requestId:_0x822555}=await this['_revisionHistoryService']['connect'](_0x3e4f43['connection']);_0x3e4f43['addToReconnectionStack'](this),this['_lastRequestId']=_0x822555,await this['_fetchMissingUsers'](_0x37adf7);for(const _0xaacbf6 of _0x37adf7)this['_revisionTracker']['addRevisionData'](_0xaacbf6);this['listenTo'](_0x28b49d,'change:_isConnected',(_0x1f2a40,_0x1a7ded,_0x40fd37)=>{_0x40fd37&&(this['_oldOffset']=_0x28b49d['_offset'],_0x1f2a40['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3e4f43,'state',_0x130038=>_0x130038===_0x2d64f4['CONNECTED']);}async['reconnect'](){const _0x2d94e4=this['editor']['plugins']['get'](z),_0x20fa70=this['editor']['plugins']['get'](tt),_0x4e494e=async()=>{const _0x2bb379=this['_revisionTracker']['currentRevision'],_0x1305d0=_0x2bb379['id'],_0x38884d=_0x1305d0!==_0x20fa70['sessionId'];if(_0x38884d){const _0x5a9376=_0x20fa70['_offset']-this['_oldOffset'],_0x2d13e2=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2bb379['toVersion']+_0x5a9376!==_0x2d13e2){const _0x369992=_0x2bb379['fromVersion']+_0x5a9376,_0x1d7eb0=this['editor']['plugins']['get'](_0x5170f0),_0x25b355=this['_revisionTracker']['buildRevisionData']({'revision':_0x2bb379,'from':_0x369992,'to':_0x2d13e2});_0x25b355['id']=_0x2bb379['id'];const _0x4b8e70=_0x25b355['authorsIds']['map'](_0x20bba3=>_0x1d7eb0['getUser'](_0x20bba3));_0x2bb379['_update']({..._0x25b355,'authors':_0x4b8e70},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2bb379['id'],_0x25b355,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2d13e2,(_0x2bb379['toVersion']===_0x2bb379['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1305d0)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1305d0),this['_revisionTracker']['_createCurrentRevision'](_0x2d13e2));}const {revisions:_0x6c98c1,requestId:_0x4a3215}=await this['_revisionHistoryService']['reconnect'](_0x2d94e4['connection'],this['_lastRequestId']);_0x38884d&&_0x6c98c1['length']>0x0?_0x20fa70['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x6c98c1),this['_handleRevisionsUpdate'](_0x6c98c1,_0x4a3215),this['_revisionTracker']['sendBufferedUpdates']());};return _0x20fa70['_isConnected']?_0x4e494e():new Promise((_0x3c107d,_0x556d79)=>{_0x20fa70['once']('change:_isConnected',()=>{_0x4e494e()['then'](_0x3c107d)['catch'](_0x556d79);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x539741=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x371cab=>{_0x371cab['off'](),_0x539741();});});}['_getLatestVersionFromServerOperations'](){const _0x178e26=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x29203b of _0x178e26)if('marker'!==_0x29203b['type']||_0x29203b['affectsData'])return _0x29203b['baseVersion']+0x1;}['_getLatestVersion'](){const _0x16a1db=this['editor']['plugins']['get'](tt);return new Promise(_0x45bad8=>{_0x16a1db['_isPendingUpdate']?_0x16a1db['once']('change:_isPendingUpdate',()=>{_0x45bad8(this['_getLatestVersionFromServerOperations']());}):_0x45bad8(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3b5180,_0x3b0876){const _0x562c97=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3b0876;for(const _0x3ec540 of _0x3b5180){const _0x3dae52=_0x562c97['getRevision'](_0x3ec540['id']);if(_0x3dae52){if((_0x3ec540['fromVersion']||_0x3ec540['toVersion'])&&(_0x3ec540['diffData']=null),_0x3dae52===this['_revisionTracker']['currentRevision']){const _0x5c94ed=Math['max'](_0x3dae52['toVersion'],_0x3ec540['toVersion']),_0x15eca6=Math['max'](_0x3dae52['fromVersion'],_0x3ec540['fromVersion']);let _0x1857b8;_0x3dae52['toVersion']===_0x3ec540['toVersion']&&_0x3dae52['fromVersion']===_0x3ec540['fromVersion']?(_0x1857b8=!0x0,this['_preventResendingRevisionData'](_0x3ec540)):_0x3ec540['toVersion']===_0x5c94ed&&_0x3ec540['fromVersion']===_0x15eca6?_0x1857b8=!0x1:(_0x3dae52['toVersion']===_0x5c94ed&&_0x3dae52['fromVersion']===_0x15eca6||this['_fixRevision']({'revision':_0x3dae52,'from':_0x15eca6,'to':_0x5c94ed}),_0x1857b8=!0x0),_0x1857b8&&(delete _0x3ec540['fromVersion'],delete _0x3ec540['toVersion'],delete _0x3ec540['diffData'],delete _0x3ec540['createdAt'],delete _0x3ec540['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3ec540),this['_preventResendingRevisionData'](_0x3ec540);}else this['_revisionTracker']['addRevisionData'](_0x3ec540);}const _0x39a261=_0x562c97['getRevisions']();_0x39a261['reverse']();for(let _0x3f6512=0x0;_0x3f6512<_0x39a261['length']-0x1;_0x3f6512++){const _0x4f0bc0=_0x39a261[_0x3f6512],_0x1ceaf7=_0x39a261[_0x3f6512+0x1];if(_0x4f0bc0['fromVersion']<_0x1ceaf7['toVersion']){const _0x4bb96e=_0x1ceaf7['toVersion'],_0x4f176c=Math['max'](_0x4bb96e,_0x4f0bc0['toVersion']);this['_fixRevision']({'revision':_0x4f0bc0,'from':_0x4bb96e,'to':_0x4f176c});}}}['_fixRevision']({revision:_0x3826eb,from:_0x3d20e7,to:_0x93ef31}={}){const _0x1fcc9b=this['editor']['plugins']['get'](_0x5170f0),_0x4a5e48=this['_revisionTracker']['buildRevisionData']({'revision':_0x3826eb,'from':_0x3d20e7,'to':_0x93ef31});_0x4a5e48['authors']=_0x4a5e48['authorsIds']['map'](_0x3b8683=>_0x1fcc9b['getUser'](_0x3b8683)),_0x3826eb['_update'](_0x4a5e48);}['_preventResendingRevisionData'](_0x5c9692){const _0x3330c7={};_0x3330c7['id']=_0x5c9692['id'];for(const _0x1992d0 of Object['keys'](_0x5c9692))'id'!==_0x1992d0&&(_0x3330c7[_0x1992d0]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3330c7['id'],_0x3330c7,!0x0);}async['_fetchMissingUsers'](_0x171a66){const _0x430fa4=this['editor']['plugins']['get'](_0x5170f0),{connection:_0x300649}=this['editor']['plugins']['get'](z),_0x57dc44=new Set();for(const _0x4a6075 of _0x171a66){for(const _0x19f336 of _0x4a6075['authorsIds'])_0x2470f6(_0x19f336);_0x4a6075['creatorId']&&_0x2470f6(_0x4a6075['creatorId']);}if(0x0===_0x57dc44['size'])return;const _0x9b14fb=await _0x34697a['getMany'](_0x300649,Array['from'](_0x57dc44));for(const _0x4a6edf of _0x9b14fb)_0x430fa4['getUser'](_0x4a6edf['id'])||_0x430fa4['addUser'](_0x4a6edf);function _0x2470f6(_0x50858e){_0x430fa4['getUser'](_0x50858e)||_0x57dc44['add'](_0x50858e);}}}function pt(_0x1c6cb7){return _0x1c6cb7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1c6cb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1c6cb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x317dac{static get['requires'](){return[_0x5eb5a6,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x41b18b{['_collapseAt'];constructor(_0x4aec1d,_0x5487f3=0x6){super(_0x4aec1d);const _0xc75103=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5487f3,this['bind']('isHidden')['to'](this,'usersCount',_0x26aecd=>_0x26aecd<_0x5487f3),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xc75103['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':_0xc75103['to']('usersCount',_0x2eab47=>'+'+(_0x2eab47-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x41b18b{['items'];['keystrokes'];constructor(_0x441610){super(_0x441610);const _0x207345=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2b69b0(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x207345['if']('hasPopup'),'aria-expanded':_0x207345['to']('isExpanded',_0x71f343=>this['hasPopup']&&String(_0x71f343)),'aria-label':_0x207345['to']('hasPopup',_0x1df7b7=>X(_0x441610,_0x1df7b7?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x207345['to']('hasPopup',_0x3573c6=>!!_0x3573c6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x207345['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x207345['to'](_0x1c4aa9=>{const _0x40891c=_0x1c4aa9,_0x5e1327=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1de0ac=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5e1327?.['contains'](_0x40891c['relatedTarget'])||_0x1de0ac?.['contains'](_0x40891c['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2535ea,_0x350ead,_0xd17961)=>{this['element']&&(_0xd17961?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x41b18b{['counterView'];['inlineListView'];constructor(_0x1e7490,_0x30f0bf=0x6){super(_0x1e7490);const _0x4edafe=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x30f0bf),this['inlineListView']=new vt(_0x1e7490),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5da002 of this['inlineListView']['items'])_0x5da002['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',_0x4edafe['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x41b18b{['listWrapperView'];constructor(_0x1b71fa,_0x404714){super(_0x1b71fa);const _0x174f5a=this['bindTemplate'];this['listWrapperView']=new bt(_0x1b71fa,_0x404714),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x1b71fa,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x174f5a['to'](_0x15779a=>{const _0x484b9f=_0x15779a,_0x1538f6=document['querySelector']('.ck-presence-list__list'),_0x420ffc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1538f6?.['contains'](_0x484b9f['relatedTarget'])||_0x420ffc?.['contains'](_0x484b9f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x40698b{constructor(_0x5578ab,_0x5788c8){super(_0x5578ab);const _0x636eda=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5788c8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x636eda['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x636eda['to']('role'),'aria-label':_0x636eda['to']('ariaLabel'),'aria-labelledby':_0x636eda['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5207e9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x48f051=this['element'];_0x48f051&&(this['_isScrollable']=Math['max'](_0x48f051['scrollHeight'],_0x48f051['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x3d2bd6{['userView'];constructor(_0x4d2ace,_0x74a172,_0x4b06a4){super(_0x4d2ace);const _0x4ee9ce=this['bindTemplate'];this['userView']=new _0x4eb3d8(_0x4d2ace,_0x74a172);const _0x161b6c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x74a172['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x74a172['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x74a172['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x74a172['color']['getColorVariable'](),'--ck-user-color-alpha':_0x74a172['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4b06a4&&(_0x161b6c['tag']='button',_0x161b6c['on']={'click':_0x4ee9ce['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x161b6c);}['focus'](){this['element']['focus']();}}class It extends _0x41b18b{['userView'];['markerView'];constructor(_0x347538,_0x4b6f9d,_0x2a855d){super(_0x347538);const _0x41af82=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4eb3d8(_0x347538,_0x4b6f9d),this['markerView']=new St(_0x347538,_0x4b6f9d);const _0x2d9f9a=new _0x143d3f(_0x347538);_0x2d9f9a['template']['tag']='span',_0x2d9f9a['text']=_0x4b6f9d['name'];const _0x3ad02c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x41af82['to']('isFocusable',_0x5c4362=>!!_0x5c4362&&0x0),'aria-labelledby':_0x2d9f9a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x41af82['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x41af82['to']('hasTooltip',_0x10e72d=>!_0x10e72d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2d9f9a]};_0x2a855d&&(_0x3ad02c['tag']='button',_0x3ad02c['on']={'click':_0x41af82['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3ad02c);}}class St extends _0x41b18b{constructor(_0x4b1d9c,_0x18d989){super(_0x4b1d9c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18d989['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18d989['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18d989['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x40a17f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe99a5c){super(_0xe99a5c),this['context']['config']['define']('presenceList',Tt);const _0x228e24=_0xe99a5c['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x228e24)throw new _0x89efa8('presencelist-collapseat-invalid-format',this);if(_0x228e24<0x1)throw new _0x89efa8('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4f44ac(),this['balloonPanelView']=new _0x550d0e(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1ee525 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ee525);this['listenTo'](this['_allConnectedUsers'],'add',(_0x46fd54,_0x2c88c7)=>{this['_handleUserAdd'](_0x2c88c7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1308e8,_0x2340cf)=>{this['_handleUserRemove'](_0x2340cf);});}['_createView'](){const _0x3bef3e=this['context'],_0x4a0030=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x187030=this['balloonPanelView'];if(!_0x45757d(_0x3bef3e['config']['get']('presenceList.container')))throw new _0x89efa8('presencelist-missing-container',this);return _0x4a0030['counterView']['bind']('usersCount')['to'](this),_0x4a0030['bind']('isCollapsed')['to'](this,'usersCount',_0x26f40b=>{const {collapseAt:_0x19c987}=_0x3bef3e['config']['get']('presenceList'),_0x439eb4=_0x26f40b>=_0x19c987;if(_0x439eb4&&!_0x4a0030['inlineListView']['items']['find'](_0x4db95a=>_0x4db95a instanceof wt)){const _0x6a6d00=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x6a6d00&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4a0030['inlineListView']['items']['add'](_0x4a0030['counterView']);}return _0x439eb4||this['hideDropdown'](),_0x439eb4;}),_0x4a0030['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x372731=>{const _0x24e4d4=_0x3bef3e['config']['get']('presenceList'),_0x241eca=new It(_0x3bef3e['locale'],_0x372731,!!_0x24e4d4['onClick']);return _0x241eca['bind']('hasTooltip')['to'](_0x4a0030,'isCollapsed',_0xb7d0eb=>!_0xb7d0eb),_0x241eca['bind']('isFocusable')['to'](_0x4a0030,'isCollapsed',_0x140817=>!_0x140817),_0x24e4d4['onClick']&&this['listenTo'](_0x241eca,'execute',()=>{this['view']['isCollapsed']||_0x24e4d4['onClick'](_0x372731,_0x241eca['element']);}),_0x241eca;}),this['listenTo'](_0x4a0030['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4a0030['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4a0030['inlineListView']['keystrokes']['set']('Enter',(_0x1c0d35,_0x3dc88e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3dc88e());}),_0x4a0030['render'](),_0x187030['render'](),_0x241ae5({'emitter':_0x4a0030,'activator':()=>_0x187030['isVisible'],'contextElements':[_0x187030['element'],_0x4a0030['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3bef3e['config']['get']('presenceList.container')['appendChild'](_0x4a0030['element']),this['_bodyCollection']=new _0x16f974(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4a0030;}['_handleUserAdd'](_0xe4a6a1){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xe4a6a1['isMe'])return;const _0x1d0c71=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1d0c71-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x41f95c=_0xe4a6a1['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xe4a6a1,_0x41f95c);}['_handleUserRemove'](_0x3adaea){this['usersCount']--;const {collapseAt:_0x39b997}=this['context']['config']['get']('presenceList'),_0x51d075=this['usersCount']>=_0x39b997;if(this['currentDisplayedUsers']['get'](_0x3adaea['id']))this['currentDisplayedUsers']['remove'](_0x3adaea['id']);else{if(_0x51d075&&this['currentDisplayedUsers']['length']+0x1===_0x39b997-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x51d075?0x1:0x0)<this['usersCount']){for(const _0x33c95f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x33c95f['id'])&&(this['currentDisplayedUsers']['add'](_0x33c95f,Math['min'](this['currentDisplayedUsers']['length']-(_0x51d075?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x51d075?0x1:0x0)===_0x39b997-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x3fc977=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x3fc977['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xc2e5be}=this['presenceDropdownView'];_0xc2e5be['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x54149e=>{if(!_0x3fc977['displayMe']&&_0x54149e['isMe'])return null;const _0x42d4d7=new kt(this['context']['locale'],_0x54149e,!!_0x3fc977['onClick']);return _0x3fc977['onClick']&&this['listenTo'](_0x42d4d7,'execute',()=>{_0x3fc977['onClick'](_0x54149e,_0x42d4d7['element']);}),_0x42d4d7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xc2e5be['focus'](),_0xc2e5be['checkIfScrollable']();const _0x27aba3=(_0x4a3dbc,_0x274da9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x274da9();};_0xc2e5be['keystrokes']['set']('Esc',_0x27aba3),_0xc2e5be['keystrokes']['set']('Shift+Tab',_0x27aba3),_0xc2e5be['keystrokes']['set']('Tab',(_0x1ea204,_0x2e5ad3)=>{!function(_0x5406fe){const _0x21d38f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1e5eb0=>_0x1e5eb0+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x59c07a=[...document['body']['querySelectorAll'](_0x21d38f)]['filter'](_0x48583b=>_0x48583b===document['activeElement']||_0x48583b['offsetWidth']+_0x48583b['offsetHeight']>0x0)['sort']((_0x2d6b47,_0x5c05b4)=>(_0x2d6b47['tabIndex']||0x0)-(_0x5c05b4['tabIndex']||0x0)),_0x394741=_0x59c07a['indexOf'](_0x5406fe),_0x79dcad=_0x59c07a[(_0x394741+0x1)%_0x59c07a['length']];_0x79dcad&&_0x79dcad['focus']();}(this['view']['element']),this['hideDropdown'](),_0x2e5ad3();}),_0xc2e5be['focusTracker']['add'](this['view']['element']),_0xc2e5be['focusTracker']['on']('change:isFocused',(_0x1d95f1,_0x34da82,_0x214980)=>{_0x214980||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x40a17f{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x3e9755=>0x1!=_0x3e9755}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x2dbf9e=>0x1!=_0x2dbf9e}};