@ckeditor/ckeditor5-real-time-collaboration 48.0.1 → 48.1.0-alpha.1

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 (156) hide show
  1. package/README.md +1 -1
  2. package/dist/config.d.ts +1 -1
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.js +6 -6
  5. package/dist/presencelist/view/presencecounterview.d.ts +3 -0
  6. package/dist/presencelist/view/presencedropdownlistitemview.d.ts +3 -0
  7. package/dist/presencelist/view/presenceinlinelistitemview.d.ts +3 -0
  8. package/dist/presencelist/view/presenceinlinelistview.d.ts +3 -0
  9. package/dist/realtimecollaborativeediting/usermarkers.d.ts +3 -0
  10. package/dist/translations/af.js +1 -1
  11. package/dist/translations/af.umd.js +1 -1
  12. package/dist/translations/ar.js +1 -1
  13. package/dist/translations/ar.umd.js +1 -1
  14. package/dist/translations/ast.js +1 -1
  15. package/dist/translations/ast.umd.js +1 -1
  16. package/dist/translations/az.js +1 -1
  17. package/dist/translations/az.umd.js +1 -1
  18. package/dist/translations/be.js +1 -1
  19. package/dist/translations/be.umd.js +1 -1
  20. package/dist/translations/bg.js +1 -1
  21. package/dist/translations/bg.umd.js +1 -1
  22. package/dist/translations/bn.js +1 -1
  23. package/dist/translations/bn.umd.js +1 -1
  24. package/dist/translations/bs.js +1 -1
  25. package/dist/translations/bs.umd.js +1 -1
  26. package/dist/translations/ca.js +1 -1
  27. package/dist/translations/ca.umd.js +1 -1
  28. package/dist/translations/cs.js +1 -1
  29. package/dist/translations/cs.umd.js +1 -1
  30. package/dist/translations/da.js +1 -1
  31. package/dist/translations/da.umd.js +1 -1
  32. package/dist/translations/de-ch.js +1 -1
  33. package/dist/translations/de-ch.umd.js +1 -1
  34. package/dist/translations/de.js +1 -1
  35. package/dist/translations/de.umd.js +1 -1
  36. package/dist/translations/el.js +1 -1
  37. package/dist/translations/el.umd.js +1 -1
  38. package/dist/translations/en-au.js +1 -1
  39. package/dist/translations/en-au.umd.js +1 -1
  40. package/dist/translations/en-gb.js +1 -1
  41. package/dist/translations/en-gb.umd.js +1 -1
  42. package/dist/translations/en.js +1 -1
  43. package/dist/translations/en.umd.js +1 -1
  44. package/dist/translations/eo.js +1 -1
  45. package/dist/translations/eo.umd.js +1 -1
  46. package/dist/translations/es-co.js +1 -1
  47. package/dist/translations/es-co.umd.js +1 -1
  48. package/dist/translations/es.js +1 -1
  49. package/dist/translations/es.umd.js +1 -1
  50. package/dist/translations/et.js +1 -1
  51. package/dist/translations/et.umd.js +1 -1
  52. package/dist/translations/eu.js +1 -1
  53. package/dist/translations/eu.umd.js +1 -1
  54. package/dist/translations/fa.js +1 -1
  55. package/dist/translations/fa.umd.js +1 -1
  56. package/dist/translations/fi.js +1 -1
  57. package/dist/translations/fi.umd.js +1 -1
  58. package/dist/translations/fr.js +1 -1
  59. package/dist/translations/fr.umd.js +1 -1
  60. package/dist/translations/gl.js +1 -1
  61. package/dist/translations/gl.umd.js +1 -1
  62. package/dist/translations/gu.js +1 -1
  63. package/dist/translations/gu.umd.js +1 -1
  64. package/dist/translations/he.js +1 -1
  65. package/dist/translations/he.umd.js +1 -1
  66. package/dist/translations/hi.js +1 -1
  67. package/dist/translations/hi.umd.js +1 -1
  68. package/dist/translations/hr.js +1 -1
  69. package/dist/translations/hr.umd.js +1 -1
  70. package/dist/translations/hu.js +1 -1
  71. package/dist/translations/hu.umd.js +1 -1
  72. package/dist/translations/hy.js +1 -1
  73. package/dist/translations/hy.umd.js +1 -1
  74. package/dist/translations/id.js +1 -1
  75. package/dist/translations/id.umd.js +1 -1
  76. package/dist/translations/it.js +1 -1
  77. package/dist/translations/it.umd.js +1 -1
  78. package/dist/translations/ja.js +1 -1
  79. package/dist/translations/ja.umd.js +1 -1
  80. package/dist/translations/jv.js +1 -1
  81. package/dist/translations/jv.umd.js +1 -1
  82. package/dist/translations/kk.js +1 -1
  83. package/dist/translations/kk.umd.js +1 -1
  84. package/dist/translations/km.js +1 -1
  85. package/dist/translations/km.umd.js +1 -1
  86. package/dist/translations/kn.js +1 -1
  87. package/dist/translations/kn.umd.js +1 -1
  88. package/dist/translations/ko.js +1 -1
  89. package/dist/translations/ko.umd.js +1 -1
  90. package/dist/translations/ku.js +1 -1
  91. package/dist/translations/ku.umd.js +1 -1
  92. package/dist/translations/lt.js +1 -1
  93. package/dist/translations/lt.umd.js +1 -1
  94. package/dist/translations/lv.js +1 -1
  95. package/dist/translations/lv.umd.js +1 -1
  96. package/dist/translations/ms.js +1 -1
  97. package/dist/translations/ms.umd.js +1 -1
  98. package/dist/translations/nb.js +1 -1
  99. package/dist/translations/nb.umd.js +1 -1
  100. package/dist/translations/ne.js +1 -1
  101. package/dist/translations/ne.umd.js +1 -1
  102. package/dist/translations/nl.js +1 -1
  103. package/dist/translations/nl.umd.js +1 -1
  104. package/dist/translations/no.js +1 -1
  105. package/dist/translations/no.umd.js +1 -1
  106. package/dist/translations/oc.js +1 -1
  107. package/dist/translations/oc.umd.js +1 -1
  108. package/dist/translations/pl.js +1 -1
  109. package/dist/translations/pl.umd.js +1 -1
  110. package/dist/translations/pt-br.js +1 -1
  111. package/dist/translations/pt-br.umd.js +1 -1
  112. package/dist/translations/pt.js +1 -1
  113. package/dist/translations/pt.umd.js +1 -1
  114. package/dist/translations/ro.js +1 -1
  115. package/dist/translations/ro.umd.js +1 -1
  116. package/dist/translations/ru.js +1 -1
  117. package/dist/translations/ru.umd.js +1 -1
  118. package/dist/translations/si.js +1 -1
  119. package/dist/translations/si.umd.js +1 -1
  120. package/dist/translations/sk.js +1 -1
  121. package/dist/translations/sk.umd.js +1 -1
  122. package/dist/translations/sl.js +1 -1
  123. package/dist/translations/sl.umd.js +1 -1
  124. package/dist/translations/sq.js +1 -1
  125. package/dist/translations/sq.umd.js +1 -1
  126. package/dist/translations/sr-latn.js +1 -1
  127. package/dist/translations/sr-latn.umd.js +1 -1
  128. package/dist/translations/sr.js +1 -1
  129. package/dist/translations/sr.umd.js +1 -1
  130. package/dist/translations/sv.js +1 -1
  131. package/dist/translations/sv.umd.js +1 -1
  132. package/dist/translations/th.js +1 -1
  133. package/dist/translations/th.umd.js +1 -1
  134. package/dist/translations/ti.js +1 -1
  135. package/dist/translations/ti.umd.js +1 -1
  136. package/dist/translations/tk.js +1 -1
  137. package/dist/translations/tk.umd.js +1 -1
  138. package/dist/translations/tr.js +1 -1
  139. package/dist/translations/tr.umd.js +1 -1
  140. package/dist/translations/tt.js +1 -1
  141. package/dist/translations/tt.umd.js +1 -1
  142. package/dist/translations/ug.js +1 -1
  143. package/dist/translations/ug.umd.js +1 -1
  144. package/dist/translations/uk.js +1 -1
  145. package/dist/translations/uk.umd.js +1 -1
  146. package/dist/translations/ur.js +1 -1
  147. package/dist/translations/ur.umd.js +1 -1
  148. package/dist/translations/uz.js +1 -1
  149. package/dist/translations/uz.umd.js +1 -1
  150. package/dist/translations/vi.js +1 -1
  151. package/dist/translations/vi.umd.js +1 -1
  152. package/dist/translations/zh-cn.js +1 -1
  153. package/dist/translations/zh-cn.umd.js +1 -1
  154. package/dist/translations/zh.js +1 -1
  155. package/dist/translations/zh.umd.js +1 -1
  156. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x473a8c,Plugin as _0x421958,PendingActions as _0x1a8b56,Context as _0xa66473}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x59ca19,CKEditorError as _0x355792,Collection as _0x4beb38,global as _0x1539e6,version as _0x24f632,uid as _0xe943f7,KeystrokeHandler as _0x331e42}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x42877b,View as _0x38d5f2,ListView as _0x3f1c03,ListItemView as _0x44e429,LabelView as _0x83b473,BalloonPanelView as _0x3fecc8,clickOutsideHandler as _0x4103bc,BodyCollection as _0x3f9537}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0xb2c34,History as _0x4e055c,NoOperation as _0x3ce29c,InsertOperation as _0x5a7cbb,MarkerOperation as _0x1896c0,RootAttributeOperation as _0x356a7c,transformOperationSets as _0x5d792c,OperationFactory as _0x436986}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x5f5731}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2dbd39,WEB_SOCKET_GATEWAY_STATES as _0x58a0b4,CollaborativeEditingService as _0x3bbcd0,User as _0x1da5c7,CommentsService as _0xac1ab2,TrackChangesService as _0x254a50,RevisionHistoryService as _0x5e7b20,EditorService as _0x1f796e}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x113a53,UserView as _0x5287f8}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x1339fb}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x4bb92f,TrackChanges as _0x599a21}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x3b7042,Comments as _0x399a16,CommentsEditing as _0x35f9fe}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x51eb43}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x1f3cb2}from'es-toolkit/compat';class z extends _0x473a8c{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x2dbd39)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5f5731,_0x42877b];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3619d3){super(_0x3619d3),this['set']('state',_0x58a0b4['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x59ca19())();}['init'](){const _0x23b742=this['context'],_0x2268f8=_0x23b742['plugins']['get'](_0x5f5731),_0x33f6f9=_0x23b742['plugins']['get'](_0x42877b);if(!_0x2268f8['token'])throw new _0x355792('websocketgateway-missing-token',this);if(!_0x2268f8['webSocketUrl'])throw new _0x355792('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'](_0x2268f8['token'],_0x2268f8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x18db32=>{if(this['connection']=_0x18db32,this['bind']('state')['to'](_0x18db32,'state',this,'_isBrowserOffline',(_0x4f1e96,_0xf0097d)=>('connected'!==_0x4f1e96&&(this['_shouldPluginsReconnect']=!0x0),_0xf0097d||_0x4f1e96!==_0x58a0b4['CONNECTED']?_0x58a0b4['DISCONNECTED']:this['state']==_0x58a0b4['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x58a0b4['CONNECTING']):_0x58a0b4['CONNECTED'])),this['connection']['on']('error',(_0x5ab578,_0x4f865f)=>{if('limitExceeded'!==_0x4f865f['code'])throw console['error'](_0x4f865f),new _0x355792('cloudservices-init',null,{'originalError':_0x4f865f});_0x33f6f9['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'});}),!_0x18db32['me'])return new Promise(_0x49ef53=>_0x18db32['on']('change:me',_0x49ef53));})['catch'](_0xd6adb0=>{throw console['error'](_0xd6adb0),new _0x355792('cloudservices-init',null,{'originalError':_0xd6adb0});});}['addToReconnectionStack'](_0x11eda9){if('function'!=typeof _0x11eda9['reconnect'])throw new _0x355792('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x11eda9))throw new _0x355792('websocketgateway-plugin-already-registered',this,{'name':_0x11eda9['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x11eda9);}['removeFromReconnectionStack'](_0x2a1968){this['_reconnectionStack']['delete'](_0x2a1968);}['isInReconnectionStack'](_0xa771f4){return this['_reconnectionStack']['has'](_0xa771f4);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x434c50=>_0x434c50['reconnect']())))['then'](()=>this['state']=_0x58a0b4['CONNECTED'])['catch'](_0x51c40f=>{throw console['error'](_0x51c40f),new _0x355792('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x58a0b4['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x473a8c{['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,_0x113a53];}constructor(_0x4d1737){super(_0x4d1737),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4beb38(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x113a53);}['init'](){const _0x1717b2=this['context']['plugins']['get'](z);this['listenTo'](_0x1717b2,'change:state',(_0x13ffd0,_0x41e8d0,_0x3b2969)=>{if('connected'!==_0x3b2969)this['channelSessions']['forEach'](_0x148663=>_0x148663['clear']()),this['channelConnectedUsers']['forEach'](_0xc346bf=>_0xc346bf['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x360794,_0x5ae973]of this['_registeredSessions'])for(const _0x75548 of _0x5ae973)this['_handleSessionAdd'](_0x360794,_0x75548);}}),this['_createUser'](_0x1717b2['connection']['me'],!0x0);}['register'](_0x1539dc,_0x4001aa){if(this['_registeredSessions']['has'](_0x1539dc))throw new _0x355792('sessions-register-already-registered',null,{'channelId':_0x1539dc});this['_registeredSessions']['set'](_0x1539dc,_0x4001aa),this['channelSessions']['set'](_0x1539dc,new _0x4beb38()),this['channelConnectedUsers']['set'](_0x1539dc,new _0x4beb38()),this['listenTo'](_0x4001aa,'add',(_0x5b1123,_0x507e3d)=>this['_handleSessionAdd'](_0x1539dc,_0x507e3d)),this['listenTo'](_0x4001aa,'remove',(_0x352590,_0x4bec4d)=>this['_handleSessionRemove'](_0x1539dc,_0x4bec4d));for(const _0x158445 of _0x4001aa)this['_handleSessionAdd'](_0x1539dc,_0x158445);}['unregister'](_0x1c6025){if(!this['_registeredSessions']['has'](_0x1c6025))throw new _0x355792('sessions-unregister-not-exist',null,{'channelId':_0x1c6025});const _0x36d2a8=this['_registeredSessions']['get'](_0x1c6025);this['stopListening'](_0x36d2a8);for(const _0x623716 of _0x36d2a8)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1c6025,_0x623716);this['_registeredSessions']['delete'](_0x1c6025),this['channelSessions']['delete'](_0x1c6025),this['channelConnectedUsers']['delete'](_0x1c6025);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x31b5f9){for(const _0x3edcb8 of this['channelSessions']['values']())for(const _0x331861 of _0x3edcb8)if(_0x331861['id']===_0x31b5f9)return _0x331861['user'];}['getUserSessions'](_0x437eaa,_0x37d316){const _0x3abf47=_0x37d316?[this['channelSessions']['get'](_0x37d316)]:this['channelSessions']['values'](),_0x55420f=new Set();for(const _0x320aa7 of _0x3abf47)for(const _0x1969e7 of _0x320aa7)_0x1969e7['user']['id']===_0x437eaa['id']&&_0x55420f['add'](_0x1969e7['id']);return _0x55420f;}['getUserRole'](_0x5ac836){for(const _0x667232 of this['channelSessions']['values']())for(const _0xeab249 of _0x667232)if(_0xeab249['user']===_0x5ac836)return _0xeab249['role'];}['_handleSessionAdd'](_0x325b22,_0xff0edf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1b21cb=_0xff0edf['user'],_0x3d71ee=this['_users']['getUser'](_0x1b21cb['id'])||this['_createUser'](_0x1b21cb),_0x452630=Object['assign']({},_0xff0edf,{'user':_0x3d71ee});if(this['channelSessions']['get'](_0x325b22)['add'](_0x452630),!_0x1b21cb['hiddenInPresenceList']){const _0x56196b=this['channelConnectedUsers']['get'](_0x325b22);_0x56196b['has'](_0x3d71ee['id'])||_0x56196b['add'](_0x3d71ee),this['allConnectedUsers']['has'](_0x3d71ee['id'])||_0x1b21cb['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3d71ee,_0x3d71ee['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x325b22,{'channelId':_0x325b22,'session':_0x452630});}['_handleSessionRemove'](_0x38efb3,_0x499e6c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x58800f=this['channelConnectedUsers']['get'](_0x38efb3),_0x21ff1a=_0x499e6c['user'];_0x21ff1a['id']&&(this['channelSessions']['get'](_0x38efb3)['remove'](_0x499e6c['id']),_0x58800f['has'](_0x21ff1a['id'])&&!this['getUserSessions'](_0x21ff1a,_0x38efb3)['size']&&_0x58800f['remove'](_0x21ff1a['id']),this['allConnectedUsers']['get'](_0x21ff1a['id'])&&!this['getUserSessions'](_0x21ff1a)['size']&&this['allConnectedUsers']['remove'](_0x21ff1a['id']));}['_createUser'](_0x2cd23e,_0x32c43f){const _0x5aea91=this['_users']['addUser'](_0x2cd23e);return _0x32c43f&&this['_users']['defineMe'](_0x2cd23e['id']),_0x5aea91['orderNumber']=this['_uniqueUsersCount']++,_0x5aea91;}}class K extends _0x421958{['_domEmitter']=new(_0x59ca19())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5c257b=this['editor'],_0x529bcc=_0x5c257b['plugins']['get'](Y);_0x5c257b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x52e2d3,{writer:_0x517dbc})=>function(_0x40279b,_0x5265fa,_0x377803,_0x36b89b){const _0x140247=_0x40279b['markerName']['split'](':')[0x2],_0x7f3d7b=_0x377803['getUserBySessionId'](_0x140247);if(!_0x7f3d7b||_0x140247===_0x377803['mySessionId'])return;if(!_0x36b89b['model']['schema']['checkChild'](_0x40279b['markerRange']['start'],'$text'))return;const _0x1f1af0={'class':'ck-user__marker\x20'+_0x7f3d7b['color']['getMarkerClass'](),'style':Q(_0x7f3d7b),'data-name':_0x7f3d7b['name'],'data-session-id':_0x140247},_0x223713=_0x36b89b['model']['markers']['get'](_0x40279b['markerName']),_0x9231a5=_0x223713['getStart'](),_0x32f258=_0x9231a5['nodeAfter'],_0x5b13dc=_0x36b89b['model']['schema'];if(_0x32f258&&_0x5b13dc['isObject'](_0x32f258)&&_0x5b13dc['isInline'](_0x32f258)&&!_0x36b89b['model']['markers']['get']('user:range:'+_0x140247)['getRange']()['isCollapsed'])return;const _0x4c9888=_0x9231a5['parent'];return _0x36b89b['model']['schema']['isLimit'](_0x4c9888)&&!_0x36b89b['model']['hasContent'](_0x4c9888)&&(_0x1f1af0['contenteditable']=!0x1),function(_0x11a334,_0x42035d,_0x317b76){const _0x4f16a0=_0x11a334['createUIElement']('span',_0x42035d);return _0x11a334['setCustomProperty']('userPositionMarker',!0x0,_0x4f16a0),_0x4f16a0['render']=function(_0x264160){const _0x1b9576=this['toDomElement'](_0x264160),_0x5c3ec7=document['createElement']('span');return _0x5c3ec7['classList']['add']('ck-user__marker-tooltip'),_0x5c3ec7['setAttribute']('contenteditable','false'),_0x5c3ec7['setAttribute']('spellcheck','false'),_0x5c3ec7['textContent']=_0x317b76['name'],_0x1b9576['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5c3ec7['outerHTML']+'⁠',_0x1b9576['addEventListener']('mouseenter',()=>{_0x1b9576['classList']['add']('ck-user__marker_hovered');}),_0x1b9576['addEventListener']('mouseleave',()=>{_0x1b9576['classList']['remove']('ck-user__marker_hovered');}),_0x1b9576;},_0x4f16a0['isSimilar']=function(_0x318381){return!(!this['getCustomProperty']('userPositionMarker')||!_0x318381['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x318381['getAttribute']('data-session-id'));},_0x4f16a0;}(_0x5265fa,_0x1f1af0,_0x7f3d7b);}(_0x52e2d3,_0x517dbc,_0x529bcc,_0x5c257b)}),_0x5c257b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x48635f=>function(_0x19ec3a,_0x3766d7){const _0x292f8f=_0x19ec3a['markerName']['split'](':')[0x2];if(_0x292f8f===_0x3766d7['mySessionId'])return null;const _0x5fc3b2=_0x3766d7['getUserBySessionId'](_0x292f8f);if(!_0x5fc3b2)return{'id':_0x292f8f,'classes':[]};return{'id':_0x292f8f,'classes':['ck-user__selection',_0x5fc3b2['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5fc3b2),'data-session-id':_0x292f8f},'priority':0x7d0+_0x5fc3b2['orderNumber']};}(_0x48635f,_0x529bcc)}),function(_0x33dc61){const _0x5456c8=_0x33dc61['model'],_0x4c0fa6=new Map(),_0x12e848=_0x33dc61['plugins']['get'](Y);_0x5456c8['markers']['on']('update:user:range',(_0x1d7e06,_0x2b456c,_0x818964,_0x2afdfb)=>{if(!_0x2afdfb&&_0x4c0fa6['get'](_0x2b456c['name']))return _0x4c0fa6['get'](_0x2b456c['name'])['detach'](),void _0x4c0fa6['delete'](_0x2b456c['name']);const _0x417d66=_0x2b456c['name']['split'](':')[0x2];if(_0x417d66===_0x12e848['mySessionId'])return;const _0x80e161='user:position:'+_0x417d66;_0x5456c8['markers']['has'](_0x80e161)&&_0x33dc61['editing']['reconvertMarker'](_0x80e161),_0x2b456c['on']('change:range',(_0x4ddd7e,_0x42220b,_0x27c987)=>{if('$graveyard'!=_0x42220b['root']['rootName']&&'$graveyard'==_0x2b456c['getRange']()['root']['rootName']&&!_0x4c0fa6['has'](_0x2b456c['name'])){const _0x2d3192=_0x5456c8['schema']['getNearestSelectionRange'](_0x27c987['deletionPosition']);if(_0x2d3192){const _0x3b5ee3=_0xb2c34['fromRange'](_0x2d3192);_0x4c0fa6['set'](_0x2b456c['name'],_0x3b5ee3),_0x3b5ee3['on']('change:range',(_0x9761fc,_0x4b5522,_0x19239c)=>{if('$graveyard'==_0x3b5ee3['root']['rootName']){const _0x2b1e43=_0x5456c8['schema']['getNearestSelectionRange'](_0x19239c['deletionPosition']);_0x2b1e43?(_0x3b5ee3['start']=_0x2b1e43['start'],_0x3b5ee3['end']=_0x2b1e43['end']):(_0x4c0fa6['delete'](_0x2b456c['name']),_0x3b5ee3['detach']());}});}}});}),_0x5456c8['document']['on']('change',()=>{_0x4c0fa6['size']>0x0&&_0x5456c8['enqueueChange']({'isUndoable':!0x1},_0x466001=>{for(const [_0x180e19,_0xfcf6c3]of _0x4c0fa6)'$graveyard'==_0x5456c8['markers']['get'](_0x180e19)['getRange']()['root']['rootName']&&(J(_0x180e19['split'](':')[0x2],_0xfcf6c3['toRange'](),_0x5456c8,_0x466001),_0xfcf6c3['detach']());_0x4c0fa6['clear']();});});}(_0x5c257b),this['_domEmitter']['listenTo'](_0x1539e6['document'],'keydown',(_0x3469b3,{key:_0x4b72c8})=>{'Escape'===_0x4b72c8&&function(_0x189591){_0x189591['editing']['view']['change'](_0x7ddff3=>{for(const _0x51cfbf of _0x189591['model']['markers']){if(!_0x51cfbf['name']['startsWith']('user:position'))continue;const _0x3f30bd=_0x189591['editing']['mapper']['markerNameToElements'](_0x51cfbf['name']);if(_0x3f30bd){for(const _0x460966 of _0x3f30bd)_0x7ddff3['removeClass']('ck-user__marker_hovered',_0x460966);}}});}(_0x5c257b);},{'useCapture':!0x0});}['afterInit'](){const _0x5288c2=this['editor'],_0xfe7828=_0x5288c2['commands']['get']('undo');_0xfe7828&&_0x5288c2['model']['on']('applyOperation',(_0x16425d,_0x243ad0)=>{const _0x59fd6d=_0x243ad0[0x0];if(!_0x59fd6d['isDocumentOperation'])return;if('marker'!=_0x59fd6d['type']||!_0x59fd6d['name']['startsWith']('user:'))return;const _0xfe39f4=_0x59fd6d['batch'];_0xfe7828['_createdBatches']['has'](_0xfe39f4)&&(_0x59fd6d['newRange']=_0x59fd6d['oldRange']?_0x5288c2['model']['createRange'](_0x59fd6d['oldRange']['start'],_0x59fd6d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xeab260=this['editor'],_0x53a8b1=_0xeab260['model']['document'],_0x3612ee=_0xeab260['plugins']['get'](Y);_0xeab260['model']['enqueueChange']({'isUndoable':!0x1},_0x3fa1da=>{const _0x3ec01f='user:range:'+_0x3612ee['mySessionId'],_0xca0280='user:position:'+_0x3612ee['mySessionId'],_0x25de46=_0xeab260['model']['markers']['has'](_0x3ec01f);_0xeab260['editing']['view']['hasDomSelection']?J(_0x3612ee['mySessionId'],_0x53a8b1['selection']['getFirstRange'](),_0xeab260['model'],_0x3fa1da):_0x25de46&&(_0x3fa1da['removeMarker'](_0x3ec01f),_0x3fa1da['removeMarker'](_0xca0280));});}}function J(_0x3069be,_0x2aa929,_0x121224,_0x9e6b84){const _0xd4f7d0='user:range:'+_0x3069be,_0x40a300='user:position:'+_0x3069be,_0x321a1e=_0x2aa929['getContainedElement']();let _0x13ce0e=_0x2aa929['start'];if(_0x321a1e&&_0x321a1e['is']('element','tableCell')){const _0x494183=function(_0xbdbb3,_0x5442e8){for(const _0x456da8 of _0xbdbb3['getPositions']())if(_0x5442e8['schema']['checkChild'](_0x456da8,'$text'))return _0x456da8;}(_0x2aa929,_0x121224);_0x494183&&(_0x13ce0e=_0x494183,_0x2aa929=_0x9e6b84['createRange'](_0x13ce0e));}const _0x19f15c=_0x9e6b84['createRange'](_0x13ce0e);_0x121224['markers']['has'](_0xd4f7d0)?(_0x9e6b84['updateMarker'](_0xd4f7d0,{'range':_0x2aa929}),_0x9e6b84['updateMarker'](_0x40a300,{'range':_0x19f15c})):(_0x9e6b84['addMarker'](_0xd4f7d0,{'range':_0x2aa929,'usingOperation':!0x0}),_0x9e6b84['addMarker'](_0x40a300,{'range':_0x19f15c,'usingOperation':!0x0}));}function Q(_0x3938e2){return'--ck-user-color:'+_0x3938e2['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3938e2['color']['getColorAlphaVariable']()+';';}function X(_0xb52cfd,_0x805541,_0x379fd9){const _0x2c2dda=_0xb52cfd['t'],t=_0xb52cfd['t'];switch(_0x805541){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 _0x2c2dda({'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'},_0x379fd9);default:return'';}}let Z=0x1;class tt extends _0x421958{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3bbcd0)());['_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,_0x1a8b56,_0x113a53,_0x42877b];}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 _0x3171f5=this['serverHistory']['getOperations']();for(let _0x18a300=_0x3171f5['length']-0x1;_0x18a300>=0x0;_0x18a300--){const _0x106345=_0x3171f5[_0x18a300];if(!this['_disconnectionOperations']['has'](_0x106345))return _0x106345['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3b10b9){if(super(_0x3b10b9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4e055c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x355792('collaboration-missing-channelid',this);const _0x383e0a=_0x3b10b9['config']['get']('cloudServices.bundleVersion')||_0x24f632;this['_service']=new tt['CollaborativeEditingService'](_0x383e0a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1339fb(),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 _0xf71158=this['editor'],_0x563238=_0xf71158['plugins']['get'](_0x113a53),_0x270cf4=_0xf71158['plugins']['get'](z);this['listenTo'](_0x563238,'getOperationAuthor',(_0x36971c,_0x201c45)=>{const _0xe2ff90=_0x201c45[0x0];_0xe2ff90['_authorId']&&(_0x36971c['return']=_0x563238['getUser'](_0xe2ff90['_authorId']),_0x36971c['stop']()),null===_0xe2ff90['_authorId']&&(_0x36971c['return']=null,_0x36971c['stop']());},{'priority':'high'}),this['listenTo'](_0xf71158['model']['document']['selection'],'change:range',(_0x4f30d9,_0x4ae6a0)=>{_0x4ae6a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xf71158['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xf71158['model']['on']('applyOperation',(_0x30e847,_0x498a18)=>{const _0x16408b=_0x498a18[0x0];_0x16408b['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x16408b),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x270cf4,'state',this,'_hasSynchronizationProblem',(_0x230ec3,_0x24c88e)=>'connected'===_0x230ec3&&!_0x24c88e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xf71158['disableReadOnlyMode']('rtc-offline'):_0xf71158['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xf71158['disableReadOnlyMode']('rtc-offline'):_0xf71158['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1e321a=this['editor']['plugins']['get'](Y),_0x4f14ed=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1e321a['unregister'](this['_channelId']);const _0x5ae492=await this['_service']['reconnect'](_0x4f14ed['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5ae492)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1f7085=await this['_service']['getConnectedSessions']();_0x1e321a['register'](this['_channelId'],_0x1f7085),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2452ad){if(function(_0x420ad2){return'404'===_0x420ad2['code'];}(_0x2452ad)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x460a73){return'409'===_0x460a73['code'];}(_0x2452ad)){const _0x5385a6=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'](_0x5385a6);}else{if(!(_0x2452ad instanceof et))throw _0x2452ad;this['_handleReconnectionError']();}}}}['destroy'](){const _0x5a9107=this['editor']['plugins']['get'](z),_0x2d4098=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2d4098['channelSessions']['has'](this['_channelId'])&&_0x2d4098['unregister'](this['_channelId']),_0x5a9107['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4745ef){if(this['sessionId']!==_0x4745ef['sessionId']&&this['_lastSyncedOperationId']!==_0x4745ef['lastOperationId'])throw new et();return this['sessionId']=_0x4745ef['sessionId'],this['_handleServerResponse']([],{..._0x4745ef,'wereChangesApplied':!0x1,'data':_0x4745ef['data']},'reconnect');}async['_connectService'](_0x225288,_0xcacb85=!0x1){const {connection:_0x40d3ec}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x40d3ec,this['_channelId'])['then'](_0x2d5287=>this['_initSessionsHandling'](_0x2d5287))['catch'](_0x29a327=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x29a327);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5c5c51,_0xbaac03)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xbaac03);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5cac22=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x225288);this['_isPendingUpdate']=!0x0;const _0xf19806=await this['_service']['connect'](_0x40d3ec,this['_compressOperations'](_0x225288),_0x5cac22);if(this['sessionId']=_0xf19806['sessionId'],_0xcacb85){if(!_0xf19806['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xf19806['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x225288,_0xf19806,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xf19806,_0x225288);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x14eca9=this['editor']['plugins']['get'](Y),_0x298070=this['editor']['plugins']['get'](K),_0x368e2b=_0x14eca9['channelSessions']['get'](this['_channelId']);_0x368e2b&&_0x368e2b['length']>0x1?_0x298070['createUserMarkerOperations']():this['listenTo'](_0x14eca9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x14eca9['channelSessions']['get'](this['_channelId'])['length']&&_0x298070['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2c937e,_0x1dca49,_0x146745,_0x577a51){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1dca49){const _0x4cc748=this['_decompressOperations'](_0x146745,_0x577a51);await this['_fetchMissingUsers'](_0x4cc748),this['_handleExternalOperations'](_0x4cc748,_0x1dca49,_0x146745['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1f540d}=this['editor'];let _0x536b5f;try{_0x536b5f=await this['_service']['getDocumentDetails']();}catch{const _0x3d9243=X(_0x1f540d,'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'](_0x3d9243);}const _0x291558=_0x536b5f['currentDocumentSession']||_0x536b5f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x291558['lastOperationId']){const _0x591aa5=X(_0x1f540d,'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'](_0x591aa5);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xb09f0e){const _0x5bdaee=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5bdaee,'sessionAdd:'+this['_channelId'],(_0x2fb092,{session:_0x9080da})=>{if(_0x9080da['id']===_0x5bdaee['mySessionId']){_0x2fb092['off']();const _0x37af23=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xb409bb=_0x9080da['permissions'];_0x37af23&&_0x37af23['isEnabled']&&(_0xb409bb=_0xb409bb['filter'](_0x3f327d=>'document:write'!==_0x3f327d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xb409bb,this['_channelId']);}}),_0x5bdaee['register'](this['_channelId'],_0xb09f0e);}['_initThrowingOnDataSet'](){const _0x692328=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x50a6f8)=>{if(!_0x50a6f8[_0x50a6f8['length']-0x1]['suppressErrorInCollaboration'])throw new _0x355792('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x692328['apply'](this['editor']['data'],_0x50a6f8);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5a3a62,[_0x5f28d4])=>{if(this['_document']['version'])throw new _0x355792('realtimecollaborationclient-init-document-already-initialized',this);_0x5a3a62['stop'](),this['_setPendingAction']();const _0x302b7f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2b7cf1])=>!_0x2b7cf1['lazyLoad'])['map'](([_0x9aa461,_0x3c4e1e])=>[_0x9aa461,_0x3c4e1e['modelAttributes']||{}])),_0x81aa5a=this['_getOperationsFromInitData'](_0x5f28d4,_0x302b7f);0x0==_0x81aa5a['length']&&_0x81aa5a['push'](new _0x3ce29c(0x0)),_0x5a3a62['return']=this['_connectService'](_0x81aa5a)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1bdf5c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1bdf5c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1bf3ed,[_0x32d243,_0x2c2b4f])=>{_0x1bf3ed['stop']();const _0x48f2e6=this['editor']['model']['document']['getRoot'](_0x32d243);if(!this['_knownRootNames']['has'](_0x32d243)){const _0xdba9b9=_0x2c2b4f&&_0x2c2b4f['data']?_0x2c2b4f['data']:'',_0x8bf2ea=_0x2c2b4f&&_0x2c2b4f['attributes']?_0x2c2b4f['attributes']:{};await this['_loadRoot'](_0x32d243,_0xdba9b9,_0x8bf2ea);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x48f2e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x48f2e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x3ed72f){const _0x4af9cd=this['editor']['plugins']['get'](_0x113a53),{connection:_0x5095e1}=this['editor']['plugins']['get'](z),_0x4ea237=new Set();for(const _0x10f212 of _0x3ed72f){const _0x36fa02=_0x10f212['_authorId'];_0x36fa02&&!_0x4af9cd['getUser'](_0x36fa02)&&_0x4ea237['add'](_0x36fa02);}if(0x0===_0x4ea237['size'])return;const _0x28c7a7=await _0x1da5c7['getMany'](_0x5095e1,Array['from'](_0x4ea237));for(const _0x2ef333 of _0x28c7a7)_0x4af9cd['getUser'](_0x2ef333['id'])||_0x4af9cd['addUser'](_0x2ef333);}['_getOperationsFromInitData'](_0x1b49b0,_0x18ab37={}){const _0x1e9bce=this['editor']['model'],_0x46a43c=[];let _0x321468=0x0;const _0x56f59d='string'==typeof _0x1b49b0?{'main':_0x1b49b0}:_0x1b49b0;for(const _0x284a58 of Object['keys'](_0x56f59d)){if(!this['_document']['roots']['has'](_0x284a58))throw new _0x355792('realtimecollaborationclient-init-non-existent-root',this);const _0x2ecc98=this['editor']['data']['parse'](_0x56f59d[_0x284a58]),_0xa6b572=this['_document']['getRoot'](_0x284a58),_0x4900d3=new _0x5a7cbb(_0x1e9bce['createPositionAt'](_0xa6b572,0x0),_0x2ecc98,_0x321468++);_0x46a43c['push'](_0x4900d3);for(const [_0x57547f,_0x1cf842]of _0x2ecc98['markers']){const _0x6c9b52=_0x1e9bce['createRange'](_0x1e9bce['createPositionFromPath'](_0xa6b572,_0x1cf842['start']['path']['slice']()),_0x1e9bce['createPositionFromPath'](_0xa6b572,_0x1cf842['end']['path']['slice']())),_0x586520=new _0x1896c0(_0x57547f,null,_0x6c9b52,_0x1e9bce['markers'],!0x0,_0x321468++);_0x46a43c['push'](_0x586520);}}if(_0x18ab37)for(const [_0x5f1317,_0x25225b]of Object['entries'](_0x18ab37)){const _0x484812=_0x1e9bce['document']['getRoot'](_0x5f1317);if(!_0x484812)throw new _0x355792('multi-root-editor-root-attributes-no-root',null);for(const [_0x228da4,_0x41cd20]of Object['entries'](_0x25225b))if(null!==_0x41cd20){const _0x3759ec=new _0x356a7c(_0x484812,_0x228da4,null,_0x41cd20,_0x321468++);_0x46a43c['push'](_0x3759ec);}}return _0x46a43c;}async['_loadRoot'](_0x499e2e,_0x51d32d,_0x2e32bf){this['_getOperationsFromInitData']({[_0x499e2e]:_0x51d32d},{[_0x499e2e]:_0x2e32bf})['forEach']((_0xc6242b,_0x1973d8)=>{_0xc6242b['baseVersion']=this['_document']['version']+_0x1973d8,_0xc6242b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xc6242b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x470a09,_0xb8964e){let _0x4e632e;this['_offset']=_0x470a09['offset'];const _0x3c0e15=_0x470a09['wereChangesApplied']&&!_0x470a09['initData'],_0xfbba4c=_0x3c0e15?0x0:_0x470a09['data']['baseVersion'];if(_0xb8964e['forEach'](_0x3714d1=>{_0x3714d1['_isInit']=!0x0,_0x3714d1['createdAt']=_0x470a09['sessionCreatedAt'],_0x3714d1['_authorId']=null;}),_0x3c0e15)_0x4e632e=_0xb8964e,this['_applyOperationsSet'](_0x4e632e,_0x3c0e15);else{if(_0x470a09['initData']){const _0x243f0c=this['_getOperationsFromInitData'](_0x470a09['initData']);this['_document']['history']['version']=-_0x243f0c['length'],_0x243f0c['forEach'](_0xf899f0=>{_0xf899f0['baseVersion']-=_0x243f0c['length'],_0xf899f0['createdAt']=_0x470a09['sessionCreatedAt'],_0xf899f0['_isInit']=!0x0,_0xf899f0['_authorId']=null;}),this['_applyOperationsSet'](_0x243f0c,!0x0),this['serverHistory']['version']=-_0x243f0c['length']+this['_offset'],this['_updateServerHistory'](_0x243f0c);}this['_document']['history']['version']=_0xfbba4c,_0x4e632e=this['_decompressOperations'](_0x470a09['data'],_0x470a09['metadata']),await this['_fetchMissingUsers'](_0x4e632e),this['_applyOperationsSet'](_0x4e632e,_0x3c0e15);}_0x470a09['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4e632e,_0x470a09['lastOperationId']),this['_lastSyncedOperationId']=_0x470a09['lastOperationId']),this['serverHistory']['version']=_0xfbba4c+this['_offset'],this['_updateServerHistory'](_0x4e632e),_0xb8964e['filter'](_0x3e0f97=>{const _0x3aa414=this['_getAffectedRoot'](_0x3e0f97);return _0x3aa414&&!this['_knownRootNames']['has'](_0x3aa414);})['forEach']((_0x483860,_0x2fb43d)=>{_0x483860['baseVersion']=this['_document']['version']+_0x2fb43d,this['_saveOperationInBuffer'](_0x483860);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa9ba78,_0x30378b){const _0xfac22e=_0x30378b&&_0x30378b['message'];if(_0xfac22e&&_0xfac22e['startsWith']('realtimecollaborationclient'))throw _0x30378b;const _0x120941=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x120941['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x355792(_0xa9ba78,this['editor'],_0xfac22e?{'originalError':_0xfac22e}:void 0x0);}['_saveOperationInBuffer'](_0x7e78d8){this['_knownOperations']['has'](_0x7e78d8)||(this['_knownOperations']['add'](_0x7e78d8),this['_bufferedOperations']['push'](_0x7e78d8),this['_pendingAction']||'marker'==_0x7e78d8['type']&&!_0x7e78d8['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x396c30=!0x1){!_0x396c30&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xd447af=>{_0xd447af&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x371600=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x91775b){return _0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x371600)||this['_crash'](_0x371600['message'],_0x371600);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x423008=>{this['on']('change:_isPendingUpdate',()=>{_0x423008();});});}async['_sendBufferedOperations'](){const _0xdefb47=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xdefb47['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2bfad7=[...this['_bufferedOperations']];for(const _0x34567a of _0x2bfad7)_0x34567a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x34567a);const _0x182da2=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2bfad7),_0xec1fac=Z++,_0x3babd3=this['_compressOperations'](_0x2bfad7),_0x333cd7=await this['_service']['sendOperations'](_0x3babd3,_0x3babd3['baseVersion'],_0x182da2);try{return await this['_handleServerResponse'](_0x2bfad7,_0x333cd7,_0xec1fac);}catch(_0x1386b2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1386b2);}}async['_handleServerResponse'](_0x446028,_0x40965f,_0x3d361a){if('error'in _0x40965f)throw _0x40965f['error'];let _0x1e8935=!0x1;if(_0x40965f['wereChangesApplied']){_0x40965f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x40965f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x376b15=>!_0x446028['includes'](_0x376b15));for(const _0x5bd21f of _0x446028)_0x5bd21f['createdAt']='lastOperationAcceptedAt'in _0x40965f&&_0x40965f['lastOperationAcceptedAt']||void 0x0;st(_0x446028,_0x40965f['version']-_0x446028['length']),this['_updateServerHistory'](_0x446028);const _0xb59b69=_0x446028['filter'](_0x102897=>{if(!_0x102897['_isInit'])return!0x1;const _0x313d10=this['_getAffectedRoot'](_0x102897);return _0x313d10&&!this['_knownRootNames']['has'](_0x313d10);});st(_0xb59b69,this['_document']['version']),this['_applyOperationsSet'](_0xb59b69),_0x1e8935=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x38992f=this['_decompressOperations'](_0x40965f['data'],_0x40965f['metadata'])['filter'](_0x297f11=>_0x297f11['baseVersion']>=this['_lastServerVersion']);_0x38992f['forEach'](_0x2ee663=>this['_addKnownRoot'](_0x2ee663)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4cd16e=>!_0x4cd16e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4cd16e))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x38992f),_0x1e8935=this['_handleExternalOperations'](_0x38992f,_0x40965f['version'],_0x40965f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1e8935?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xb136ea,_0x419c9e,_0x3bc16a){try{const _0x3d9cd2={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x245e2e,operationsB:_0x57b57e,originalOperations:_0x418909}=_0x5d792c(_0xb136ea,this['_bufferedOperations'],_0x3d9cd2);st(_0x245e2e,this['_document']['version']),st(_0x57b57e,_0x419c9e);for(const _0x9d1d57 of _0x245e2e){const _0xf47594=_0x418909['get'](_0x9d1d57);_0x9d1d57['_authorId']=_0xf47594?_0xf47594['_authorId']:null;}_0x3bc16a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb136ea,_0x3bc16a),this['_lastSyncedOperationId']=_0x3bc16a),this['_bufferedOperations']=[..._0x57b57e],this['_applyOperationsSet'](_0x245e2e),this['_updateServerHistory'](_0xb136ea);}catch(_0x45ea09){return console['error'](_0x45ea09),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5cf924,_0x5b2930=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x53ddf1=>{for(const _0x4070cd of _0x5cf924)this['_knownOperations']['add'](_0x4070cd),this['_addKnownRoot'](_0x4070cd),_0x53ddf1['batch']['addOperation'](_0x4070cd),this['editor']['model']['applyOperation'](_0x4070cd);});}['_addKnownRoot'](_0x309f7b){const _0x5f1c01=this['_getAffectedRoot'](_0x309f7b);_0x5f1c01&&this['_knownRootNames']['add'](_0x5f1c01);}['_getAffectedRoot'](_0x4c00e6){let _0x14e9bf,_0x40178a;switch(_0x4c00e6['type']){case'insert':_0x14e9bf=_0x4c00e6['position']['root'];break;case'marker':if(_0x40178a=_0x4c00e6['newRange'],!_0x40178a)return null;_0x14e9bf=_0x40178a['root'];break;case'addRootAttribute':_0x14e9bf=_0x4c00e6['root'];break;case'addRoot':_0x14e9bf=_0x4c00e6['affectedSelectable'];break;case'move':_0x14e9bf=_0x4c00e6['targetPosition']['root'];break;default:return null;}return _0x14e9bf['rootName'];}['_updateServerHistory'](_0x1407bf){_0x1407bf['forEach'](_0x48753d=>{const _0xb72af9=_0x48753d['clone']();_0xb72af9['_authorId']=_0x48753d['_authorId'],_0xb72af9['_isInit']=!!_0x48753d['_isInit'],_0xb72af9['createdAt']=_0x48753d['createdAt'],_0xb72af9['baseVersion']+=this['_offset'],_0x48753d['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xb72af9),this['serverHistory']['addOperation'](_0xb72af9);});}['_handleReconnectionError'](_0x51b378){const _0x276a90=this['editor']['plugins']['get']('Notification'),_0x480e94=this['editor']['locale'];_0x51b378||(_0x51b378=X(_0x480e94,'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.')),_0x276a90['showWarning'](_0x51b378,{'title':X(_0x480e94,'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'](_0x1a8b56)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1a8b56)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x51dbe5){const _0x5361e7=_0x51dbe5['map'](_0x3bf6c0=>_0x3bf6c0['toJSON']());return this['_compressor']['compress'](_0x5361e7);}['_decompressOperations'](_0x1f8083,_0x4927d4){return this['_compressor']['decompress'](_0x1f8083)['map']((_0x585cea,_0x24a0c0)=>{const _0xa1095a='init'==_0x4927d4[_0x24a0c0]['type'];if('InsertOperation'==_0x585cea['__className']){const _0x4a420a=_0x585cea['position']['root'];!this['_document']['getRoot'](_0x4a420a)&&(this['_document']['createRoot']('$root',_0x4a420a)['_isAttached']=!0x1);}const _0x79e711=_0x436986['fromJSON'](_0x585cea,this['_document']);return _0x79e711['wasUndone']=_0x585cea['wasUndone'],_0x79e711['_isInit']=_0xa1095a,_0x79e711['_authorId']=_0xa1095a?null:_0x4927d4[_0x24a0c0]['userId'],_0x79e711['_isDisconnection']='cs:removeUser'===_0x4927d4[_0x24a0c0]['type'],_0x79e711['createdAt']=_0x4927d4[_0x24a0c0]['createdAt'],_0x79e711;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x50d055=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x50d055&&_0x50d055['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x56169c,_0x4858ce){for(const _0x50d809 of _0x56169c)_0x50d809['baseVersion']=_0x4858ce++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x308d80){this['_ignoredOperations']=_0x308d80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1c08f8){let _0x5964fd=_0x1c08f8['length'];for(;_0x5964fd--;){const _0x31b30e=_0x1c08f8[_0x5964fd];if(!this['_ignoredOperations']['has'](_0x31b30e)){if(!this['_operationToId']['has'](_0x31b30e)){const _0x4f71e7=_0xe943f7()['slice'](0x1,0x12);this['_operationToId']['set'](_0x31b30e,_0x4f71e7);}return this['_operationToId']['get'](_0x31b30e);}}}['setIdForTheLastOperation'](_0x13d72c,_0xb503d){if(!_0xb503d)return;let _0x170f42=_0x13d72c['length'];for(;_0x170f42--;){const _0xc7dda5=_0x13d72c[_0x170f42];this['_ignoredOperations']['has'](_0xc7dda5)||this['_operationToId']['set'](_0xc7dda5,_0xb503d);}}}class nt extends _0x421958{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x473a8c{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0xac1ab2)());['_services'];static get['requires'](){return[z,_0x3b7042,Y,_0x113a53];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3156ad){super(_0x3156ad),this['_services']=new Map();}async['init'](){const _0xd337ad=this['context'],_0x39aeca=_0xd337ad['plugins']['get'](_0x3b7042);if(_0xd337ad['plugins']['get'](z)['addToReconnectionStack'](this),_0x39aeca['adapter']={'addCommentThread':async({channelId:_0x10b3f7,threadId:_0x437d9c,comments:_0x187f07,resolvedAt:_0x40f90d,resolvedBy:_0x4379e7,context:_0x3a3a71,attributes:_0x65790b})=>{const _0xc0fd71=await this['_getService'](_0x10b3f7)['addCommentThread']({'commentThreadId':_0x437d9c,'comments':_0x187f07['map'](_0x19f80a=>function(_0x3a11a6,_0x447630,_0x179567){return{'commentThreadId':_0x179567,'commentId':_0x3a11a6['commentId'],'userId':_0x3a11a6['authorId'],'content':_0x3a11a6['content'],'documentId':_0x447630,'createdAt':_0x3a11a6['createdAt'],'attributes':_0x3a11a6['attributes']||{}};}(_0x19f80a,_0x10b3f7,_0x437d9c)),'resolvedAt':_0x40f90d,'resolvedBy':_0x4379e7,'context':_0x3a3a71,'attributes':_0x65790b})['catch'](ct);return{'threadId':_0xc0fd71['commentThreadId'],'comments':_0xc0fd71['comments']};},'getCommentThread':async({channelId:_0x26f2d8,threadId:_0x5b350f})=>{const _0x286072=await this['_getService'](_0x26f2d8)['getCommentThread'](_0x5b350f)['catch'](rt)['catch'](ct);return _0x286072?_0x286072['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x286072]),{'threadId':_0x286072['commentThreadId'],'comments':_0x286072['comments']['map'](at),'context':_0x286072['context'],'resolvedAt':_0x286072['resolvedAt'],'resolvedBy':_0x286072['resolvedBy'],'attributes':_0x286072['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1f9b37,threadId:_0x56f96b,context:_0x9f538c,unlinkedAt:_0xd3e1c6,attributes:_0x538b88})=>this['_getService'](_0x1f9b37)['updateCommentThread']({'commentThreadId':_0x56f96b,'context':_0x9f538c,'attributes':_0x538b88,'unlinkedAt':_0xd3e1c6})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x5cd0e6,threadId:_0xbdc019})=>{const _0xffa04e=await this['_getService'](_0x5cd0e6)['resolveCommentThread'](_0xbdc019)['catch'](rt)['catch'](ct);return{'threadId':_0xffa04e['commentThreadId'],'resolvedAt':_0xffa04e['resolvedAt'],'resolvedBy':_0xffa04e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x640f17,threadId:_0x205716})=>this['_getService'](_0x640f17)['reopenCommentThread'](_0x205716)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x905787,threadId:_0xe14cf3})=>this['_getService'](_0x905787)['removeCommentThread'](_0xe14cf3)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x168f66,threadId:_0x3dadb8,commentId:_0x5195f5,content:_0x50ef98,attributes:_0x56dcc1})=>this['_getService'](_0x168f66)['addComment'](_0x3dadb8,_0x5195f5,_0x50ef98,_0x56dcc1)['catch'](ct),'updateComment':({channelId:_0x96af4b,threadId:_0x56a609,commentId:_0x3ed571,content:_0x29d767,attributes:_0x11ee43})=>this['_getService'](_0x96af4b)['updateComment'](_0x56a609,_0x3ed571,_0x29d767,_0x11ee43)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x43b4f5,threadId:_0x21f9f4,commentId:_0x5a270e})=>this['_getService'](_0x43b4f5)['removeComment'](_0x21f9f4,_0x5a270e)['catch'](rt)['catch'](ct)},_0xd337ad instanceof _0xa66473){const _0xc1eaf4=_0xd337ad['config']['get']('collaboration.channelId'),_0x1a05ab=_0xd337ad['plugins']['get'](Y);await this['_setUpService'](_0xc1eaf4);const _0x30a623=await this['_services']['get'](_0xc1eaf4)['getConnectedSessions']();this['listenTo'](_0x1a05ab,'sessionAdd:'+_0xc1eaf4,(_0x243a07,{session:_0x582485})=>{_0x582485['id']===_0x1a05ab['mySessionId']&&(_0x243a07['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x582485['permissions'],_0xc1eaf4));}),_0x1a05ab['register'](_0xc1eaf4,_0x30a623);}}async['_setUpService'](_0x574ec7){if(this['_services']['has'](_0x574ec7))throw new _0x355792('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x574ec7});const _0x4e682c=this['context']['plugins']['get'](_0x3b7042),_0x3f036e=new ot['CommentsService'](_0x574ec7);this['_services']['set'](_0x574ec7,_0x3f036e),this['listenTo'](_0x3f036e,'commentThreadAdded',(_0x30b9e9,_0x537099)=>{const {commentThreadId:_0x149223,documentId:_0x4a33ff,context:_0x4035e4,attributes:_0x5de0d5,resolvedAt:_0x587818,resolvedBy:_0x52d6a2,comments:_0x3d02c7}=_0x537099;_0x4e682c['getCommentThread'](_0x149223)||_0x4e682c['addCommentThread']({'threadId':_0x149223,'channelId':_0x4a33ff,'comments':_0x3d02c7?_0x3d02c7['map'](at):[],'context':_0x4035e4,'attributes':_0x5de0d5,'resolvedAt':_0x587818,'resolvedBy':_0x52d6a2,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadUpdated',(_0x515db3,{commentThreadId:_0x5e3557,documentId:_0x32bbdc,context:_0x347ceb,unlinkedAt:_0x31d662,attributes:_0xe981b8})=>{_0x4e682c['getCommentThread'](_0x5e3557)&&_0x4e682c['updateCommentThread']({'threadId':_0x5e3557,'channelId':_0x32bbdc,'context':_0x347ceb,'unlinkedAt':_0x31d662,'attributes':_0xe981b8,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadResolved',(_0x8eb5de,{commentThreadId:_0x5b2b9e,resolvedBy:_0x45dc0f,resolvedAt:_0x8bafc6})=>{const _0x118eab=_0x4e682c['getCommentThread'](_0x5b2b9e);_0x118eab&&_0x118eab['resolve']({'resolvedBy':_0x45dc0f,'resolvedAt':_0x8bafc6,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadReopened',(_0x596b8a,{commentThreadId:_0x1f765a})=>{const _0x18d422=_0x4e682c['getCommentThread'](_0x1f765a);_0x18d422&&_0x18d422['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadRemoved',(_0xde083c,{commentThreadId:_0x204936})=>{const _0x391edd=_0x4e682c['getCommentThread'](_0x204936);_0x391edd&&_0x391edd['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentAdded',(_0x592934,_0xf1ee77)=>{const _0x53ed11=_0xf1ee77['commentThreadId'],_0x57f1e6=_0x4e682c['getCommentThread'](_0x53ed11);_0x57f1e6&&_0x57f1e6['addComment']({...at(_0xf1ee77),'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentUpdated',(_0x239719,{commentThreadId:_0x5a31f8,commentId:_0x2f276d,content:_0x5bb3dd,attributes:_0x3a30a8})=>{const _0x245a52=_0x4e682c['getCommentThread'](_0x5a31f8);if(_0x245a52){const _0x54e2ed=_0x245a52['getComment'](_0x2f276d);_0x54e2ed&&_0x54e2ed['update']({'content':_0x5bb3dd,'attributes':_0x3a30a8,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3f036e,'commentRemoved',(_0x2c9ff9,{commentThreadId:_0x4dc01b,commentId:_0x28f96b})=>{const _0x7fc1f4=_0x4e682c['getCommentThread'](_0x4dc01b);if(_0x7fc1f4){const _0x155fc2=_0x7fc1f4['getComment'](_0x28f96b);_0x155fc2&&_0x155fc2['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x574ec7);}['destroy'](){if(this['context']instanceof _0xa66473){const _0x120f12=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x120f12);}}['_terminateService'](_0x546097){if(!this['_services']['has'](_0x546097))throw new _0x355792('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x546097});this['_getService'](_0x546097)['disconnect'](),this['_services']['delete'](_0x546097);}async['reconnect'](){for(const _0x7919f4 of this['_services']['keys']())await this['_connectService'](_0x7919f4);if(this['context']instanceof _0xa66473){const _0x270634=this['context']['config']['get']('collaboration.channelId'),_0x3fe442=this['context']['plugins']['get'](Y);_0x3fe442['unregister'](_0x270634);const _0x154cab=await this['_services']['get'](_0x270634)['getConnectedSessions']();_0x3fe442['register'](_0x270634,_0x154cab);}}async['_connectService'](_0x201a64){const {connection:_0x2ddedd}=this['context']['plugins']['get'](z),_0xdb9e17=this['context']['plugins']['get'](_0x3b7042),_0x1cca93=this['_services']['get'](_0x201a64),_0x309e09=await _0x1cca93['connect'](_0x2ddedd);await this['_fetchMissingUsersForThreads'](_0x309e09);const _0x569b88=new Set(Array['from'](_0xdb9e17['getCommentThreads']({'channelId':_0x201a64}),_0x466739=>_0x466739['id']));for(const _0x41861e of _0x309e09)_0x41861e['deletedAt']||_0x569b88['delete'](_0x41861e['commentThreadId']);for(const _0x13e260 of _0x569b88)_0xdb9e17['getCommentThread'](_0x13e260)['remove']({'isFromAdapter':!0x0});for(const _0x28b001 of _0x309e09){let _0xcc0b60=_0xdb9e17['getCommentThread'](_0x28b001['commentThreadId']);const {commentThreadId:_0x1ccdbb,context:_0x6d6e30,attributes:_0x1e4dc1,resolvedBy:_0x44fb47,resolvedAt:_0x26ef32,unlinkedAt:_0x53bac8,deletedAt:_0x259ede}=_0x28b001;if(_0x259ede)continue;_0xcc0b60||(_0xcc0b60=_0xdb9e17['addCommentThread']({'channelId':_0x201a64,'threadId':_0x1ccdbb,'context':_0x6d6e30,'attributes':_0x1e4dc1||{},'resolvedBy':_0x44fb47,'resolvedAt':_0x26ef32,'unlinkedAt':_0x53bac8,'isFromAdapter':!0x0}));const _0x302f5b=new Set(Array['from'](_0xcc0b60['comments'],_0x20dd7c=>_0x20dd7c['id']));for(const _0x2ad43b of _0x28b001['comments'])_0x302f5b['delete'](_0x2ad43b['commentId']);for(const _0x57bae8 of _0x302f5b)_0xcc0b60['getComment'](_0x57bae8)['remove']({'isFromAdapter':!0x0});for(const _0x100158 of _0x28b001['comments']){const _0x562220=_0xcc0b60['getComment'](_0x100158['commentId']);_0x562220?_0x562220['content']!==_0x100158['content']&&_0x562220['update']({'content':_0x100158['content'],'isFromAdapter':!0x0}):_0xcc0b60['addComment'](Object['assign'](at(_0x100158),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4bced6){if(!this['_services']['has'](_0x4bced6))throw new _0x355792('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4bced6});return this['_services']['get'](_0x4bced6);}async['_fetchMissingUsersForThreads'](_0x51508b){const _0xe83cfb=this['context']['plugins']['get'](_0x113a53),{connection:_0x5b2a10}=this['context']['plugins']['get'](z),_0x133455=new Set();for(const {resolvedBy:_0x3c88b0,comments:_0x116245}of _0x51508b){_0x3c88b0&&!_0xe83cfb['getUser'](_0x3c88b0)&&_0x133455['add'](_0x3c88b0);for(const {userId:_0x514fcc}of _0x116245)_0xe83cfb['getUser'](_0x514fcc)||_0x133455['add'](_0x514fcc);}if(0x0===_0x133455['size'])return;const _0x39cd70=await _0x1da5c7['getMany'](_0x5b2a10,Array['from'](_0x133455));for(const _0x38a4d3 of _0x39cd70)_0xe83cfb['getUser'](_0x38a4d3['id'])||_0xe83cfb['addUser'](_0x38a4d3);}}async function rt(_0xadfdd5){if('404'!==_0xadfdd5['code'])throw _0xadfdd5;}function ct(_0x2d049f){if((_0x3e83da=_0x2d049f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e83da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e83da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e83da;throw _0x2d049f;}function at(_0x31dad1){return{'threadId':_0x31dad1['commentThreadId'],'commentId':_0x31dad1['commentId'],'content':_0x31dad1['content'],'createdAt':_0x31dad1['createdAt'],'authorId':_0x31dad1['userId'],'attributes':_0x31dad1['attributes']||{}};}class ht extends _0x421958{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x254a50)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x4bb92f,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x345789){super(_0x345789);const _0x5c8720=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x5c8720);}['init'](){const _0x4fff95=this['editor']['plugins']['get'](z),_0x2f7bb2=this['editor']['plugins']['get'](_0x4bb92f);return _0x2f7bb2['adapter']={'getSuggestion':async _0x296407=>{await this['_waitForServiceReady']();const _0x2be375=await this['_trackChangesService']['get'](_0x296407)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x2be375]),_0x2be375;},'addSuggestion':async({id:_0x43f883,type:_0x41eb11,data:_0x237573,originalSuggestionId:_0x2f1817,attributes:_0x9e53b3})=>{await this['_waitForServiceReady']();const _0x2c48b8={'id':_0x43f883,'type':_0x41eb11,'data':_0x237573,'originalSuggestionId':_0x2f1817,'attributes':_0x9e53b3},_0x58f17a=await this['_trackChangesService']['add'](_0x43f883,_0x41eb11,_0x237573,_0x2f1817,_0x9e53b3)['catch'](_0x2334d5=>{if(dt(_0x2334d5))return new Promise(_0x34e366=>{this['_bufferedRequests']['set'](_0x43f883,{'resolve':_0x34e366,'suggestionData':_0x2c48b8});});throw _0x2334d5;});return this['_bufferedRequests']['delete'](_0x43f883),_0x58f17a;},'updateSuggestion':async(_0x5deaeb,_0x2a0198)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2a0198['state'])return this['_trackChangesService']['update'](_0x5deaeb,_0x2a0198)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3fb407,_0x5323c6)=>{_0x2f7bb2['hasSuggestion'](_0x5323c6['id'])&&(_0x2f7bb2['getSuggestion'](_0x5323c6['id'])['attributes']=_0x5323c6['attributes']);}),this['_trackChangesService']['connect'](_0x4fff95['connection'])['then'](_0x3a6c72=>(_0x4fff95['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3a6c72)['then'](()=>{for(const _0x1a5460 of _0x3a6c72){_0x2f7bb2['addSuggestionData'](_0x1a5460)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3c0076=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x30c18e}=this['editor']['plugins']['get'](z),_0x1fc6aa=await this['_trackChangesService']['connect'](_0x30c18e);await this['_fetchMissingUsersForThreads'](_0x1fc6aa);for(const {suggestionData:_0x57b0d1,resolve:_0x37bfa7}of this['_bufferedRequests']['values']()){let _0x212c14=_0x1fc6aa['find'](_0x47896f=>_0x47896f['id']===_0x57b0d1['id']);_0x212c14||(_0x212c14=await this['_trackChangesService']['add'](_0x57b0d1['id'],_0x57b0d1['type'],_0x57b0d1['data'],_0x57b0d1['originalSuggestionId'])),_0x37bfa7(_0x212c14);}for(const _0x33b137 of _0x1fc6aa)_0x3c0076['hasSuggestion'](_0x33b137['id'])||_0x3c0076['addSuggestionData'](_0x33b137);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1f9ee9=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5aeb58=>{_0x5aeb58['off'](),_0x1f9ee9();});});}async['_fetchMissingUsersForThreads'](_0x307ab5){const _0x502305=this['editor']['plugins']['get'](_0x113a53),{connection:_0x312bf8}=this['editor']['plugins']['get'](z),_0x37a099=new Set();for(const {authorId:_0x577a4a}of _0x307ab5)_0x502305['getUser'](_0x577a4a)||_0x37a099['add'](_0x577a4a);if(0x0===_0x37a099['size'])return;const _0x18d10b=await _0x1da5c7['getMany'](_0x312bf8,Array['from'](_0x37a099));for(const _0x43e9df of _0x18d10b)_0x502305['getUser'](_0x43e9df['id'])||_0x502305['addUser'](_0x43e9df);}}function lt(_0xd3ef3a){if(dt(_0xd3ef3a))return new Promise(()=>{});throw _0xd3ef3a;}function dt(_0x457617){return _0x457617['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x457617['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x421958{static get['requires'](){return[_0x399a16,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x21668e=this['editor']['plugins']['get'](z),_0x2ef158=this['editor']['plugins']['get'](_0x35f9fe),_0x49e4e7=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x21668e,'change:state',(_0xc5c50b,_0x2acea0,_0x433ba6)=>{_0x2ef158['isThreadsLoadingPaused']='connected'!==_0x433ba6;});}),this['listenTo'](_0x21668e,'change:state',(_0x3136b1,_0x3dd882,_0x351e06)=>{this['editor']['plugins']['get'](_0x3b7042)['switchReadOnly']('connected'!==_0x351e06);}),_0x49e4e7['_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 _0x421958{static get['requires'](){return[ut,ht,_0x599a21];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x421958{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x5e7b20)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x51eb43,Y,_0x113a53];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bb66a){super(_0x1bb66a);const _0x50cf14=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x50cf14);}async['init'](){const _0x124296=this['editor']['plugins']['get'](tt),_0x4ce1fa=_0x124296['serverHistory'],_0x20a16a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4ce1fa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x124296['sessionId']});const _0x3e40c6=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x24f632,_0x415c59=await _0x1f796e['isBundleUploaded'](_0x20a16a['connection'],_0x3e40c6);this['editor']['plugins']['get'](_0x51eb43)['adapter']={'getRevision':async({revisionId:_0x21ed55})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x21ed55)),'updateRevisions':async _0x3a1efb=>{await this['_waitForServiceReady']();const _0x18c734=this['_revisionTracker']['currentRevision'];if(_0x415c59&&0x1===_0x3a1efb['length']&&_0x3a1efb[0x0]['id']===_0x18c734['id'])return _0x3a1efb;for(const _0x2d03b7 of _0x3a1efb)_0x2d03b7['id']===_0x18c734['id']&&(_0x2d03b7['isEmptyCurrent']=_0x2d03b7['fromVersion']===_0x2d03b7['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3a1efb,this['_lastRequestId'])['then'](_0x3cb7e4=>(this['_lastRequestId']=_0x3cb7e4,_0x3a1efb))['catch'](_0x2282c4=>{if(pt(_0x2282c4)||'400'===_0x2282c4['code']&&void 0x0!==_0x2282c4['data']['wrongRequestId']){for(const _0x5ed07b of _0x3a1efb){!this['_revisionTracker']['repository']['getRevision'](_0x5ed07b['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5ed07b['id'],_0x5ed07b,!0x1);}if(pt(_0x2282c4))throw _0x2282c4;return _0x3a1efb;}throw _0x2282c4;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x588945,{revisionsData:_0xbd6797,requestId:_0x49a130})=>{Math['max'](..._0xbd6797['map'](_0x474388=>_0x474388['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xbd6797,_0x49a130);}):this['_handleRevisionsUpdate'](_0xbd6797,_0x49a130);});const {revisions:_0x51c451,requestId:_0x10d9f3}=await this['_revisionHistoryService']['connect'](_0x20a16a['connection']);_0x20a16a['addToReconnectionStack'](this),this['_lastRequestId']=_0x10d9f3,await this['_fetchMissingUsers'](_0x51c451);for(const _0x230456 of _0x51c451)this['_revisionTracker']['addRevisionData'](_0x230456);this['listenTo'](_0x124296,'change:_isConnected',(_0x119e76,_0x539685,_0x3cff13)=>{_0x3cff13&&(this['_oldOffset']=_0x124296['_offset'],_0x119e76['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x20a16a,'state',_0x431b00=>_0x431b00===_0x58a0b4['CONNECTED']);}async['reconnect'](){const _0x271d84=this['editor']['plugins']['get'](z),_0x38d130=this['editor']['plugins']['get'](tt),_0x342628=async()=>{const _0x5a8a9f=this['_revisionTracker']['currentRevision'],_0x41c94c=_0x5a8a9f['id'],_0x5c0818=_0x41c94c!==_0x38d130['sessionId'];if(_0x5c0818){const _0x2f1ba5=_0x38d130['_offset']-this['_oldOffset'],_0x6c092b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5a8a9f['toVersion']+_0x2f1ba5!==_0x6c092b){const _0x3320f7=_0x5a8a9f['fromVersion']+_0x2f1ba5,_0x4f939e=this['editor']['plugins']['get'](_0x113a53),_0x14288a=this['_revisionTracker']['buildRevisionData']({'revision':_0x5a8a9f,'from':_0x3320f7,'to':_0x6c092b});_0x14288a['id']=_0x5a8a9f['id'];const _0x53b642=_0x14288a['authorsIds']['map'](_0x2d78dd=>_0x4f939e['getUser'](_0x2d78dd));_0x5a8a9f['_update']({..._0x14288a,'authors':_0x53b642},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5a8a9f['id'],_0x14288a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x6c092b,(_0x5a8a9f['toVersion']===_0x5a8a9f['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x41c94c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x41c94c),this['_revisionTracker']['_createCurrentRevision'](_0x6c092b));}const {revisions:_0x888ed2,requestId:_0x58cccb}=await this['_revisionHistoryService']['reconnect'](_0x271d84['connection'],this['_lastRequestId']);_0x5c0818&&_0x888ed2['length']>0x0?_0x38d130['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x888ed2),this['_handleRevisionsUpdate'](_0x888ed2,_0x58cccb),this['_revisionTracker']['sendBufferedUpdates']());};return _0x38d130['_isConnected']?_0x342628():new Promise((_0x386ae1,_0xf4f1cf)=>{_0x38d130['once']('change:_isConnected',()=>{_0x342628()['then'](_0x386ae1)['catch'](_0xf4f1cf);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5caeec=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x32091f=>{_0x32091f['off'](),_0x5caeec();});});}['_getLatestVersionFromServerOperations'](){const _0x3a3a14=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x554cd0 of _0x3a3a14)if('marker'!==_0x554cd0['type']||_0x554cd0['affectsData'])return _0x554cd0['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3d0e6e=this['editor']['plugins']['get'](tt);return new Promise(_0x5b83be=>{_0x3d0e6e['_isPendingUpdate']?_0x3d0e6e['once']('change:_isPendingUpdate',()=>{_0x5b83be(this['_getLatestVersionFromServerOperations']());}):_0x5b83be(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x20f4a2,_0x65f73){const _0x3394ee=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x65f73;for(const _0x27dc7a of _0x20f4a2){const _0x563c4a=_0x3394ee['getRevision'](_0x27dc7a['id']);if(_0x563c4a){if((_0x27dc7a['fromVersion']||_0x27dc7a['toVersion'])&&(_0x27dc7a['diffData']=null),_0x563c4a===this['_revisionTracker']['currentRevision']){const _0x24409d=Math['max'](_0x563c4a['toVersion'],_0x27dc7a['toVersion']),_0x659162=Math['max'](_0x563c4a['fromVersion'],_0x27dc7a['fromVersion']);let _0x56e9cd;_0x563c4a['toVersion']===_0x27dc7a['toVersion']&&_0x563c4a['fromVersion']===_0x27dc7a['fromVersion']?(_0x56e9cd=!0x0,this['_preventResendingRevisionData'](_0x27dc7a)):_0x27dc7a['toVersion']===_0x24409d&&_0x27dc7a['fromVersion']===_0x659162?_0x56e9cd=!0x1:(_0x563c4a['toVersion']===_0x24409d&&_0x563c4a['fromVersion']===_0x659162||this['_fixRevision']({'revision':_0x563c4a,'from':_0x659162,'to':_0x24409d}),_0x56e9cd=!0x0),_0x56e9cd&&(delete _0x27dc7a['fromVersion'],delete _0x27dc7a['toVersion'],delete _0x27dc7a['diffData'],delete _0x27dc7a['createdAt'],delete _0x27dc7a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x27dc7a),this['_preventResendingRevisionData'](_0x27dc7a);}else this['_revisionTracker']['addRevisionData'](_0x27dc7a);}const _0x198756=_0x3394ee['getRevisions']();_0x198756['reverse']();for(let _0x4f6cd2=0x0;_0x4f6cd2<_0x198756['length']-0x1;_0x4f6cd2++){const _0x41e33a=_0x198756[_0x4f6cd2],_0x508567=_0x198756[_0x4f6cd2+0x1];if(_0x41e33a['fromVersion']<_0x508567['toVersion']){const _0x1843bf=_0x508567['toVersion'],_0xcefbeb=Math['max'](_0x1843bf,_0x41e33a['toVersion']);this['_fixRevision']({'revision':_0x41e33a,'from':_0x1843bf,'to':_0xcefbeb});}}}['_fixRevision']({revision:_0x464ca7,from:_0x38c1f9,to:_0x3820c3}={}){const _0x560a28=this['editor']['plugins']['get'](_0x113a53),_0x10e4d1=this['_revisionTracker']['buildRevisionData']({'revision':_0x464ca7,'from':_0x38c1f9,'to':_0x3820c3});_0x10e4d1['authors']=_0x10e4d1['authorsIds']['map'](_0x57eb51=>_0x560a28['getUser'](_0x57eb51)),_0x464ca7['_update'](_0x10e4d1);}['_preventResendingRevisionData'](_0x32fc60){const _0x16618={};_0x16618['id']=_0x32fc60['id'];for(const _0x2a05c6 of Object['keys'](_0x32fc60))'id'!==_0x2a05c6&&(_0x16618[_0x2a05c6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x16618['id'],_0x16618,!0x0);}async['_fetchMissingUsers'](_0x2b2224){const _0x21e34f=this['editor']['plugins']['get'](_0x113a53),{connection:_0x455a21}=this['editor']['plugins']['get'](z),_0x302ce6=new Set();for(const _0x451707 of _0x2b2224){for(const _0x5e4972 of _0x451707['authorsIds'])_0x12c4fd(_0x5e4972);_0x451707['creatorId']&&_0x12c4fd(_0x451707['creatorId']);}if(0x0===_0x302ce6['size'])return;const _0xf51145=await _0x1da5c7['getMany'](_0x455a21,Array['from'](_0x302ce6));for(const _0x4795af of _0xf51145)_0x21e34f['getUser'](_0x4795af['id'])||_0x21e34f['addUser'](_0x4795af);function _0x12c4fd(_0x2a21a8){_0x21e34f['getUser'](_0x2a21a8)||_0x302ce6['add'](_0x2a21a8);}}}function pt(_0x4fcf94){return _0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x421958{static get['requires'](){return[_0x51eb43,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x38d5f2{['_collapseAt'];constructor(_0x5a6607,_0x4023df=0x6){super(_0x5a6607);const _0x2e5c78=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4023df,this['bind']('isHidden')['to'](this,'usersCount',_0x166298=>_0x166298<_0x4023df),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2e5c78['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':_0x2e5c78['to']('usersCount',_0x54e9ec=>'+'+(_0x54e9ec-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x38d5f2{['items'];['keystrokes'];constructor(_0x150459){super(_0x150459);const _0x4fd3f5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x331e42(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4fd3f5['if']('hasPopup'),'aria-expanded':_0x4fd3f5['to']('isExpanded',_0x37d342=>this['hasPopup']&&String(_0x37d342)),'aria-label':_0x4fd3f5['to']('hasPopup',_0x955166=>X(_0x150459,_0x955166?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4fd3f5['to']('hasPopup',_0x4a45ff=>!!_0x4a45ff&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4fd3f5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4fd3f5['to'](_0x547c95=>{const _0x5082c2=_0x547c95,_0x56c2d8=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4eb604=document['querySelector']('.ck-balloon-panel_with-arrow');_0x56c2d8?.['contains'](_0x5082c2['relatedTarget'])||_0x4eb604?.['contains'](_0x5082c2['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x45e4ea,_0x45a261,_0x32a1d1)=>{this['element']&&(_0x32a1d1?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 _0x38d5f2{['counterView'];['inlineListView'];constructor(_0x2816af,_0x55d7a0=0x6){super(_0x2816af);const _0x28295e=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x55d7a0),this['inlineListView']=new vt(_0x2816af),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4f19c0 of this['inlineListView']['items'])_0x4f19c0['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',_0x28295e['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x38d5f2{['listWrapperView'];constructor(_0x5c3588,_0x19dd8f){super(_0x5c3588);const _0x25defb=this['bindTemplate'];this['listWrapperView']=new bt(_0x5c3588,_0x19dd8f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5c3588,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x25defb['to'](_0x45a3d5=>{const _0x1467b3=_0x45a3d5,_0x531fbd=document['querySelector']('.ck-presence-list__list'),_0x564a72=document['querySelector']('.ck-balloon-panel_with-arrow');_0x531fbd?.['contains'](_0x1467b3['relatedTarget'])||_0x564a72?.['contains'](_0x1467b3['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x3f1c03{constructor(_0x5d9865,_0x3bcda2){super(_0x5d9865);const _0x269358=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3bcda2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x269358['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x269358['to']('role'),'aria-label':_0x269358['to']('ariaLabel'),'aria-labelledby':_0x269358['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1539e6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x21cdbd=this['element'];_0x21cdbd&&(this['_isScrollable']=Math['max'](_0x21cdbd['scrollHeight'],_0x21cdbd['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x44e429{['userView'];constructor(_0x2bd0eb,_0x42f447,_0x4b433f){super(_0x2bd0eb);const _0x3e463f=this['bindTemplate'];this['userView']=new _0x5287f8(_0x2bd0eb,_0x42f447);const _0x9b9a2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x42f447['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x42f447['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x42f447['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x42f447['color']['getColorVariable'](),'--ck-user-color-alpha':_0x42f447['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4b433f&&(_0x9b9a2b['tag']='button',_0x9b9a2b['on']={'click':_0x3e463f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x9b9a2b);}['focus'](){this['element']['focus']();}}class It extends _0x38d5f2{['userView'];['markerView'];constructor(_0x390a7a,_0x3c588b,_0x3e91e9){super(_0x390a7a);const _0x33781b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5287f8(_0x390a7a,_0x3c588b),this['markerView']=new St(_0x390a7a,_0x3c588b);const _0x252f55=new _0x83b473(_0x390a7a);_0x252f55['template']['tag']='span',_0x252f55['text']=_0x3c588b['name'];const _0x188c7d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x33781b['to']('isFocusable',_0x5d87ae=>!!_0x5d87ae&&0x0),'aria-labelledby':_0x252f55['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x33781b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x33781b['to']('hasTooltip',_0x31aa3c=>!_0x31aa3c),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x252f55]};_0x3e91e9&&(_0x188c7d['tag']='button',_0x188c7d['on']={'click':_0x33781b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x188c7d);}}class St extends _0x38d5f2{constructor(_0xf3ad9d,_0x210e27){super(_0xf3ad9d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x210e27['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x210e27['color']['getColorVariable'](),'--ck-user-color-alpha':_0x210e27['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x473a8c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d20fb){super(_0x1d20fb),this['context']['config']['define']('presenceList',Tt);const _0x108529=_0x1d20fb['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x108529)throw new _0x355792('presencelist-collapseat-invalid-format',this);if(_0x108529<0x1)throw new _0x355792('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4beb38(),this['balloonPanelView']=new _0x3fecc8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x469b83 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x469b83);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1ad830,_0x3285b4)=>{this['_handleUserAdd'](_0x3285b4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1a9f18,_0x3efa3e)=>{this['_handleUserRemove'](_0x3efa3e);});}['_createView'](){const _0x13c0dd=this['context'],_0x2b8415=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5756d9=this['balloonPanelView'];if(!_0x1f3cb2(_0x13c0dd['config']['get']('presenceList.container')))throw new _0x355792('presencelist-missing-container',this);return _0x2b8415['counterView']['bind']('usersCount')['to'](this),_0x2b8415['bind']('isCollapsed')['to'](this,'usersCount',_0x1f93c9=>{const {collapseAt:_0x56b5b2}=_0x13c0dd['config']['get']('presenceList'),_0x53518e=_0x1f93c9>=_0x56b5b2;if(_0x53518e&&!_0x2b8415['inlineListView']['items']['find'](_0x56a1db=>_0x56a1db instanceof wt)){const _0x1ea3bb=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1ea3bb&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2b8415['inlineListView']['items']['add'](_0x2b8415['counterView']);}return _0x53518e||this['hideDropdown'](),_0x53518e;}),_0x2b8415['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3fb449=>{const _0x3cfae3=_0x13c0dd['config']['get']('presenceList'),_0x458f92=new It(_0x13c0dd['locale'],_0x3fb449,!!_0x3cfae3['onClick']);return _0x458f92['bind']('hasTooltip')['to'](_0x2b8415,'isCollapsed',_0x2ce321=>!_0x2ce321),_0x458f92['bind']('isFocusable')['to'](_0x2b8415,'isCollapsed',_0x2be9a6=>!_0x2be9a6),_0x3cfae3['onClick']&&this['listenTo'](_0x458f92,'execute',()=>{this['view']['isCollapsed']||_0x3cfae3['onClick'](_0x3fb449,_0x458f92['element']);}),_0x458f92;}),this['listenTo'](_0x2b8415['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2b8415['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2b8415['inlineListView']['keystrokes']['set']('Enter',(_0x5f293f,_0x2f9165)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2f9165());}),_0x2b8415['render'](),_0x5756d9['render'](),_0x4103bc({'emitter':_0x2b8415,'activator':()=>_0x5756d9['isVisible'],'contextElements':[_0x5756d9['element'],_0x2b8415['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x13c0dd['config']['get']('presenceList.container')['appendChild'](_0x2b8415['element']),this['_bodyCollection']=new _0x3f9537(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2b8415;}['_handleUserAdd'](_0x1cc274){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1cc274['isMe'])return;const _0x1e7112=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1e7112-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4d9dcd=_0x1cc274['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1cc274,_0x4d9dcd);}['_handleUserRemove'](_0x93d4ba){this['usersCount']--;const {collapseAt:_0x15bb41}=this['context']['config']['get']('presenceList'),_0x45a05b=this['usersCount']>=_0x15bb41;if(this['currentDisplayedUsers']['get'](_0x93d4ba['id']))this['currentDisplayedUsers']['remove'](_0x93d4ba['id']);else{if(_0x45a05b&&this['currentDisplayedUsers']['length']+0x1===_0x15bb41-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x45a05b?0x1:0x0)<this['usersCount']){for(const _0x49b009 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x49b009['id'])&&(this['currentDisplayedUsers']['add'](_0x49b009,Math['min'](this['currentDisplayedUsers']['length']-(_0x45a05b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x45a05b?0x1:0x0)===_0x15bb41-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5a9763=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5a9763['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5f0b85}=this['presenceDropdownView'];_0x5f0b85['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4ea6b4=>{if(!_0x5a9763['displayMe']&&_0x4ea6b4['isMe'])return null;const _0x54ced7=new kt(this['context']['locale'],_0x4ea6b4,!!_0x5a9763['onClick']);return _0x5a9763['onClick']&&this['listenTo'](_0x54ced7,'execute',()=>{_0x5a9763['onClick'](_0x4ea6b4,_0x54ced7['element']);}),_0x54ced7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5f0b85['focus'](),_0x5f0b85['checkIfScrollable']();const _0x41609c=(_0x197a1b,_0x1a2527)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1a2527();};_0x5f0b85['keystrokes']['set']('Esc',_0x41609c),_0x5f0b85['keystrokes']['set']('Shift+Tab',_0x41609c),_0x5f0b85['keystrokes']['set']('Tab',(_0x33a309,_0x161b04)=>{!function(_0x57bb1d){const _0x3dd700=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x548502=>_0x548502+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4fe4cd=[...document['body']['querySelectorAll'](_0x3dd700)]['filter'](_0x340271=>_0x340271===document['activeElement']||_0x340271['offsetWidth']+_0x340271['offsetHeight']>0x0)['sort']((_0x1c8a97,_0x3c8741)=>(_0x1c8a97['tabIndex']||0x0)-(_0x3c8741['tabIndex']||0x0)),_0x324db1=_0x4fe4cd['indexOf'](_0x57bb1d),_0x385cf0=_0x4fe4cd[(_0x324db1+0x1)%_0x4fe4cd['length']];_0x385cf0&&_0x385cf0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x161b04();}),_0x5f0b85['focusTracker']['add'](this['view']['element']),_0x5f0b85['focusTracker']['on']('change:isFocused',(_0x166316,_0x440e68,_0x122b29)=>{_0x122b29||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 _0x473a8c{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 _0x56b782,Plugin as _0x19341c,PendingActions as _0x5e3152,Context as _0x5d5394}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5b994f,CKEditorError as _0x2b4c1a,Collection as _0x3ca9e9,global as _0x3d1191,version as _0x45cdfc,uid as _0x42c77e,KeystrokeHandler as _0x32ce2b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2813f5,View as _0x1e867e,ListView as _0x4af250,ListItemView as _0x48f89e,LabelView as _0x2df49d,BalloonPanelView as _0x39d104,clickOutsideHandler as _0x3f118c,BodyCollection as _0x2bbc41}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x330ca4,History as _0x5862fd,NoOperation as _0x4723a8,InsertOperation as _0x5c51d2,MarkerOperation as _0x4c1e0d,RootAttributeOperation as _0x3307e4,transformOperationSets as _0x2962d8,OperationFactory as _0x23d71a}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0xd6965f}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0xd47a40,WEB_SOCKET_GATEWAY_STATES as _0xe9981e,CollaborativeEditingService as _0x33b171,User as _0x17aad5,CommentsService as _0x5bcff5,TrackChangesService as _0x237519,RevisionHistoryService as _0x491b79,EditorService as _0x2d90a6}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x38bcb4,UserView as _0x44a9ad}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5d01fd}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x2d7d19,TrackChanges as _0x1a2f4d}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5d2c1b,Comments as _0x9134b,CommentsEditing as _0x3a2eff}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x49747b}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2f2328}from'es-toolkit/compat';class z extends _0x56b782{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0xd47a40)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xd6965f,_0x2813f5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x362ab7){super(_0x362ab7),this['set']('state',_0xe9981e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5b994f())();}['init'](){const _0xed19f0=this['context'],_0x54304f=_0xed19f0['plugins']['get'](_0xd6965f),_0x10e517=_0xed19f0['plugins']['get'](_0x2813f5);if(!_0x54304f['token'])throw new _0x2b4c1a('websocketgateway-missing-token',this);if(!_0x54304f['webSocketUrl'])throw new _0x2b4c1a('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'](_0x54304f['token'],_0x54304f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x23743e=>{if(this['connection']=_0x23743e,this['bind']('state')['to'](_0x23743e,'state',this,'_isBrowserOffline',(_0x43680a,_0x14fd81)=>('connected'!==_0x43680a&&(this['_shouldPluginsReconnect']=!0x0),_0x14fd81||_0x43680a!==_0xe9981e['CONNECTED']?_0xe9981e['DISCONNECTED']:this['state']==_0xe9981e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe9981e['CONNECTING']):_0xe9981e['CONNECTED'])),this['connection']['on']('error',(_0x4e8ec5,_0x2b1660)=>{if('limitExceeded'!==_0x2b1660['code'])throw console['error'](_0x2b1660),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2b1660});_0x10e517['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'});}),!_0x23743e['me'])return new Promise(_0x4a4963=>_0x23743e['on']('change:me',_0x4a4963));})['catch'](_0x2e17a6=>{throw console['error'](_0x2e17a6),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2e17a6});});}['addToReconnectionStack'](_0x30911d){if('function'!=typeof _0x30911d['reconnect'])throw new _0x2b4c1a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x30911d))throw new _0x2b4c1a('websocketgateway-plugin-already-registered',this,{'name':_0x30911d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x30911d);}['removeFromReconnectionStack'](_0x44191b){this['_reconnectionStack']['delete'](_0x44191b);}['isInReconnectionStack'](_0x5008f3){return this['_reconnectionStack']['has'](_0x5008f3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x43d0d0=>_0x43d0d0['reconnect']())))['then'](()=>this['state']=_0xe9981e['CONNECTED'])['catch'](_0x56e4ac=>{throw console['error'](_0x56e4ac),new _0x2b4c1a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe9981e['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x56b782{['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,_0x38bcb4];}constructor(_0x545518){super(_0x545518),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3ca9e9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x38bcb4);}['init'](){const _0x516391=this['context']['plugins']['get'](z);this['listenTo'](_0x516391,'change:state',(_0x412f76,_0x2f3e41,_0x3cc5b1)=>{if('connected'!==_0x3cc5b1)this['channelSessions']['forEach'](_0x4fdf4b=>_0x4fdf4b['clear']()),this['channelConnectedUsers']['forEach'](_0x43be51=>_0x43be51['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x291d84,_0x5ae03f]of this['_registeredSessions'])for(const _0x3f39dc of _0x5ae03f)this['_handleSessionAdd'](_0x291d84,_0x3f39dc);}}),this['_createUser'](_0x516391['connection']['me'],!0x0);}['register'](_0x2db6de,_0x2203f8){if(this['_registeredSessions']['has'](_0x2db6de))throw new _0x2b4c1a('sessions-register-already-registered',null,{'channelId':_0x2db6de});this['_registeredSessions']['set'](_0x2db6de,_0x2203f8),this['channelSessions']['set'](_0x2db6de,new _0x3ca9e9()),this['channelConnectedUsers']['set'](_0x2db6de,new _0x3ca9e9()),this['listenTo'](_0x2203f8,'add',(_0x88b032,_0x26a0de)=>this['_handleSessionAdd'](_0x2db6de,_0x26a0de)),this['listenTo'](_0x2203f8,'remove',(_0x40cb51,_0x832f53)=>this['_handleSessionRemove'](_0x2db6de,_0x832f53));for(const _0x99f4a0 of _0x2203f8)this['_handleSessionAdd'](_0x2db6de,_0x99f4a0);}['unregister'](_0x3505fd){if(!this['_registeredSessions']['has'](_0x3505fd))throw new _0x2b4c1a('sessions-unregister-not-exist',null,{'channelId':_0x3505fd});const _0x279679=this['_registeredSessions']['get'](_0x3505fd);this['stopListening'](_0x279679);for(const _0x44fe0c of _0x279679)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3505fd,_0x44fe0c);this['_registeredSessions']['delete'](_0x3505fd),this['channelSessions']['delete'](_0x3505fd),this['channelConnectedUsers']['delete'](_0x3505fd);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2d4b11){for(const _0x1d125b of this['channelSessions']['values']())for(const _0xcf1439 of _0x1d125b)if(_0xcf1439['id']===_0x2d4b11)return _0xcf1439['user'];}['getUserSessions'](_0x14ac03,_0x361f2f){const _0x43c4ae=_0x361f2f?[this['channelSessions']['get'](_0x361f2f)]:this['channelSessions']['values'](),_0x2f5d51=new Set();for(const _0x1e733a of _0x43c4ae)for(const _0x2c04ad of _0x1e733a)_0x2c04ad['user']['id']===_0x14ac03['id']&&_0x2f5d51['add'](_0x2c04ad['id']);return _0x2f5d51;}['getUserRole'](_0x14493a){for(const _0x26b69f of this['channelSessions']['values']())for(const _0x502830 of _0x26b69f)if(_0x502830['user']===_0x14493a)return _0x502830['role'];}['_handleSessionAdd'](_0x2e45e4,_0x48e9aa){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x125708=_0x48e9aa['user'],_0x287d8a=this['_users']['getUser'](_0x125708['id'])||this['_createUser'](_0x125708),_0x248a2f=Object['assign']({},_0x48e9aa,{'user':_0x287d8a});if(this['channelSessions']['get'](_0x2e45e4)['add'](_0x248a2f),!_0x125708['hiddenInPresenceList']){const _0x43c0dd=this['channelConnectedUsers']['get'](_0x2e45e4);_0x43c0dd['has'](_0x287d8a['id'])||_0x43c0dd['add'](_0x287d8a),this['allConnectedUsers']['has'](_0x287d8a['id'])||_0x125708['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x287d8a,_0x287d8a['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2e45e4,{'channelId':_0x2e45e4,'session':_0x248a2f});}['_handleSessionRemove'](_0x3bbfcd,_0x252e0d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x486b20=this['channelConnectedUsers']['get'](_0x3bbfcd),_0x35128b=_0x252e0d['user'];_0x35128b['id']&&(this['channelSessions']['get'](_0x3bbfcd)['remove'](_0x252e0d['id']),_0x486b20['has'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b,_0x3bbfcd)['size']&&_0x486b20['remove'](_0x35128b['id']),this['allConnectedUsers']['get'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b)['size']&&this['allConnectedUsers']['remove'](_0x35128b['id']));}['_createUser'](_0x2a2797,_0x6f71fd){const _0x5e27fe=this['_users']['addUser'](_0x2a2797);return _0x6f71fd&&this['_users']['defineMe'](_0x2a2797['id']),_0x5e27fe['orderNumber']=this['_uniqueUsersCount']++,_0x5e27fe;}}class K extends _0x19341c{['_domEmitter']=new(_0x5b994f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3c0fd1=this['editor'],_0x91ea5d=_0x3c0fd1['plugins']['get'](Y);_0x3c0fd1['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3b6553,{writer:_0x2edf0d})=>function(_0x48960a,_0x34445c,_0x4eea54,_0x5ba0be){const _0x41bfa5=_0x48960a['markerName']['split'](':')[0x2],_0x57e87a=_0x4eea54['getUserBySessionId'](_0x41bfa5);if(!_0x57e87a||_0x41bfa5===_0x4eea54['mySessionId'])return;if(!_0x5ba0be['model']['schema']['checkChild'](_0x48960a['markerRange']['start'],'$text'))return;const _0x59a9f7={'class':'ck-user__marker\x20'+_0x57e87a['color']['getMarkerClass'](),'style':Q(_0x57e87a),'data-name':_0x57e87a['name'],'data-session-id':_0x41bfa5},_0x2487ae=_0x5ba0be['model']['markers']['get'](_0x48960a['markerName']),_0x3f4c46=_0x2487ae['getStart'](),_0x10b524=_0x3f4c46['nodeAfter'],_0x319337=_0x5ba0be['model']['schema'];if(_0x10b524&&_0x319337['isObject'](_0x10b524)&&_0x319337['isInline'](_0x10b524)&&!_0x5ba0be['model']['markers']['get']('user:range:'+_0x41bfa5)['getRange']()['isCollapsed'])return;const _0xcae081=_0x3f4c46['parent'];return _0x5ba0be['model']['schema']['isLimit'](_0xcae081)&&!_0x5ba0be['model']['hasContent'](_0xcae081)&&(_0x59a9f7['contenteditable']=!0x1),function(_0x2ec1f5,_0x56bdff,_0x260f64){const _0x1ddc3c=_0x2ec1f5['createUIElement']('span',_0x56bdff);return _0x2ec1f5['setCustomProperty']('userPositionMarker',!0x0,_0x1ddc3c),_0x1ddc3c['render']=function(_0x1105dc){const _0x431cd9=this['toDomElement'](_0x1105dc),_0x5abd3e=document['createElement']('span');return _0x5abd3e['classList']['add']('ck-user__marker-tooltip'),_0x5abd3e['setAttribute']('contenteditable','false'),_0x5abd3e['setAttribute']('spellcheck','false'),_0x5abd3e['textContent']=_0x260f64['name'],_0x431cd9['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5abd3e['outerHTML']+'⁠',_0x431cd9['addEventListener']('mouseenter',()=>{_0x431cd9['classList']['add']('ck-user__marker_hovered');}),_0x431cd9['addEventListener']('mouseleave',()=>{_0x431cd9['classList']['remove']('ck-user__marker_hovered');}),_0x431cd9;},_0x1ddc3c['isSimilar']=function(_0x273a9d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x273a9d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x273a9d['getAttribute']('data-session-id'));},_0x1ddc3c;}(_0x34445c,_0x59a9f7,_0x57e87a);}(_0x3b6553,_0x2edf0d,_0x91ea5d,_0x3c0fd1)}),_0x3c0fd1['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2d46b8=>function(_0x5cf678,_0x15e763){const _0x2e0d28=_0x5cf678['markerName']['split'](':')[0x2];if(_0x2e0d28===_0x15e763['mySessionId'])return null;const _0x2d415a=_0x15e763['getUserBySessionId'](_0x2e0d28);if(!_0x2d415a)return{'id':_0x2e0d28,'classes':[]};return{'id':_0x2e0d28,'classes':['ck-user__selection',_0x2d415a['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2d415a),'data-session-id':_0x2e0d28},'priority':0x7d0+_0x2d415a['orderNumber']};}(_0x2d46b8,_0x91ea5d)}),function(_0x343ce4){const _0x5689ec=_0x343ce4['model'],_0x3ccc83=new Map(),_0x1de9e7=_0x343ce4['plugins']['get'](Y);_0x5689ec['markers']['on']('update:user:range',(_0x1e4410,_0x426fad,_0xf2574b,_0x11f776)=>{if(!_0x11f776&&_0x3ccc83['get'](_0x426fad['name']))return _0x3ccc83['get'](_0x426fad['name'])['detach'](),void _0x3ccc83['delete'](_0x426fad['name']);const _0xf35cfe=_0x426fad['name']['split'](':')[0x2];if(_0xf35cfe===_0x1de9e7['mySessionId'])return;const _0x17aaad='user:position:'+_0xf35cfe;_0x5689ec['markers']['has'](_0x17aaad)&&_0x343ce4['editing']['reconvertMarker'](_0x17aaad),_0x426fad['on']('change:range',(_0x5aab8e,_0x40885a,_0x103936)=>{if('$graveyard'!=_0x40885a['root']['rootName']&&'$graveyard'==_0x426fad['getRange']()['root']['rootName']&&!_0x3ccc83['has'](_0x426fad['name'])){const _0x43f5fb=_0x5689ec['schema']['getNearestSelectionRange'](_0x103936['deletionPosition']);if(_0x43f5fb){const _0x1afe02=_0x330ca4['fromRange'](_0x43f5fb);_0x3ccc83['set'](_0x426fad['name'],_0x1afe02),_0x1afe02['on']('change:range',(_0x6eae5,_0x2e5056,_0x2fc4f3)=>{if('$graveyard'==_0x1afe02['root']['rootName']){const _0x41bf8e=_0x5689ec['schema']['getNearestSelectionRange'](_0x2fc4f3['deletionPosition']);_0x41bf8e?(_0x1afe02['start']=_0x41bf8e['start'],_0x1afe02['end']=_0x41bf8e['end']):(_0x3ccc83['delete'](_0x426fad['name']),_0x1afe02['detach']());}});}}});}),_0x5689ec['document']['on']('change',()=>{_0x3ccc83['size']>0x0&&_0x5689ec['enqueueChange']({'isUndoable':!0x1},_0x18086b=>{for(const [_0x3dd1b0,_0x1e46b0]of _0x3ccc83)'$graveyard'==_0x5689ec['markers']['get'](_0x3dd1b0)['getRange']()['root']['rootName']&&(J(_0x3dd1b0['split'](':')[0x2],_0x1e46b0['toRange'](),_0x5689ec,_0x18086b),_0x1e46b0['detach']());_0x3ccc83['clear']();});});}(_0x3c0fd1),this['_domEmitter']['listenTo'](_0x3d1191['document'],'keydown',(_0x434961,{key:_0x39d5e1})=>{'Escape'===_0x39d5e1&&function(_0x2514cf){_0x2514cf['editing']['view']['change'](_0x2db82a=>{for(const _0x3a1a81 of _0x2514cf['model']['markers']){if(!_0x3a1a81['name']['startsWith']('user:position'))continue;const _0x248eec=_0x2514cf['editing']['mapper']['markerNameToElements'](_0x3a1a81['name']);if(_0x248eec){for(const _0x118587 of _0x248eec)_0x2db82a['removeClass']('ck-user__marker_hovered',_0x118587);}}});}(_0x3c0fd1);},{'useCapture':!0x0});}['afterInit'](){const _0x1e62d7=this['editor'],_0x25bb6a=_0x1e62d7['commands']['get']('undo');_0x25bb6a&&_0x1e62d7['model']['on']('applyOperation',(_0x529308,_0x278f23)=>{const _0x50846d=_0x278f23[0x0];if(!_0x50846d['isDocumentOperation'])return;if('marker'!=_0x50846d['type']||!_0x50846d['name']['startsWith']('user:'))return;const _0x2cfb1a=_0x50846d['batch'];_0x25bb6a['_createdBatches']['has'](_0x2cfb1a)&&(_0x50846d['newRange']=_0x50846d['oldRange']?_0x1e62d7['model']['createRange'](_0x50846d['oldRange']['start'],_0x50846d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3f5e03=this['editor'],_0x384dbe=_0x3f5e03['model']['document'],_0xc21942=_0x3f5e03['plugins']['get'](Y);_0x3f5e03['model']['enqueueChange']({'isUndoable':!0x1},_0x3da481=>{const _0xf0c852='user:range:'+_0xc21942['mySessionId'],_0x2629c8='user:position:'+_0xc21942['mySessionId'],_0x5208c1=_0x3f5e03['model']['markers']['has'](_0xf0c852);_0x3f5e03['editing']['view']['hasDomSelection']?J(_0xc21942['mySessionId'],_0x384dbe['selection']['getFirstRange'](),_0x3f5e03['model'],_0x3da481):_0x5208c1&&(_0x3da481['removeMarker'](_0xf0c852),_0x3da481['removeMarker'](_0x2629c8));});}}function J(_0x37b9a0,_0x4f49a8,_0x5c3cd6,_0x5399cc){const _0x4fe058='user:range:'+_0x37b9a0,_0x16ff79='user:position:'+_0x37b9a0,_0x47f7ea=_0x4f49a8['getContainedElement']();let _0x4e9c6e=_0x4f49a8['start'];if(_0x47f7ea&&_0x47f7ea['is']('element','tableCell')){const _0x28953b=function(_0x5ce646,_0x418d34){for(const _0x501859 of _0x5ce646['getPositions']())if(_0x418d34['schema']['checkChild'](_0x501859,'$text'))return _0x501859;}(_0x4f49a8,_0x5c3cd6);_0x28953b&&(_0x4e9c6e=_0x28953b,_0x4f49a8=_0x5399cc['createRange'](_0x4e9c6e));}const _0x2982d6=_0x5399cc['createRange'](_0x4e9c6e);_0x5c3cd6['markers']['has'](_0x4fe058)?(_0x5399cc['updateMarker'](_0x4fe058,{'range':_0x4f49a8}),_0x5399cc['updateMarker'](_0x16ff79,{'range':_0x2982d6})):(_0x5399cc['addMarker'](_0x4fe058,{'range':_0x4f49a8,'usingOperation':!0x0}),_0x5399cc['addMarker'](_0x16ff79,{'range':_0x2982d6,'usingOperation':!0x0}));}function Q(_0x4521fe){return'--ck-user-color:'+_0x4521fe['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4521fe['color']['getColorAlphaVariable']()+';';}function X(_0x390701,_0x30b8e9,_0x4f7324){const _0x41c40d=_0x390701['t'],t=_0x390701['t'];switch(_0x30b8e9){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 _0x41c40d({'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'},_0x4f7324);default:return'';}}let Z=0x1;class tt extends _0x19341c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x33b171)());['_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,_0x5e3152,_0x38bcb4,_0x2813f5];}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 _0x31074c=this['serverHistory']['getOperations']();for(let _0x20af7a=_0x31074c['length']-0x1;_0x20af7a>=0x0;_0x20af7a--){const _0x11c990=_0x31074c[_0x20af7a];if(!this['_disconnectionOperations']['has'](_0x11c990))return _0x11c990['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x34eca0){if(super(_0x34eca0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5862fd(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b4c1a('collaboration-missing-channelid',this);const _0x4e8826=_0x34eca0['config']['get']('cloudServices.bundleVersion')||_0x45cdfc;this['_service']=new tt['CollaborativeEditingService'](_0x4e8826,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5d01fd(),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 _0xc2ddc7=this['editor'],_0x278114=_0xc2ddc7['plugins']['get'](_0x38bcb4),_0x4d6120=_0xc2ddc7['plugins']['get'](z);this['listenTo'](_0x278114,'getOperationAuthor',(_0x1d777d,_0x9cf90f)=>{const _0xb91109=_0x9cf90f[0x0];_0xb91109['_authorId']&&(_0x1d777d['return']=_0x278114['getUser'](_0xb91109['_authorId']),_0x1d777d['stop']()),null===_0xb91109['_authorId']&&(_0x1d777d['return']=null,_0x1d777d['stop']());},{'priority':'high'}),this['listenTo'](_0xc2ddc7['model']['document']['selection'],'change:range',(_0x49bc20,_0x1915ef)=>{_0x1915ef['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xc2ddc7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xc2ddc7['model']['on']('applyOperation',(_0x20be69,_0x336e66)=>{const _0x15c513=_0x336e66[0x0];_0x15c513['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x15c513),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4d6120,'state',this,'_hasSynchronizationProblem',(_0x44605f,_0x4706b4)=>'connected'===_0x44605f&&!_0x4706b4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x516bba=this['editor']['plugins']['get'](Y),_0x1ae683=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x516bba['unregister'](this['_channelId']);const _0x3d6159=await this['_service']['reconnect'](_0x1ae683['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3d6159)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x470305=await this['_service']['getConnectedSessions']();_0x516bba['register'](this['_channelId'],_0x470305),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3849b4){if(function(_0x314e30){return'404'===_0x314e30['code'];}(_0x3849b4)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x12d4af){return'409'===_0x12d4af['code'];}(_0x3849b4)){const _0x2d1866=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'](_0x2d1866);}else{if(!(_0x3849b4 instanceof et))throw _0x3849b4;this['_handleReconnectionError']();}}}}['destroy'](){const _0x198d09=this['editor']['plugins']['get'](z),_0x157ace=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x157ace['channelSessions']['has'](this['_channelId'])&&_0x157ace['unregister'](this['_channelId']),_0x198d09['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x18e6a5){if(this['sessionId']!==_0x18e6a5['sessionId']&&this['_lastSyncedOperationId']!==_0x18e6a5['lastOperationId'])throw new et();return this['sessionId']=_0x18e6a5['sessionId'],this['_handleServerResponse']([],{..._0x18e6a5,'wereChangesApplied':!0x1,'data':_0x18e6a5['data']},'reconnect');}async['_connectService'](_0xcc972c,_0x2eca72=!0x1){const {connection:_0x115bec}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x115bec,this['_channelId'])['then'](_0xb969de=>this['_initSessionsHandling'](_0xb969de))['catch'](_0x4b504d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4b504d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4adcff,_0x40d952)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x40d952);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x56d3fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcc972c);this['_isPendingUpdate']=!0x0;const _0x3b01bc=await this['_service']['connect'](_0x115bec,this['_compressOperations'](_0xcc972c),_0x56d3fd);if(this['sessionId']=_0x3b01bc['sessionId'],_0x2eca72){if(!_0x3b01bc['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3b01bc['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xcc972c,_0x3b01bc,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3b01bc,_0xcc972c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x450495=this['editor']['plugins']['get'](Y),_0x59284d=this['editor']['plugins']['get'](K),_0x91b566=_0x450495['channelSessions']['get'](this['_channelId']);_0x91b566&&_0x91b566['length']>0x1?_0x59284d['createUserMarkerOperations']():this['listenTo'](_0x450495,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x450495['channelSessions']['get'](this['_channelId'])['length']&&_0x59284d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x51ebde,_0x304be8,_0x56bc74,_0x51967d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x304be8){const _0x2bbd75=this['_decompressOperations'](_0x56bc74,_0x51967d);await this['_fetchMissingUsers'](_0x2bbd75),this['_handleExternalOperations'](_0x2bbd75,_0x304be8,_0x56bc74['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x591134}=this['editor'];let _0x1d9751;try{_0x1d9751=await this['_service']['getDocumentDetails']();}catch{const _0x537d13=X(_0x591134,'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'](_0x537d13);}const _0x246d9e=_0x1d9751['currentDocumentSession']||_0x1d9751['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x246d9e['lastOperationId']){const _0x1b4fab=X(_0x591134,'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'](_0x1b4fab);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x394e71){const _0x34039a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x34039a,'sessionAdd:'+this['_channelId'],(_0x46b29b,{session:_0x27e5ff})=>{if(_0x27e5ff['id']===_0x34039a['mySessionId']){_0x46b29b['off']();const _0x37250d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x92e1f4=_0x27e5ff['permissions'];_0x37250d&&_0x37250d['isEnabled']&&(_0x92e1f4=_0x92e1f4['filter'](_0x4a41d0=>'document:write'!==_0x4a41d0)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x92e1f4,this['_channelId']);}}),_0x34039a['register'](this['_channelId'],_0x394e71);}['_initThrowingOnDataSet'](){const _0x55e2b6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x49e392)=>{if(!_0x49e392[_0x49e392['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b4c1a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x55e2b6['apply'](this['editor']['data'],_0x49e392);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x505a00,[_0x5705f2])=>{if(this['_document']['version'])throw new _0x2b4c1a('realtimecollaborationclient-init-document-already-initialized',this);_0x505a00['stop'](),this['_setPendingAction']();const _0x31a6c2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1dc15d])=>!_0x1dc15d['lazyLoad'])['map'](([_0xedde9b,_0x11a53e])=>[_0xedde9b,_0x11a53e['modelAttributes']||{}])),_0x12906a=this['_getOperationsFromInitData'](_0x5705f2,_0x31a6c2);0x0==_0x12906a['length']&&_0x12906a['push'](new _0x4723a8(0x0)),_0x505a00['return']=this['_connectService'](_0x12906a)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x59ae4c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x59ae4c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1397ef,[_0x496186,_0x47a695])=>{_0x1397ef['stop']();const _0x329db7=this['editor']['model']['document']['getRoot'](_0x496186);if(!this['_knownRootNames']['has'](_0x496186)){const _0x3d8f12=_0x47a695&&_0x47a695['data']?_0x47a695['data']:'',_0xcc55bb=_0x47a695&&_0x47a695['attributes']?_0x47a695['attributes']:{};await this['_loadRoot'](_0x496186,_0x3d8f12,_0xcc55bb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x329db7['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x329db7);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x9b61d9){const _0x13ab50=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x5973de}=this['editor']['plugins']['get'](z),_0x3cc83a=new Set();for(const _0x39757c of _0x9b61d9){const _0x36d2cb=_0x39757c['_authorId'];_0x36d2cb&&!_0x13ab50['getUser'](_0x36d2cb)&&_0x3cc83a['add'](_0x36d2cb);}if(0x0===_0x3cc83a['size'])return;const _0x36db29=await _0x17aad5['getMany'](_0x5973de,Array['from'](_0x3cc83a));for(const _0x31e267 of _0x36db29)_0x13ab50['getUser'](_0x31e267['id'])||_0x13ab50['addUser'](_0x31e267);}['_getOperationsFromInitData'](_0x2e6e6d,_0x4540d7={}){const _0x1f6ed5=this['editor']['model'],_0x49eba6=[];let _0xc39a58=0x0;const _0xa8fcd0='string'==typeof _0x2e6e6d?{'main':_0x2e6e6d}:_0x2e6e6d;for(const _0x437b62 of Object['keys'](_0xa8fcd0)){if(!this['_document']['roots']['has'](_0x437b62))throw new _0x2b4c1a('realtimecollaborationclient-init-non-existent-root',this);const _0x3dded7=this['editor']['data']['parse'](_0xa8fcd0[_0x437b62]),_0x4a4265=this['_document']['getRoot'](_0x437b62),_0x5e211a=new _0x5c51d2(_0x1f6ed5['createPositionAt'](_0x4a4265,0x0),_0x3dded7,_0xc39a58++);_0x49eba6['push'](_0x5e211a);for(const [_0x6886af,_0xfa0c72]of _0x3dded7['markers']){const _0x15ff30=_0x1f6ed5['createRange'](_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['start']['path']['slice']()),_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['end']['path']['slice']())),_0x3b881e=new _0x4c1e0d(_0x6886af,null,_0x15ff30,_0x1f6ed5['markers'],!0x0,_0xc39a58++);_0x49eba6['push'](_0x3b881e);}}if(_0x4540d7)for(const [_0x5ecc21,_0x1fff34]of Object['entries'](_0x4540d7)){const _0x4c79c2=_0x1f6ed5['document']['getRoot'](_0x5ecc21);if(!_0x4c79c2)throw new _0x2b4c1a('multi-root-editor-root-attributes-no-root',null);for(const [_0x29480b,_0x3d944c]of Object['entries'](_0x1fff34))if(null!==_0x3d944c){const _0x51bdd5=new _0x3307e4(_0x4c79c2,_0x29480b,null,_0x3d944c,_0xc39a58++);_0x49eba6['push'](_0x51bdd5);}}return _0x49eba6;}async['_loadRoot'](_0x4ed1f7,_0x3185bf,_0x5821ef){this['_getOperationsFromInitData']({[_0x4ed1f7]:_0x3185bf},{[_0x4ed1f7]:_0x5821ef})['forEach']((_0x4c1571,_0x57a797)=>{_0x4c1571['baseVersion']=this['_document']['version']+_0x57a797,_0x4c1571['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4c1571);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x21edb3,_0x539bdb){let _0xb198d7;this['_offset']=_0x21edb3['offset'];const _0x40b144=_0x21edb3['wereChangesApplied']&&!_0x21edb3['initData'],_0x3cb272=_0x40b144?0x0:_0x21edb3['data']['baseVersion'];if(_0x539bdb['forEach'](_0x160298=>{_0x160298['_isInit']=!0x0,_0x160298['createdAt']=_0x21edb3['sessionCreatedAt'],_0x160298['_authorId']=null;}),_0x40b144)_0xb198d7=_0x539bdb,this['_applyOperationsSet'](_0xb198d7,_0x40b144);else{if(_0x21edb3['initData']){const _0x1d623a=this['_getOperationsFromInitData'](_0x21edb3['initData']);this['_document']['history']['version']=-_0x1d623a['length'],_0x1d623a['forEach'](_0x2d88b6=>{_0x2d88b6['baseVersion']-=_0x1d623a['length'],_0x2d88b6['createdAt']=_0x21edb3['sessionCreatedAt'],_0x2d88b6['_isInit']=!0x0,_0x2d88b6['_authorId']=null;}),this['_applyOperationsSet'](_0x1d623a,!0x0),this['serverHistory']['version']=-_0x1d623a['length']+this['_offset'],this['_updateServerHistory'](_0x1d623a);}this['_document']['history']['version']=_0x3cb272,_0xb198d7=this['_decompressOperations'](_0x21edb3['data'],_0x21edb3['metadata']),await this['_fetchMissingUsers'](_0xb198d7),this['_applyOperationsSet'](_0xb198d7,_0x40b144);}_0x21edb3['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb198d7,_0x21edb3['lastOperationId']),this['_lastSyncedOperationId']=_0x21edb3['lastOperationId']),this['serverHistory']['version']=_0x3cb272+this['_offset'],this['_updateServerHistory'](_0xb198d7),_0x539bdb['filter'](_0x35a481=>{const _0x41c8c1=this['_getAffectedRoot'](_0x35a481);return _0x41c8c1&&!this['_knownRootNames']['has'](_0x41c8c1);})['forEach']((_0x5404bb,_0x175fe9)=>{_0x5404bb['baseVersion']=this['_document']['version']+_0x175fe9,this['_saveOperationInBuffer'](_0x5404bb);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x453a24,_0x5e6e00){const _0x4d7c3a=_0x5e6e00&&_0x5e6e00['message'];if(_0x4d7c3a&&_0x4d7c3a['startsWith']('realtimecollaborationclient'))throw _0x5e6e00;const _0x2e53d6=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2e53d6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b4c1a(_0x453a24,this['editor'],_0x4d7c3a?{'originalError':_0x4d7c3a}:void 0x0);}['_saveOperationInBuffer'](_0x289a2b){this['_knownOperations']['has'](_0x289a2b)||(this['_knownOperations']['add'](_0x289a2b),this['_bufferedOperations']['push'](_0x289a2b),this['_pendingAction']||'marker'==_0x289a2b['type']&&!_0x289a2b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x31f720=!0x1){!_0x31f720&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x203d64=>{_0x203d64&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x460845=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x26a0cd){return _0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x460845)||this['_crash'](_0x460845['message'],_0x460845);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3a9992=>{this['on']('change:_isPendingUpdate',()=>{_0x3a9992();});});}async['_sendBufferedOperations'](){const _0x3e9b4b=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x3e9b4b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f8207=[...this['_bufferedOperations']];for(const _0x17dbc4 of _0x1f8207)_0x17dbc4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x17dbc4);const _0x10e0f6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f8207),_0x3ae560=Z++,_0xabb57c=this['_compressOperations'](_0x1f8207),_0xda266c=await this['_service']['sendOperations'](_0xabb57c,_0xabb57c['baseVersion'],_0x10e0f6);try{return await this['_handleServerResponse'](_0x1f8207,_0xda266c,_0x3ae560);}catch(_0x3d35c2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3d35c2);}}async['_handleServerResponse'](_0x47e025,_0x4c081e,_0x25abe1){if('error'in _0x4c081e)throw _0x4c081e['error'];let _0x1fb41d=!0x1;if(_0x4c081e['wereChangesApplied']){_0x4c081e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4c081e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x474859=>!_0x47e025['includes'](_0x474859));for(const _0x19f207 of _0x47e025)_0x19f207['createdAt']='lastOperationAcceptedAt'in _0x4c081e&&_0x4c081e['lastOperationAcceptedAt']||void 0x0;st(_0x47e025,_0x4c081e['version']-_0x47e025['length']),this['_updateServerHistory'](_0x47e025);const _0x47f890=_0x47e025['filter'](_0x2d6adc=>{if(!_0x2d6adc['_isInit'])return!0x1;const _0x135b76=this['_getAffectedRoot'](_0x2d6adc);return _0x135b76&&!this['_knownRootNames']['has'](_0x135b76);});st(_0x47f890,this['_document']['version']),this['_applyOperationsSet'](_0x47f890),_0x1fb41d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3a7bb8=this['_decompressOperations'](_0x4c081e['data'],_0x4c081e['metadata'])['filter'](_0x26da24=>_0x26da24['baseVersion']>=this['_lastServerVersion']);_0x3a7bb8['forEach'](_0x291aed=>this['_addKnownRoot'](_0x291aed)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4742cc=>!_0x4742cc['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4742cc))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3a7bb8),_0x1fb41d=this['_handleExternalOperations'](_0x3a7bb8,_0x4c081e['version'],_0x4c081e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1fb41d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x45a551,_0x1ee161,_0x5cc09c){try{const _0x56bf70={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x55440c,operationsB:_0x31d330,originalOperations:_0x5d61ab}=_0x2962d8(_0x45a551,this['_bufferedOperations'],_0x56bf70);st(_0x55440c,this['_document']['version']),st(_0x31d330,_0x1ee161);for(const _0x356bd5 of _0x55440c){const _0x4c8543=_0x5d61ab['get'](_0x356bd5);_0x356bd5['_authorId']=_0x4c8543?_0x4c8543['_authorId']:null;}_0x5cc09c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x45a551,_0x5cc09c),this['_lastSyncedOperationId']=_0x5cc09c),this['_bufferedOperations']=[..._0x31d330],this['_applyOperationsSet'](_0x55440c),this['_updateServerHistory'](_0x45a551);}catch(_0x58bb01){return console['error'](_0x58bb01),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2859ec,_0x5e90c9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4f2ae9=>{for(const _0x2e3b60 of _0x2859ec)this['_knownOperations']['add'](_0x2e3b60),this['_addKnownRoot'](_0x2e3b60),_0x4f2ae9['batch']['addOperation'](_0x2e3b60),this['editor']['model']['applyOperation'](_0x2e3b60);});}['_addKnownRoot'](_0x21a7c4){const _0x301f76=this['_getAffectedRoot'](_0x21a7c4);_0x301f76&&this['_knownRootNames']['add'](_0x301f76);}['_getAffectedRoot'](_0x4a1c8c){let _0x4cee27,_0x364697;switch(_0x4a1c8c['type']){case'insert':_0x4cee27=_0x4a1c8c['position']['root'];break;case'marker':if(_0x364697=_0x4a1c8c['newRange'],!_0x364697)return null;_0x4cee27=_0x364697['root'];break;case'addRootAttribute':_0x4cee27=_0x4a1c8c['root'];break;case'addRoot':_0x4cee27=_0x4a1c8c['affectedSelectable'];break;case'move':_0x4cee27=_0x4a1c8c['targetPosition']['root'];break;default:return null;}return _0x4cee27['rootName'];}['_updateServerHistory'](_0x2638a8){_0x2638a8['forEach'](_0x564cbc=>{const _0x5dbd4f=_0x564cbc['clone']();_0x5dbd4f['_authorId']=_0x564cbc['_authorId'],_0x5dbd4f['_isInit']=!!_0x564cbc['_isInit'],_0x5dbd4f['createdAt']=_0x564cbc['createdAt'],_0x5dbd4f['baseVersion']+=this['_offset'],_0x564cbc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5dbd4f),this['serverHistory']['addOperation'](_0x5dbd4f);});}['_handleReconnectionError'](_0x545970){const _0x7d575b=this['editor']['plugins']['get']('Notification'),_0x998fcb=this['editor']['locale'];_0x545970||(_0x545970=X(_0x998fcb,'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.')),_0x7d575b['showWarning'](_0x545970,{'title':X(_0x998fcb,'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'](_0x5e3152)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5e3152)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5bffe6){const _0x5bad5b=_0x5bffe6['map'](_0xf0ce8a=>_0xf0ce8a['toJSON']());return this['_compressor']['compress'](_0x5bad5b);}['_decompressOperations'](_0x2a122f,_0x572f86){return this['_compressor']['decompress'](_0x2a122f)['map']((_0x59a6e9,_0x4e64cf)=>{const _0x21bb3f='init'==_0x572f86[_0x4e64cf]['type'];if('InsertOperation'==_0x59a6e9['__className']){const _0x1372cd=_0x59a6e9['position']['root'];!this['_document']['getRoot'](_0x1372cd)&&(this['_document']['createRoot']('$root',_0x1372cd)['_isAttached']=!0x1);}const _0x5b0bb1=_0x23d71a['fromJSON'](_0x59a6e9,this['_document']);return _0x5b0bb1['wasUndone']=_0x59a6e9['wasUndone'],_0x5b0bb1['_isInit']=_0x21bb3f,_0x5b0bb1['_authorId']=_0x21bb3f?null:_0x572f86[_0x4e64cf]['userId'],_0x5b0bb1['_isDisconnection']='cs:removeUser'===_0x572f86[_0x4e64cf]['type'],_0x5b0bb1['createdAt']=_0x572f86[_0x4e64cf]['createdAt'],_0x5b0bb1;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xfeb23b=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xfeb23b&&_0xfeb23b['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0xb822e,_0x3757ae){for(const _0x1c9c89 of _0xb822e)_0x1c9c89['baseVersion']=_0x3757ae++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x26f767){this['_ignoredOperations']=_0x26f767,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3313ba){let _0xfd42ce=_0x3313ba['length'];for(;_0xfd42ce--;){const _0x43e1bc=_0x3313ba[_0xfd42ce];if(!this['_ignoredOperations']['has'](_0x43e1bc)){if(!this['_operationToId']['has'](_0x43e1bc)){const _0x465820=_0x42c77e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x43e1bc,_0x465820);}return this['_operationToId']['get'](_0x43e1bc);}}}['setIdForTheLastOperation'](_0xae00e3,_0x211cf2){if(!_0x211cf2)return;let _0x250ea6=_0xae00e3['length'];for(;_0x250ea6--;){const _0x2d6739=_0xae00e3[_0x250ea6];this['_ignoredOperations']['has'](_0x2d6739)||this['_operationToId']['set'](_0x2d6739,_0x211cf2);}}}class nt extends _0x19341c{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x56b782{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5bcff5)());['_services'];static get['requires'](){return[z,_0x5d2c1b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x365f0f){super(_0x365f0f),this['_services']=new Map();}async['init'](){const _0x5aa77e=this['context'],_0x3afcb3=_0x5aa77e['plugins']['get'](_0x5d2c1b);if(_0x5aa77e['plugins']['get'](z)['addToReconnectionStack'](this),_0x3afcb3['adapter']={'addCommentThread':async({channelId:_0x216804,threadId:_0x1da8d9,comments:_0x21b469,resolvedAt:_0x5302f4,resolvedBy:_0x5e1c7c,context:_0x351135,attributes:_0x383a34})=>{const _0x94a9b7=await this['_getService'](_0x216804)['addCommentThread']({'commentThreadId':_0x1da8d9,'comments':_0x21b469['map'](_0x1d423d=>function(_0x405b96,_0x5c8b79,_0xfff8c8){return{'commentThreadId':_0xfff8c8,'commentId':_0x405b96['commentId'],'userId':_0x405b96['authorId'],'content':_0x405b96['content'],'documentId':_0x5c8b79,'createdAt':_0x405b96['createdAt'],'attributes':_0x405b96['attributes']||{}};}(_0x1d423d,_0x216804,_0x1da8d9)),'resolvedAt':_0x5302f4,'resolvedBy':_0x5e1c7c,'context':_0x351135,'attributes':_0x383a34})['catch'](ct);return{'threadId':_0x94a9b7['commentThreadId'],'comments':_0x94a9b7['comments']};},'getCommentThread':async({channelId:_0x1bcb85,threadId:_0x559d27})=>{const _0x234a35=await this['_getService'](_0x1bcb85)['getCommentThread'](_0x559d27)['catch'](rt)['catch'](ct);return _0x234a35?_0x234a35['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x234a35]),{'threadId':_0x234a35['commentThreadId'],'comments':_0x234a35['comments']['map'](at),'context':_0x234a35['context'],'resolvedAt':_0x234a35['resolvedAt'],'resolvedBy':_0x234a35['resolvedBy'],'attributes':_0x234a35['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x506182,threadId:_0x11446d,context:_0xa18d05,unlinkedAt:_0x2f286b,attributes:_0x5179cf})=>this['_getService'](_0x506182)['updateCommentThread']({'commentThreadId':_0x11446d,'context':_0xa18d05,'attributes':_0x5179cf,'unlinkedAt':_0x2f286b})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x44e19c,threadId:_0x4a27c2})=>{const _0x3486bc=await this['_getService'](_0x44e19c)['resolveCommentThread'](_0x4a27c2)['catch'](rt)['catch'](ct);return{'threadId':_0x3486bc['commentThreadId'],'resolvedAt':_0x3486bc['resolvedAt'],'resolvedBy':_0x3486bc['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4903c0,threadId:_0x5b1961})=>this['_getService'](_0x4903c0)['reopenCommentThread'](_0x5b1961)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3772b9,threadId:_0x118ced})=>this['_getService'](_0x3772b9)['removeCommentThread'](_0x118ced)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x55a772,threadId:_0x5b9f50,commentId:_0x380194,content:_0x5cd8fd,attributes:_0x19b38f})=>this['_getService'](_0x55a772)['addComment'](_0x5b9f50,_0x380194,_0x5cd8fd,_0x19b38f)['catch'](ct),'updateComment':({channelId:_0x43e1d,threadId:_0x355836,commentId:_0x2a21c6,content:_0x5001ed,attributes:_0x1ada96})=>this['_getService'](_0x43e1d)['updateComment'](_0x355836,_0x2a21c6,_0x5001ed,_0x1ada96)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x59ed32,threadId:_0x19920f,commentId:_0x1071e0})=>this['_getService'](_0x59ed32)['removeComment'](_0x19920f,_0x1071e0)['catch'](rt)['catch'](ct)},_0x5aa77e instanceof _0x5d5394){const _0x559ce5=_0x5aa77e['config']['get']('collaboration.channelId'),_0x98515f=_0x5aa77e['plugins']['get'](Y);await this['_setUpService'](_0x559ce5);const _0x1bc9c4=await this['_services']['get'](_0x559ce5)['getConnectedSessions']();this['listenTo'](_0x98515f,'sessionAdd:'+_0x559ce5,(_0x3f1d6e,{session:_0x1eb6da})=>{_0x1eb6da['id']===_0x98515f['mySessionId']&&(_0x3f1d6e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1eb6da['permissions'],_0x559ce5));}),_0x98515f['register'](_0x559ce5,_0x1bc9c4);}}async['_setUpService'](_0x802a74){if(this['_services']['has'](_0x802a74))throw new _0x2b4c1a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x802a74});const _0x2108f0=this['context']['plugins']['get'](_0x5d2c1b),_0x1356fe=new ot['CommentsService'](_0x802a74);this['_services']['set'](_0x802a74,_0x1356fe),this['listenTo'](_0x1356fe,'commentThreadAdded',(_0x5f5c48,_0x17ab73)=>{const {commentThreadId:_0x373a8e,documentId:_0x5481f3,context:_0x1fe381,attributes:_0x5f19e5,resolvedAt:_0x55d0aa,resolvedBy:_0x2bf8fe,comments:_0x2cf99f}=_0x17ab73;_0x2108f0['getCommentThread'](_0x373a8e)||_0x2108f0['addCommentThread']({'threadId':_0x373a8e,'channelId':_0x5481f3,'comments':_0x2cf99f?_0x2cf99f['map'](at):[],'context':_0x1fe381,'attributes':_0x5f19e5,'resolvedAt':_0x55d0aa,'resolvedBy':_0x2bf8fe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadUpdated',(_0x2f8e7b,{commentThreadId:_0x271fa5,documentId:_0x4f9369,context:_0x2c66a8,unlinkedAt:_0x5994c8,attributes:_0xf637b4})=>{_0x2108f0['getCommentThread'](_0x271fa5)&&_0x2108f0['updateCommentThread']({'threadId':_0x271fa5,'channelId':_0x4f9369,'context':_0x2c66a8,'unlinkedAt':_0x5994c8,'attributes':_0xf637b4,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadResolved',(_0x1dda72,{commentThreadId:_0x2dff50,resolvedBy:_0x7c0ce6,resolvedAt:_0x8f5efe})=>{const _0x27031e=_0x2108f0['getCommentThread'](_0x2dff50);_0x27031e&&_0x27031e['resolve']({'resolvedBy':_0x7c0ce6,'resolvedAt':_0x8f5efe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadReopened',(_0x322ba2,{commentThreadId:_0x52119c})=>{const _0x379732=_0x2108f0['getCommentThread'](_0x52119c);_0x379732&&_0x379732['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadRemoved',(_0x4436d1,{commentThreadId:_0x248003})=>{const _0x180528=_0x2108f0['getCommentThread'](_0x248003);_0x180528&&_0x180528['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentAdded',(_0x69f6f3,_0x13991d)=>{const _0x365d82=_0x13991d['commentThreadId'],_0x5111eb=_0x2108f0['getCommentThread'](_0x365d82);_0x5111eb&&_0x5111eb['addComment']({...at(_0x13991d),'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentUpdated',(_0x4bc57f,{commentThreadId:_0x720aa4,commentId:_0x523d14,content:_0x1e4a39,attributes:_0x208475})=>{const _0x1f4f47=_0x2108f0['getCommentThread'](_0x720aa4);if(_0x1f4f47){const _0x41355a=_0x1f4f47['getComment'](_0x523d14);_0x41355a&&_0x41355a['update']({'content':_0x1e4a39,'attributes':_0x208475,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1356fe,'commentRemoved',(_0x1e7234,{commentThreadId:_0xb51800,commentId:_0x15a390})=>{const _0xce1e3a=_0x2108f0['getCommentThread'](_0xb51800);if(_0xce1e3a){const _0x397158=_0xce1e3a['getComment'](_0x15a390);_0x397158&&_0x397158['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x802a74);}['destroy'](){if(this['context']instanceof _0x5d5394){const _0x2daf3f=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2daf3f);}}['_terminateService'](_0x121863){if(!this['_services']['has'](_0x121863))throw new _0x2b4c1a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x121863});this['_getService'](_0x121863)['disconnect'](),this['_services']['delete'](_0x121863);}async['reconnect'](){for(const _0x55b9eb of this['_services']['keys']())await this['_connectService'](_0x55b9eb);if(this['context']instanceof _0x5d5394){const _0x4352d4=this['context']['config']['get']('collaboration.channelId'),_0x4f52b1=this['context']['plugins']['get'](Y);_0x4f52b1['unregister'](_0x4352d4);const _0x359c14=await this['_services']['get'](_0x4352d4)['getConnectedSessions']();_0x4f52b1['register'](_0x4352d4,_0x359c14);}}async['_connectService'](_0x41fc36){const {connection:_0x5bb90e}=this['context']['plugins']['get'](z),_0x45ae3d=this['context']['plugins']['get'](_0x5d2c1b),_0x1af4b4=this['_services']['get'](_0x41fc36),_0x5c38ae=await _0x1af4b4['connect'](_0x5bb90e);await this['_fetchMissingUsersForThreads'](_0x5c38ae);const _0x384c79=new Set(Array['from'](_0x45ae3d['getCommentThreads']({'channelId':_0x41fc36}),_0xea778=>_0xea778['id']));for(const _0x51db64 of _0x5c38ae)_0x51db64['deletedAt']||_0x384c79['delete'](_0x51db64['commentThreadId']);for(const _0x48a4c4 of _0x384c79)_0x45ae3d['getCommentThread'](_0x48a4c4)['remove']({'isFromAdapter':!0x0});for(const _0x2a5910 of _0x5c38ae){let _0x5e583d=_0x45ae3d['getCommentThread'](_0x2a5910['commentThreadId']);const {commentThreadId:_0x3454c9,context:_0x4d759c,attributes:_0x44bc7c,resolvedBy:_0x432ec5,resolvedAt:_0x88a47d,unlinkedAt:_0x5d3243,deletedAt:_0x5a5232}=_0x2a5910;if(_0x5a5232)continue;_0x5e583d||(_0x5e583d=_0x45ae3d['addCommentThread']({'channelId':_0x41fc36,'threadId':_0x3454c9,'context':_0x4d759c,'attributes':_0x44bc7c||{},'resolvedBy':_0x432ec5,'resolvedAt':_0x88a47d,'unlinkedAt':_0x5d3243,'isFromAdapter':!0x0}));const _0x401ec5=new Set(Array['from'](_0x5e583d['comments'],_0x422eda=>_0x422eda['id']));for(const _0x26acbd of _0x2a5910['comments'])_0x401ec5['delete'](_0x26acbd['commentId']);for(const _0x59d8c9 of _0x401ec5)_0x5e583d['getComment'](_0x59d8c9)['remove']({'isFromAdapter':!0x0});for(const _0x45f764 of _0x2a5910['comments']){const _0x218a45=_0x5e583d['getComment'](_0x45f764['commentId']);_0x218a45?_0x218a45['content']!==_0x45f764['content']&&_0x218a45['update']({'content':_0x45f764['content'],'isFromAdapter':!0x0}):_0x5e583d['addComment'](Object['assign'](at(_0x45f764),{'isFromAdapter':!0x0}));}}}['_getService'](_0x23c847){if(!this['_services']['has'](_0x23c847))throw new _0x2b4c1a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x23c847});return this['_services']['get'](_0x23c847);}async['_fetchMissingUsersForThreads'](_0x16d8e1){const _0x108b2e=this['context']['plugins']['get'](_0x38bcb4),{connection:_0x1780f9}=this['context']['plugins']['get'](z),_0x3d917e=new Set();for(const {resolvedBy:_0x347a00,comments:_0xd52f1b}of _0x16d8e1){_0x347a00&&!_0x108b2e['getUser'](_0x347a00)&&_0x3d917e['add'](_0x347a00);for(const {userId:_0x17e938}of _0xd52f1b)_0x108b2e['getUser'](_0x17e938)||_0x3d917e['add'](_0x17e938);}if(0x0===_0x3d917e['size'])return;const _0x31f417=await _0x17aad5['getMany'](_0x1780f9,Array['from'](_0x3d917e));for(const _0x5c779e of _0x31f417)_0x108b2e['getUser'](_0x5c779e['id'])||_0x108b2e['addUser'](_0x5c779e);}}async function rt(_0x8b48a3){if('404'!==_0x8b48a3['code'])throw _0x8b48a3;}function ct(_0x508d51){if((_0x40a586=_0x508d51)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40a586;throw _0x508d51;}function at(_0x8329a1){return{'threadId':_0x8329a1['commentThreadId'],'commentId':_0x8329a1['commentId'],'content':_0x8329a1['content'],'createdAt':_0x8329a1['createdAt'],'authorId':_0x8329a1['userId'],'attributes':_0x8329a1['attributes']||{}};}class ht extends _0x19341c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x237519)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x2d7d19,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4a70af){super(_0x4a70af);const _0x54faca=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x54faca);}['init'](){const _0x4b4c38=this['editor']['plugins']['get'](z),_0x21dfcc=this['editor']['plugins']['get'](_0x2d7d19);return _0x21dfcc['adapter']={'getSuggestion':async _0x4a7969=>{await this['_waitForServiceReady']();const _0x3750e2=await this['_trackChangesService']['get'](_0x4a7969)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3750e2]),_0x3750e2;},'addSuggestion':async({id:_0xdb914e,type:_0x4297f0,data:_0x596336,originalSuggestionId:_0x496062,attributes:_0x2beaab})=>{await this['_waitForServiceReady']();const _0x270a90={'id':_0xdb914e,'type':_0x4297f0,'data':_0x596336,'originalSuggestionId':_0x496062,'attributes':_0x2beaab},_0x5e99f1=await this['_trackChangesService']['add'](_0xdb914e,_0x4297f0,_0x596336,_0x496062,_0x2beaab)['catch'](_0x5b3752=>{if(dt(_0x5b3752))return new Promise(_0x2eb56d=>{this['_bufferedRequests']['set'](_0xdb914e,{'resolve':_0x2eb56d,'suggestionData':_0x270a90});});throw _0x5b3752;});return this['_bufferedRequests']['delete'](_0xdb914e),_0x5e99f1;},'updateSuggestion':async(_0x556365,_0x3224ca)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3224ca['state'])return this['_trackChangesService']['update'](_0x556365,_0x3224ca)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x28385e,_0x14dc52)=>{_0x21dfcc['hasSuggestion'](_0x14dc52['id'])&&(_0x21dfcc['getSuggestion'](_0x14dc52['id'])['attributes']=_0x14dc52['attributes']);}),this['_trackChangesService']['connect'](_0x4b4c38['connection'])['then'](_0x49b63c=>(_0x4b4c38['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x49b63c)['then'](()=>{for(const _0x509b5e of _0x49b63c){_0x21dfcc['addSuggestionData'](_0x509b5e)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2ae0c5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x159243}=this['editor']['plugins']['get'](z),_0xb2501e=await this['_trackChangesService']['connect'](_0x159243);await this['_fetchMissingUsersForThreads'](_0xb2501e);for(const {suggestionData:_0x302ec2,resolve:_0x539884}of this['_bufferedRequests']['values']()){let _0x40f1d9=_0xb2501e['find'](_0x2871e3=>_0x2871e3['id']===_0x302ec2['id']);_0x40f1d9||(_0x40f1d9=await this['_trackChangesService']['add'](_0x302ec2['id'],_0x302ec2['type'],_0x302ec2['data'],_0x302ec2['originalSuggestionId'])),_0x539884(_0x40f1d9);}for(const _0x494c86 of _0xb2501e)_0x2ae0c5['hasSuggestion'](_0x494c86['id'])||_0x2ae0c5['addSuggestionData'](_0x494c86);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x137703=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5ea8b4=>{_0x5ea8b4['off'](),_0x137703();});});}async['_fetchMissingUsersForThreads'](_0x1e1011){const _0x3180ae=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x789c78}=this['editor']['plugins']['get'](z),_0x47d0a3=new Set();for(const {authorId:_0x45a897}of _0x1e1011)_0x3180ae['getUser'](_0x45a897)||_0x47d0a3['add'](_0x45a897);if(0x0===_0x47d0a3['size'])return;const _0x563a9d=await _0x17aad5['getMany'](_0x789c78,Array['from'](_0x47d0a3));for(const _0x80be0a of _0x563a9d)_0x3180ae['getUser'](_0x80be0a['id'])||_0x3180ae['addUser'](_0x80be0a);}}function lt(_0x458166){if(dt(_0x458166))return new Promise(()=>{});throw _0x458166;}function dt(_0x52d9d6){return _0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x19341c{static get['requires'](){return[_0x9134b,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x24fcac=this['editor']['plugins']['get'](z),_0x146152=this['editor']['plugins']['get'](_0x3a2eff),_0xcca9f5=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x24fcac,'change:state',(_0x188bef,_0x4ee3c5,_0x2f12ef)=>{_0x146152['isThreadsLoadingPaused']='connected'!==_0x2f12ef;});}),this['listenTo'](_0x24fcac,'change:state',(_0x237e01,_0x27dce2,_0x362fea)=>{this['editor']['plugins']['get'](_0x5d2c1b)['switchReadOnly']('connected'!==_0x362fea);}),_0xcca9f5['_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 _0x19341c{static get['requires'](){return[ut,ht,_0x1a2f4d];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x19341c{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x491b79)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x49747b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e477){super(_0x34e477);const _0x372a53=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x372a53);}async['init'](){const _0x34de6f=this['editor']['plugins']['get'](tt),_0x4d1dd6=_0x34de6f['serverHistory'],_0x30dff2=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4d1dd6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x34de6f['sessionId']});const _0x69eab7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x45cdfc,_0x2c129e=await _0x2d90a6['isBundleUploaded'](_0x30dff2['connection'],_0x69eab7);this['editor']['plugins']['get'](_0x49747b)['adapter']={'getRevision':async({revisionId:_0x44dcc9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x44dcc9)),'updateRevisions':async _0x49ecb5=>{await this['_waitForServiceReady']();const _0x16e7d0=this['_revisionTracker']['currentRevision'];if(_0x2c129e&&0x1===_0x49ecb5['length']&&_0x49ecb5[0x0]['id']===_0x16e7d0['id'])return _0x49ecb5;for(const _0x1ce31c of _0x49ecb5)_0x1ce31c['id']===_0x16e7d0['id']&&(_0x1ce31c['isEmptyCurrent']=_0x1ce31c['fromVersion']===_0x1ce31c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x49ecb5,this['_lastRequestId'])['then'](_0x19bc3c=>(this['_lastRequestId']=_0x19bc3c,_0x49ecb5))['catch'](_0x441ed9=>{if(pt(_0x441ed9)||'400'===_0x441ed9['code']&&void 0x0!==_0x441ed9['data']['wrongRequestId']){for(const _0x24604d of _0x49ecb5){!this['_revisionTracker']['repository']['getRevision'](_0x24604d['id'])||this['_revisionTracker']['_bufferUpdate'](_0x24604d['id'],_0x24604d,!0x1);}if(pt(_0x441ed9)&&'destroyed'!==this['editor']['state'])throw _0x441ed9;return _0x49ecb5;}throw _0x441ed9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1b2257,{revisionsData:_0x343112,requestId:_0x101d88})=>{Math['max'](..._0x343112['map'](_0x4109e7=>_0x4109e7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x343112,_0x101d88);}):this['_handleRevisionsUpdate'](_0x343112,_0x101d88);});const {revisions:_0x4c9852,requestId:_0x55ef79}=await this['_revisionHistoryService']['connect'](_0x30dff2['connection']);_0x30dff2['addToReconnectionStack'](this),this['_lastRequestId']=_0x55ef79,await this['_fetchMissingUsers'](_0x4c9852);for(const _0x58e6c8 of _0x4c9852)this['_revisionTracker']['addRevisionData'](_0x58e6c8);this['listenTo'](_0x34de6f,'change:_isConnected',(_0x1a8bd3,_0x2bed06,_0x309ab6)=>{_0x309ab6&&(this['_oldOffset']=_0x34de6f['_offset'],_0x1a8bd3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x30dff2,'state',_0x1e0043=>_0x1e0043===_0xe9981e['CONNECTED']);}async['reconnect'](){const _0x115a6e=this['editor']['plugins']['get'](z),_0x532c03=this['editor']['plugins']['get'](tt),_0x450e29=async()=>{const _0x5e495a=this['_revisionTracker']['currentRevision'],_0x1a59e8=_0x5e495a['id'],_0x6392df=_0x1a59e8!==_0x532c03['sessionId'];if(_0x6392df){const _0x54d9da=_0x532c03['_offset']-this['_oldOffset'],_0x4c9b62=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5e495a['toVersion']+_0x54d9da!==_0x4c9b62){const _0x59e783=_0x5e495a['fromVersion']+_0x54d9da,_0x12462a=this['editor']['plugins']['get'](_0x38bcb4),_0x120cc3=this['_revisionTracker']['buildRevisionData']({'revision':_0x5e495a,'from':_0x59e783,'to':_0x4c9b62});_0x120cc3['id']=_0x5e495a['id'];const _0x4010a4=_0x120cc3['authorsIds']['map'](_0x1feb26=>_0x12462a['getUser'](_0x1feb26));_0x5e495a['_update']({..._0x120cc3,'authors':_0x4010a4},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5e495a['id'],_0x120cc3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4c9b62,(_0x5e495a['toVersion']===_0x5e495a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a59e8)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a59e8),this['_revisionTracker']['_createCurrentRevision'](_0x4c9b62));}const {revisions:_0x5d864b,requestId:_0x5949b8}=await this['_revisionHistoryService']['reconnect'](_0x115a6e['connection'],this['_lastRequestId']);_0x6392df&&_0x5d864b['length']>0x0?_0x532c03['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5d864b),this['_handleRevisionsUpdate'](_0x5d864b,_0x5949b8),this['_revisionTracker']['sendBufferedUpdates']());};return _0x532c03['_isConnected']?_0x450e29():new Promise((_0x438424,_0x4256ed)=>{_0x532c03['once']('change:_isConnected',()=>{_0x450e29()['then'](_0x438424)['catch'](_0x4256ed);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x53be1b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2308e8=>{_0x2308e8['off'](),_0x53be1b();});});}['_getLatestVersionFromServerOperations'](){const _0x2cd7db=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2512ee of _0x2cd7db)if('marker'!==_0x2512ee['type']||_0x2512ee['affectsData'])return _0x2512ee['baseVersion']+0x1;}['_getLatestVersion'](){const _0x46230a=this['editor']['plugins']['get'](tt);return new Promise(_0x2cb71c=>{_0x46230a['_isPendingUpdate']?_0x46230a['once']('change:_isPendingUpdate',()=>{_0x2cb71c(this['_getLatestVersionFromServerOperations']());}):_0x2cb71c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x311822,_0x456780){const _0x2b5764=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x456780;for(const _0x26dfed of _0x311822){const _0x229354=_0x2b5764['getRevision'](_0x26dfed['id']);if(_0x229354){if((_0x26dfed['fromVersion']||_0x26dfed['toVersion'])&&(_0x26dfed['diffData']=null),_0x229354===this['_revisionTracker']['currentRevision']){const _0x38c0af=Math['max'](_0x229354['toVersion'],_0x26dfed['toVersion']),_0x7a83ee=Math['max'](_0x229354['fromVersion'],_0x26dfed['fromVersion']);let _0x3888d7;_0x229354['toVersion']===_0x26dfed['toVersion']&&_0x229354['fromVersion']===_0x26dfed['fromVersion']?(_0x3888d7=!0x0,this['_preventResendingRevisionData'](_0x26dfed)):_0x26dfed['toVersion']===_0x38c0af&&_0x26dfed['fromVersion']===_0x7a83ee?_0x3888d7=!0x1:(_0x229354['toVersion']===_0x38c0af&&_0x229354['fromVersion']===_0x7a83ee||this['_fixRevision']({'revision':_0x229354,'from':_0x7a83ee,'to':_0x38c0af}),_0x3888d7=!0x0),_0x3888d7&&(delete _0x26dfed['fromVersion'],delete _0x26dfed['toVersion'],delete _0x26dfed['diffData'],delete _0x26dfed['createdAt'],delete _0x26dfed['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x26dfed),this['_preventResendingRevisionData'](_0x26dfed);}else this['_revisionTracker']['addRevisionData'](_0x26dfed);}const _0x25350e=_0x2b5764['getRevisions']();_0x25350e['reverse']();for(let _0x3399a5=0x0;_0x3399a5<_0x25350e['length']-0x1;_0x3399a5++){const _0x166383=_0x25350e[_0x3399a5],_0x59a498=_0x25350e[_0x3399a5+0x1];if(_0x166383['fromVersion']<_0x59a498['toVersion']){const _0x3c6877=_0x59a498['toVersion'],_0x4348d0=Math['max'](_0x3c6877,_0x166383['toVersion']);this['_fixRevision']({'revision':_0x166383,'from':_0x3c6877,'to':_0x4348d0});}}}['_fixRevision']({revision:_0x552202,from:_0x1d212c,to:_0x14aee7}={}){const _0x36f4f7=this['editor']['plugins']['get'](_0x38bcb4),_0x35a812=this['_revisionTracker']['buildRevisionData']({'revision':_0x552202,'from':_0x1d212c,'to':_0x14aee7});_0x35a812['authors']=_0x35a812['authorsIds']['map'](_0x5ea9ee=>_0x36f4f7['getUser'](_0x5ea9ee)),_0x552202['_update'](_0x35a812);}['_preventResendingRevisionData'](_0x3e6c2a){const _0x5d418c={};_0x5d418c['id']=_0x3e6c2a['id'];for(const _0x42ade9 of Object['keys'](_0x3e6c2a))'id'!==_0x42ade9&&(_0x5d418c[_0x42ade9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5d418c['id'],_0x5d418c,!0x0);}async['_fetchMissingUsers'](_0x2a1c17){const _0x5d325c=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0xdb53f3}=this['editor']['plugins']['get'](z),_0x5b22ee=new Set();for(const _0x3f12d2 of _0x2a1c17){for(const _0x2925f9 of _0x3f12d2['authorsIds'])_0x287c2f(_0x2925f9);_0x3f12d2['creatorId']&&_0x287c2f(_0x3f12d2['creatorId']);}if(0x0===_0x5b22ee['size'])return;const _0x5c936c=await _0x17aad5['getMany'](_0xdb53f3,Array['from'](_0x5b22ee));for(const _0x2fac8e of _0x5c936c)_0x5d325c['getUser'](_0x2fac8e['id'])||_0x5d325c['addUser'](_0x2fac8e);function _0x287c2f(_0x41fe0f){_0x5d325c['getUser'](_0x41fe0f)||_0x5b22ee['add'](_0x41fe0f);}}}function pt(_0xc8b328){return _0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x19341c{static get['requires'](){return[_0x49747b,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1e867e{['_collapseAt'];constructor(_0x105ec4,_0x4c6b5e=0x6){super(_0x105ec4);const _0x1a0a64=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4c6b5e,this['bind']('isHidden')['to'](this,'usersCount',_0x4bd838=>_0x4bd838<_0x4c6b5e),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1a0a64['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':_0x1a0a64['to']('usersCount',_0x15452e=>'+'+(_0x15452e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1e867e{['items'];['keystrokes'];constructor(_0x3e80c3){super(_0x3e80c3);const _0x44b7fe=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x32ce2b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x44b7fe['if']('hasPopup'),'aria-expanded':_0x44b7fe['to']('isExpanded',_0x33136e=>this['hasPopup']&&String(_0x33136e)),'aria-label':_0x44b7fe['to']('hasPopup',_0x600a6d=>X(_0x3e80c3,_0x600a6d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x44b7fe['to']('hasPopup',_0x58c484=>!!_0x58c484&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x44b7fe['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x44b7fe['to'](_0x5a3fd9=>{const _0x1c175a=_0x5a3fd9,_0x11981d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4f8580=document['querySelector']('.ck-balloon-panel_with-arrow');_0x11981d?.['contains'](_0x1c175a['relatedTarget'])||_0x4f8580?.['contains'](_0x1c175a['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x335f01,_0x5056ed,_0x4c11e0)=>{this['element']&&(_0x4c11e0?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 _0x1e867e{['counterView'];['inlineListView'];constructor(_0x10e58a,_0x1407ab=0x6){super(_0x10e58a);const _0x1ed2a4=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1407ab),this['inlineListView']=new vt(_0x10e58a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5321f5 of this['inlineListView']['items'])_0x5321f5['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',_0x1ed2a4['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1e867e{['listWrapperView'];constructor(_0x5c7552,_0x5de40c){super(_0x5c7552);const _0x2b8dd9=this['bindTemplate'];this['listWrapperView']=new bt(_0x5c7552,_0x5de40c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5c7552,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2b8dd9['to'](_0x5d3177=>{const _0x318614=_0x5d3177,_0x12380c=document['querySelector']('.ck-presence-list__list'),_0x1c2c0a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x12380c?.['contains'](_0x318614['relatedTarget'])||_0x1c2c0a?.['contains'](_0x318614['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x4af250{constructor(_0x167a2a,_0x55228a){super(_0x167a2a);const _0xff15bd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x55228a?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xff15bd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xff15bd['to']('role'),'aria-label':_0xff15bd['to']('ariaLabel'),'aria-labelledby':_0xff15bd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3d1191['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3be6e9=this['element'];_0x3be6e9&&(this['_isScrollable']=Math['max'](_0x3be6e9['scrollHeight'],_0x3be6e9['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x48f89e{['userView'];constructor(_0x41c2af,_0x2ab93b,_0x2e68f3){super(_0x41c2af);const _0x3aa5d4=this['bindTemplate'];this['userView']=new _0x44a9ad(_0x41c2af,_0x2ab93b);const _0x384943={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2ab93b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2ab93b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2ab93b['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2ab93b['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2ab93b['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x2e68f3&&(_0x384943['tag']='button',_0x384943['on']={'click':_0x3aa5d4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x384943);}['focus'](){this['element']['focus']();}}class It extends _0x1e867e{['userView'];['markerView'];constructor(_0x14515c,_0x3d64e8,_0x1be650){super(_0x14515c);const _0x713088=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a9ad(_0x14515c,_0x3d64e8),this['markerView']=new St(_0x14515c,_0x3d64e8);const _0x3262ca=new _0x2df49d(_0x14515c);_0x3262ca['template']['tag']='span',_0x3262ca['text']=_0x3d64e8['name'];const _0x43b2f0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x713088['to']('isFocusable',_0x2fd55b=>!!_0x2fd55b&&0x0),'aria-labelledby':_0x3262ca['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x713088['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x713088['to']('hasTooltip',_0x1cb19d=>!_0x1cb19d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3262ca]};_0x1be650&&(_0x43b2f0['tag']='button',_0x43b2f0['on']={'click':_0x713088['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x43b2f0);}}class St extends _0x1e867e{constructor(_0x43cfdd,_0x16fe37){super(_0x43cfdd),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16fe37['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16fe37['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16fe37['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x56b782{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b69e5){super(_0x1b69e5),this['context']['config']['define']('presenceList',Tt);const _0x1e9641=_0x1b69e5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1e9641)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);if(_0x1e9641<0x1)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3ca9e9(),this['balloonPanelView']=new _0x39d104(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1ad05e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ad05e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3f23cd,_0x5ec976)=>{this['_handleUserAdd'](_0x5ec976);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x35c74d,_0x588a05)=>{this['_handleUserRemove'](_0x588a05);});}['_createView'](){const _0x1ce550=this['context'],_0x4aba6a=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x6dbed8=this['balloonPanelView'];if(!_0x2f2328(_0x1ce550['config']['get']('presenceList.container')))throw new _0x2b4c1a('presencelist-missing-container',this);return _0x4aba6a['counterView']['bind']('usersCount')['to'](this),_0x4aba6a['bind']('isCollapsed')['to'](this,'usersCount',_0x3f176f=>{const {collapseAt:_0x516e33}=_0x1ce550['config']['get']('presenceList'),_0x4728c2=_0x3f176f>=_0x516e33;if(_0x4728c2&&!_0x4aba6a['inlineListView']['items']['find'](_0x55e32a=>_0x55e32a instanceof wt)){const _0x2f5511=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2f5511&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4aba6a['inlineListView']['items']['add'](_0x4aba6a['counterView']);}return _0x4728c2||this['hideDropdown'](),_0x4728c2;}),_0x4aba6a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x54b0e6=>{const _0x2e31c3=_0x1ce550['config']['get']('presenceList'),_0x1ba3fc=new It(_0x1ce550['locale'],_0x54b0e6,!!_0x2e31c3['onClick']);return _0x1ba3fc['bind']('hasTooltip')['to'](_0x4aba6a,'isCollapsed',_0x36aa19=>!_0x36aa19),_0x1ba3fc['bind']('isFocusable')['to'](_0x4aba6a,'isCollapsed',_0x41fc56=>!_0x41fc56),_0x2e31c3['onClick']&&this['listenTo'](_0x1ba3fc,'execute',()=>{this['view']['isCollapsed']||_0x2e31c3['onClick'](_0x54b0e6,_0x1ba3fc['element']);}),_0x1ba3fc;}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4aba6a['inlineListView']['keystrokes']['set']('Enter',(_0x58e49f,_0x21e511)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x21e511());}),_0x4aba6a['render'](),_0x6dbed8['render'](),_0x3f118c({'emitter':_0x4aba6a,'activator':()=>_0x6dbed8['isVisible'],'contextElements':[_0x6dbed8['element'],_0x4aba6a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1ce550['config']['get']('presenceList.container')['appendChild'](_0x4aba6a['element']),this['_bodyCollection']=new _0x2bbc41(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4aba6a;}['_handleUserAdd'](_0x3e2472){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3e2472['isMe'])return;const _0x445569=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x445569-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x25e681=_0x3e2472['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3e2472,_0x25e681);}['_handleUserRemove'](_0x1215af){this['usersCount']--;const {collapseAt:_0x4a3911}=this['context']['config']['get']('presenceList'),_0x3eb9d3=this['usersCount']>=_0x4a3911;if(this['currentDisplayedUsers']['get'](_0x1215af['id']))this['currentDisplayedUsers']['remove'](_0x1215af['id']);else{if(_0x3eb9d3&&this['currentDisplayedUsers']['length']+0x1===_0x4a3911-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)<this['usersCount']){for(const _0x338b2d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x338b2d['id'])&&(this['currentDisplayedUsers']['add'](_0x338b2d,Math['min'](this['currentDisplayedUsers']['length']-(_0x3eb9d3?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)===_0x4a3911-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x21e9b4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x21e9b4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4e6a8c}=this['presenceDropdownView'];_0x4e6a8c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x334697=>{if(!_0x21e9b4['displayMe']&&_0x334697['isMe'])return null;const _0x1032fe=new kt(this['context']['locale'],_0x334697,!!_0x21e9b4['onClick']);return _0x21e9b4['onClick']&&this['listenTo'](_0x1032fe,'execute',()=>{_0x21e9b4['onClick'](_0x334697,_0x1032fe['element']);}),_0x1032fe;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4e6a8c['focus'](),_0x4e6a8c['checkIfScrollable']();const _0x11849a=(_0x2b57ba,_0x41b681)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x41b681();};_0x4e6a8c['keystrokes']['set']('Esc',_0x11849a),_0x4e6a8c['keystrokes']['set']('Shift+Tab',_0x11849a),_0x4e6a8c['keystrokes']['set']('Tab',(_0x5e0ada,_0x146c21)=>{!function(_0x533b0f){const _0x1cb6f6=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4b9fb8=>_0x4b9fb8+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x158d3b=[...document['body']['querySelectorAll'](_0x1cb6f6)]['filter'](_0x28eab7=>_0x28eab7===document['activeElement']||_0x28eab7['offsetWidth']+_0x28eab7['offsetHeight']>0x0)['sort']((_0x9e8147,_0x1df45e)=>(_0x9e8147['tabIndex']||0x0)-(_0x1df45e['tabIndex']||0x0)),_0x310dc8=_0x158d3b['indexOf'](_0x533b0f),_0x39e57c=_0x158d3b[(_0x310dc8+0x1)%_0x158d3b['length']];_0x39e57c&&_0x39e57c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x146c21();}),_0x4e6a8c['focusTracker']['add'](this['view']['element']),_0x4e6a8c['focusTracker']['on']('change:isFocused',(_0xe5431c,_0x59300b,_0x5d57c8)=>{_0x5d57c8||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 _0x56b782{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};
@@ -2,6 +2,9 @@
2
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
+ /**
6
+ * @module real-time-collaboration/presencelist/view/presencecounterview
7
+ */
5
8
  import { View } from '@ckeditor/ckeditor5-ui';
6
9
  import { type Locale } from '@ckeditor/ckeditor5-utils';
7
10
  export declare class PresenceCounterView extends View {