@ckeditor/ckeditor5-real-time-collaboration 48.2.0 → 48.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/augmentation.d.ts +67 -67
  2. package/dist/common-translations.d.ts +6 -6
  3. package/dist/config.d.ts +43 -43
  4. package/dist/index.d.ts +19 -19
  5. package/dist/index.js +6 -6
  6. package/dist/presencelist/presencelistui.d.ts +54 -54
  7. package/dist/presencelist/view/presencecounterview.d.ts +10 -10
  8. package/dist/presencelist/view/presencedropdownlistitemview.d.ts +14 -14
  9. package/dist/presencelist/view/presencedropdownlistview.d.ts +0 -4
  10. package/dist/presencelist/view/presenceinlinelistitemview.d.ts +15 -15
  11. package/dist/presencelist/view/presenceinlinelistview.d.ts +34 -34
  12. package/dist/presencelist/view/presencelistview.d.ts +5 -4
  13. package/dist/presencelist.d.ts +32 -32
  14. package/dist/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +56 -56
  15. package/dist/realtimecollaborativecomments.d.ts +40 -40
  16. package/dist/realtimecollaborativeediting/realtimecollaborationclient.d.ts +129 -140
  17. package/dist/realtimecollaborativeediting/sessions.d.ts +115 -117
  18. package/dist/realtimecollaborativeediting/usermarkers.d.ts +46 -46
  19. package/dist/realtimecollaborativeediting/websocketgateway.d.ts +59 -59
  20. package/dist/realtimecollaborativeediting.d.ts +29 -29
  21. package/dist/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +53 -53
  22. package/dist/realtimecollaborativerevisionhistory.d.ts +33 -33
  23. package/dist/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +47 -47
  24. package/dist/realtimecollaborativetrackchanges.d.ts +31 -31
  25. package/dist/translations/af.js +1 -1
  26. package/dist/translations/af.umd.js +1 -1
  27. package/dist/translations/ar.js +1 -1
  28. package/dist/translations/ar.umd.js +1 -1
  29. package/dist/translations/ast.js +1 -1
  30. package/dist/translations/ast.umd.js +1 -1
  31. package/dist/translations/az.js +1 -1
  32. package/dist/translations/az.umd.js +1 -1
  33. package/dist/translations/be.js +1 -1
  34. package/dist/translations/be.umd.js +1 -1
  35. package/dist/translations/bg.js +1 -1
  36. package/dist/translations/bg.umd.js +1 -1
  37. package/dist/translations/bn.js +1 -1
  38. package/dist/translations/bn.umd.js +1 -1
  39. package/dist/translations/bs.js +1 -1
  40. package/dist/translations/bs.umd.js +1 -1
  41. package/dist/translations/ca.js +1 -1
  42. package/dist/translations/ca.umd.js +1 -1
  43. package/dist/translations/cs.js +1 -1
  44. package/dist/translations/cs.umd.js +1 -1
  45. package/dist/translations/da.js +1 -1
  46. package/dist/translations/da.umd.js +1 -1
  47. package/dist/translations/de-ch.js +1 -1
  48. package/dist/translations/de-ch.umd.js +1 -1
  49. package/dist/translations/de.js +1 -1
  50. package/dist/translations/de.umd.js +1 -1
  51. package/dist/translations/el.js +1 -1
  52. package/dist/translations/el.umd.js +1 -1
  53. package/dist/translations/en-au.js +1 -1
  54. package/dist/translations/en-au.umd.js +1 -1
  55. package/dist/translations/en-gb.js +1 -1
  56. package/dist/translations/en-gb.umd.js +1 -1
  57. package/dist/translations/en.js +1 -1
  58. package/dist/translations/en.umd.js +1 -1
  59. package/dist/translations/eo.js +1 -1
  60. package/dist/translations/eo.umd.js +1 -1
  61. package/dist/translations/es-co.js +1 -1
  62. package/dist/translations/es-co.umd.js +1 -1
  63. package/dist/translations/es.js +1 -1
  64. package/dist/translations/es.umd.js +1 -1
  65. package/dist/translations/et.js +1 -1
  66. package/dist/translations/et.umd.js +1 -1
  67. package/dist/translations/eu.js +1 -1
  68. package/dist/translations/eu.umd.js +1 -1
  69. package/dist/translations/fa.js +1 -1
  70. package/dist/translations/fa.umd.js +1 -1
  71. package/dist/translations/fi.js +1 -1
  72. package/dist/translations/fi.umd.js +1 -1
  73. package/dist/translations/fr.js +1 -1
  74. package/dist/translations/fr.umd.js +1 -1
  75. package/dist/translations/gl.js +1 -1
  76. package/dist/translations/gl.umd.js +1 -1
  77. package/dist/translations/gu.js +1 -1
  78. package/dist/translations/gu.umd.js +1 -1
  79. package/dist/translations/he.js +1 -1
  80. package/dist/translations/he.umd.js +1 -1
  81. package/dist/translations/hi.js +1 -1
  82. package/dist/translations/hi.umd.js +1 -1
  83. package/dist/translations/hr.js +1 -1
  84. package/dist/translations/hr.umd.js +1 -1
  85. package/dist/translations/hu.js +1 -1
  86. package/dist/translations/hu.umd.js +1 -1
  87. package/dist/translations/hy.js +1 -1
  88. package/dist/translations/hy.umd.js +1 -1
  89. package/dist/translations/id.js +1 -1
  90. package/dist/translations/id.umd.js +1 -1
  91. package/dist/translations/it.js +1 -1
  92. package/dist/translations/it.umd.js +1 -1
  93. package/dist/translations/ja.js +1 -1
  94. package/dist/translations/ja.umd.js +1 -1
  95. package/dist/translations/jv.js +1 -1
  96. package/dist/translations/jv.umd.js +1 -1
  97. package/dist/translations/kk.js +1 -1
  98. package/dist/translations/kk.umd.js +1 -1
  99. package/dist/translations/km.js +1 -1
  100. package/dist/translations/km.umd.js +1 -1
  101. package/dist/translations/kn.js +1 -1
  102. package/dist/translations/kn.umd.js +1 -1
  103. package/dist/translations/ko.js +1 -1
  104. package/dist/translations/ko.umd.js +1 -1
  105. package/dist/translations/ku.js +1 -1
  106. package/dist/translations/ku.umd.js +1 -1
  107. package/dist/translations/lt.js +1 -1
  108. package/dist/translations/lt.umd.js +1 -1
  109. package/dist/translations/lv.js +1 -1
  110. package/dist/translations/lv.umd.js +1 -1
  111. package/dist/translations/ms.js +1 -1
  112. package/dist/translations/ms.umd.js +1 -1
  113. package/dist/translations/nb.js +1 -1
  114. package/dist/translations/nb.umd.js +1 -1
  115. package/dist/translations/ne.js +1 -1
  116. package/dist/translations/ne.umd.js +1 -1
  117. package/dist/translations/nl.js +1 -1
  118. package/dist/translations/nl.umd.js +1 -1
  119. package/dist/translations/no.js +1 -1
  120. package/dist/translations/no.umd.js +1 -1
  121. package/dist/translations/oc.js +1 -1
  122. package/dist/translations/oc.umd.js +1 -1
  123. package/dist/translations/pl.js +1 -1
  124. package/dist/translations/pl.umd.js +1 -1
  125. package/dist/translations/pt-br.js +1 -1
  126. package/dist/translations/pt-br.umd.js +1 -1
  127. package/dist/translations/pt.js +1 -1
  128. package/dist/translations/pt.umd.js +1 -1
  129. package/dist/translations/ro.js +1 -1
  130. package/dist/translations/ro.umd.js +1 -1
  131. package/dist/translations/ru.js +1 -1
  132. package/dist/translations/ru.umd.js +1 -1
  133. package/dist/translations/si.js +1 -1
  134. package/dist/translations/si.umd.js +1 -1
  135. package/dist/translations/sk.js +1 -1
  136. package/dist/translations/sk.umd.js +1 -1
  137. package/dist/translations/sl.js +1 -1
  138. package/dist/translations/sl.umd.js +1 -1
  139. package/dist/translations/sq.js +1 -1
  140. package/dist/translations/sq.umd.js +1 -1
  141. package/dist/translations/sr-latn.js +1 -1
  142. package/dist/translations/sr-latn.umd.js +1 -1
  143. package/dist/translations/sr.js +1 -1
  144. package/dist/translations/sr.umd.js +1 -1
  145. package/dist/translations/sv.js +1 -1
  146. package/dist/translations/sv.umd.js +1 -1
  147. package/dist/translations/th.js +1 -1
  148. package/dist/translations/th.umd.js +1 -1
  149. package/dist/translations/ti.js +1 -1
  150. package/dist/translations/ti.umd.js +1 -1
  151. package/dist/translations/tk.js +1 -1
  152. package/dist/translations/tk.umd.js +1 -1
  153. package/dist/translations/tr.js +1 -1
  154. package/dist/translations/tr.umd.js +1 -1
  155. package/dist/translations/tt.js +1 -1
  156. package/dist/translations/tt.umd.js +1 -1
  157. package/dist/translations/ug.js +1 -1
  158. package/dist/translations/ug.umd.js +1 -1
  159. package/dist/translations/uk.js +1 -1
  160. package/dist/translations/uk.umd.js +1 -1
  161. package/dist/translations/ur.js +1 -1
  162. package/dist/translations/ur.umd.js +1 -1
  163. package/dist/translations/uz.js +1 -1
  164. package/dist/translations/uz.umd.js +1 -1
  165. package/dist/translations/vi.js +1 -1
  166. package/dist/translations/vi.umd.js +1 -1
  167. package/dist/translations/zh-cn.js +1 -1
  168. package/dist/translations/zh-cn.umd.js +1 -1
  169. package/dist/translations/zh.js +1 -1
  170. package/dist/translations/zh.umd.js +1 -1
  171. package/package.json +13 -13
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x394a1b,Plugin as _0x39f59e,PendingActions as _0x21d2f4,Context as _0x24b668}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x19d0fb,CKEditorError as _0x243503,Collection as _0x4e20c8,global as _0x83c1e,version as _0x48cf3d,uid as _0x438389,KeystrokeHandler as _0x14a27d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4674d2,View as _0x11fac4,ListView as _0x57db8b,ListItemView as _0x2c1667,LabelView as _0x4191d9,BalloonPanelView as _0x317f08,clickOutsideHandler as _0x13bc91,BodyCollection as _0xe18bfe}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x95f11e,History as _0x33b12d,NoOperation as _0x5197d8,InsertOperation as _0x203f45,MarkerOperation as _0x12333c,RootAttributeOperation as _0x3d0c24,transformOperationSets as _0x233e00,OperationFactory as _0x1b7c05}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x171d85}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x36da21,WEB_SOCKET_GATEWAY_STATES as _0x3534a0,CollaborativeEditingService as _0x2b269e,User as _0x34df4b,CommentsService as _0x1b1ea1,TrackChangesService as _0x5c2a30,RevisionHistoryService as _0x150025,EditorService as _0x27f1a5}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x3536cf,UserView as _0x4e6de2}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x96b0a0}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x4ec4de,TrackChanges as _0x36fd6b}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x3fd35f,Comments as _0x514b66,CommentsEditing as _0x83c134}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0xb826a}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x3ce7c0}from'es-toolkit/compat';class WebSocketGateway extends _0x394a1b{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x36da21)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x171d85,_0x4674d2];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x493528){super(_0x493528),this['set']('state',_0x3534a0['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x19d0fb())();}['init'](){const _0x3fe20c=this['context'],_0x1228a8=_0x3fe20c['plugins']['get'](_0x171d85),_0x158cd4=_0x3fe20c['plugins']['get'](_0x4674d2);if(!_0x1228a8['token'])throw new _0x243503('websocketgateway-missing-token',this);if(!_0x1228a8['webSocketUrl'])throw new _0x243503('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x1228a8['token'],_0x1228a8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xefee9=>{if(this['connection']=_0xefee9,this['bind']('state')['to'](_0xefee9,'state',this,'_isBrowserOffline',(_0x39fe1f,_0x566557)=>('connected'!==_0x39fe1f&&(this['_shouldPluginsReconnect']=!0x0),_0x566557||_0x39fe1f!==_0x3534a0['CONNECTED']?_0x3534a0['DISCONNECTED']:this['state']==_0x3534a0['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3534a0['CONNECTING']):_0x3534a0['CONNECTED'])),this['connection']['on']('error',(_0x49b349,_0x5cf69a)=>{if('limitExceeded'!==_0x5cf69a['code'])throw console['error'](_0x5cf69a),new _0x243503('cloudservices-init',null,{'originalError':_0x5cf69a});_0x158cd4['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'});}),!_0xefee9['me'])return new Promise(_0x23490f=>_0xefee9['on']('change:me',_0x23490f));})['catch'](_0x3c1e2d=>{throw console['error'](_0x3c1e2d),new _0x243503('cloudservices-init',null,{'originalError':_0x3c1e2d});});}['addToReconnectionStack'](_0x2fcda7){if('function'!=typeof _0x2fcda7['reconnect'])throw new _0x243503('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x2fcda7))throw new _0x243503('websocketgateway-plugin-already-registered',this,{'name':_0x2fcda7['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x2fcda7);}['removeFromReconnectionStack'](_0x4ae221){this['_reconnectionStack']['delete'](_0x4ae221);}['isInReconnectionStack'](_0x1c766e){return this['_reconnectionStack']['has'](_0x1c766e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2102d2=>_0x2102d2['reconnect']())))['then'](()=>this['state']=_0x3534a0['CONNECTED'])['catch'](_0x3917d4=>{throw console['error'](_0x3917d4),new _0x243503('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3534a0['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Sessions extends _0x394a1b{['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[WebSocketGateway,_0x3536cf];}constructor(_0x577745){super(_0x577745),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4e20c8(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3536cf);}['init'](){const _0x443730=this['context']['plugins']['get'](WebSocketGateway);this['listenTo'](_0x443730,'change:state',(_0x715bf8,_0x241dd4,_0x3dffcd)=>{if('connected'!==_0x3dffcd)this['channelSessions']['forEach'](_0x354c7d=>_0x354c7d['clear']()),this['channelConnectedUsers']['forEach'](_0xa7371a=>_0xa7371a['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x23647f,_0x2aa1b4]of this['_registeredSessions'])for(const _0x3d6f0f of _0x2aa1b4)this['_handleSessionAdd'](_0x23647f,_0x3d6f0f);}}),this['_createUser'](_0x443730['connection']['me'],!0x0);}['register'](_0x377bff,_0x275229){if(this['_registeredSessions']['has'](_0x377bff))throw new _0x243503('sessions-register-already-registered',null,{'channelId':_0x377bff});this['_registeredSessions']['set'](_0x377bff,_0x275229),this['channelSessions']['set'](_0x377bff,new _0x4e20c8()),this['channelConnectedUsers']['set'](_0x377bff,new _0x4e20c8()),this['listenTo'](_0x275229,'add',(_0x21062b,_0x1878a1)=>this['_handleSessionAdd'](_0x377bff,_0x1878a1)),this['listenTo'](_0x275229,'remove',(_0x4ae252,_0x280a52)=>this['_handleSessionRemove'](_0x377bff,_0x280a52));for(const _0x4f40fb of _0x275229)this['_handleSessionAdd'](_0x377bff,_0x4f40fb);}['unregister'](_0x27aaec){if(!this['_registeredSessions']['has'](_0x27aaec))throw new _0x243503('sessions-unregister-not-exist',null,{'channelId':_0x27aaec});const _0x1453ba=this['_registeredSessions']['get'](_0x27aaec);this['stopListening'](_0x1453ba);for(const _0x212b97 of _0x1453ba)'connected'===this['context']['plugins']['get'](WebSocketGateway)['state']&&this['_handleSessionRemove'](_0x27aaec,_0x212b97);this['_registeredSessions']['delete'](_0x27aaec),this['channelSessions']['delete'](_0x27aaec),this['channelConnectedUsers']['delete'](_0x27aaec);}get['mySessionId'](){return this['context']['plugins']['get'](WebSocketGateway)['connection']['sessionId'];}['getUserBySessionId'](_0x2c7f01){for(const _0xddfc75 of this['channelSessions']['values']())for(const _0x474300 of _0xddfc75)if(_0x474300['id']===_0x2c7f01)return _0x474300['user'];}['getUserSessions'](_0x2c61f8,_0x2b5828){const _0x1326b6=_0x2b5828?[this['channelSessions']['get'](_0x2b5828)]:this['channelSessions']['values'](),_0xfeecc0=new Set();for(const _0x172db2 of _0x1326b6)for(const _0x18ecbc of _0x172db2)_0x18ecbc['user']['id']===_0x2c61f8['id']&&_0xfeecc0['add'](_0x18ecbc['id']);return _0xfeecc0;}['getUserRole'](_0x36b5c8){for(const _0x5b735f of this['channelSessions']['values']())for(const _0x13f3aa of _0x5b735f)if(_0x13f3aa['user']===_0x36b5c8)return _0x13f3aa['role'];}['_handleSessionAdd'](_0x365330,_0x34b99e){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0x117984=_0x34b99e['user'],_0x38dc5e=this['_users']['getUser'](_0x117984['id'])||this['_createUser'](_0x117984),_0x13902d=Object['assign']({},_0x34b99e,{'user':_0x38dc5e});if(this['channelSessions']['get'](_0x365330)['add'](_0x13902d),!_0x117984['hiddenInPresenceList']){const _0x47de85=this['channelConnectedUsers']['get'](_0x365330);_0x47de85['has'](_0x38dc5e['id'])||_0x47de85['add'](_0x38dc5e),this['allConnectedUsers']['has'](_0x38dc5e['id'])||_0x117984['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x38dc5e,_0x38dc5e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x365330,{'channelId':_0x365330,'session':_0x13902d});}['_handleSessionRemove'](_0x3590c9,_0x345788){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0x4fedb3=this['channelConnectedUsers']['get'](_0x3590c9),_0x18b0e8=_0x345788['user'];_0x18b0e8['id']&&(this['channelSessions']['get'](_0x3590c9)['remove'](_0x345788['id']),_0x4fedb3['has'](_0x18b0e8['id'])&&!this['getUserSessions'](_0x18b0e8,_0x3590c9)['size']&&_0x4fedb3['remove'](_0x18b0e8['id']),this['allConnectedUsers']['get'](_0x18b0e8['id'])&&!this['getUserSessions'](_0x18b0e8)['size']&&this['allConnectedUsers']['remove'](_0x18b0e8['id']));}['_createUser'](_0x529c7d,_0x12ff64){const _0x544605=this['_users']['addUser'](_0x529c7d);return _0x12ff64&&this['_users']['defineMe'](_0x529c7d['id']),_0x544605['orderNumber']=this['_uniqueUsersCount']++,_0x544605;}}class UserMarkers extends _0x39f59e{['_domEmitter']=new(_0x19d0fb())();static get['requires'](){return[Sessions];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1b44fb=this['editor'],_0x225eac=_0x1b44fb['plugins']['get'](Sessions);_0x1b44fb['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4b09eb,{writer:_0x3d841b})=>function(_0x2e2a16,_0x1ffcfa,_0x2ecd65,_0x5af396){const _0x10d84b=_0x2e2a16['markerName']['split'](':')[0x2],_0x4ce4d1=_0x2ecd65['getUserBySessionId'](_0x10d84b);if(!_0x4ce4d1||_0x10d84b===_0x2ecd65['mySessionId'])return;if(!_0x5af396['model']['schema']['checkChild'](_0x2e2a16['markerRange']['start'],'$text'))return;const _0x3f4008={'class':'ck-user__marker\x20'+_0x4ce4d1['color']['getMarkerClass'](),'style':Y(_0x4ce4d1),'data-name':_0x4ce4d1['name'],'data-session-id':_0x10d84b},_0x1e351f=_0x5af396['model']['markers']['get'](_0x2e2a16['markerName']),_0x2c9e63=_0x1e351f['getStart'](),_0x279d3e=_0x2c9e63['nodeAfter'],_0x5267e1=_0x5af396['model']['schema'];if(_0x279d3e&&_0x5267e1['isObject'](_0x279d3e)&&_0x5267e1['isInline'](_0x279d3e)&&!_0x5af396['model']['markers']['get']('user:range:'+_0x10d84b)['getRange']()['isCollapsed'])return;const _0x52fdfa=_0x2c9e63['parent'];return _0x5af396['model']['schema']['isLimit'](_0x52fdfa)&&!_0x5af396['model']['hasContent'](_0x52fdfa)&&(_0x3f4008['contenteditable']=!0x1),function(_0xb5f199,_0xaeab4,_0x1591c0){const _0x226e0c=_0xb5f199['createUIElement']('span',_0xaeab4);return _0xb5f199['setCustomProperty']('userPositionMarker',!0x0,_0x226e0c),_0x226e0c['render']=function(_0x119045){const _0x6f4cc3=this['toDomElement'](_0x119045),_0x365fde=document['createElement']('span');return _0x365fde['classList']['add']('ck-user__marker-tooltip'),_0x365fde['setAttribute']('contenteditable','false'),_0x365fde['setAttribute']('spellcheck','false'),_0x365fde['textContent']=_0x1591c0['name'],_0x6f4cc3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x365fde['outerHTML']+'⁠',_0x6f4cc3['addEventListener']('mouseenter',()=>{_0x6f4cc3['classList']['add']('ck-user__marker_hovered');}),_0x6f4cc3['addEventListener']('mouseleave',()=>{_0x6f4cc3['classList']['remove']('ck-user__marker_hovered');}),_0x6f4cc3;},_0x226e0c['isSimilar']=function(_0x247532){return!(!this['getCustomProperty']('userPositionMarker')||!_0x247532['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x247532['getAttribute']('data-session-id'));},_0x226e0c;}(_0x1ffcfa,_0x3f4008,_0x4ce4d1);}(_0x4b09eb,_0x3d841b,_0x225eac,_0x1b44fb)}),_0x1b44fb['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xd3e482=>function(_0x2603dd,_0x4c7935){const _0x2d22cf=_0x2603dd['markerName']['split'](':')[0x2];if(_0x2d22cf===_0x4c7935['mySessionId'])return null;const _0x5355ec=_0x4c7935['getUserBySessionId'](_0x2d22cf);if(!_0x5355ec)return{'id':_0x2d22cf,'classes':[]};return{'id':_0x2d22cf,'classes':['ck-user__selection',_0x5355ec['color']['getSelectionClass']()],'attributes':{'style':Y(_0x5355ec),'data-session-id':_0x2d22cf},'priority':0x7d0+_0x5355ec['orderNumber']};}(_0xd3e482,_0x225eac)}),function(_0x21c095){const _0x33778d=_0x21c095['model'],_0xb5a306=new Map(),_0x3c1191=_0x21c095['plugins']['get'](Sessions);_0x33778d['markers']['on']('update:user:range',(_0x300388,_0xedfc1d,_0x48aac6,_0x1d1e94)=>{if(!_0x1d1e94&&_0xb5a306['get'](_0xedfc1d['name']))return _0xb5a306['get'](_0xedfc1d['name'])['detach'](),void _0xb5a306['delete'](_0xedfc1d['name']);const _0x593c0c=_0xedfc1d['name']['split'](':')[0x2];if(_0x593c0c===_0x3c1191['mySessionId'])return;const _0x21f2d2='user:position:'+_0x593c0c;_0x33778d['markers']['has'](_0x21f2d2)&&_0x21c095['editing']['reconvertMarker'](_0x21f2d2),_0xedfc1d['on']('change:range',(_0x131087,_0xf3a8ed,_0x680c3d)=>{if('$graveyard'!=_0xf3a8ed['root']['rootName']&&'$graveyard'==_0xedfc1d['getRange']()['root']['rootName']&&!_0xb5a306['has'](_0xedfc1d['name'])){const _0x4a1aba=_0x33778d['schema']['getNearestSelectionRange'](_0x680c3d['deletionPosition']);if(_0x4a1aba){const _0x317589=_0x95f11e['fromRange'](_0x4a1aba);_0xb5a306['set'](_0xedfc1d['name'],_0x317589),_0x317589['on']('change:range',(_0x58a472,_0x51c300,_0x3e39f0)=>{if('$graveyard'==_0x317589['root']['rootName']){const _0x407e01=_0x33778d['schema']['getNearestSelectionRange'](_0x3e39f0['deletionPosition']);_0x407e01?(_0x317589['start']=_0x407e01['start'],_0x317589['end']=_0x407e01['end']):(_0xb5a306['delete'](_0xedfc1d['name']),_0x317589['detach']());}});}}});}),_0x33778d['document']['on']('change',()=>{_0xb5a306['size']>0x0&&_0x33778d['enqueueChange']({'isUndoable':!0x1},_0x3c8d5f=>{for(const [_0x4bc588,_0x3c9906]of _0xb5a306)'$graveyard'==_0x33778d['markers']['get'](_0x4bc588)['getRange']()['root']['rootName']&&(z(_0x4bc588['split'](':')[0x2],_0x3c9906['toRange'](),_0x33778d,_0x3c8d5f),_0x3c9906['detach']());_0xb5a306['clear']();});});}(_0x1b44fb),this['_domEmitter']['listenTo'](_0x83c1e['document'],'keydown',(_0x177401,{key:_0x5dabcb})=>{'Escape'===_0x5dabcb&&function(_0x564811){_0x564811['editing']['view']['change'](_0x3bca76=>{for(const _0x2ddee5 of _0x564811['model']['markers']){if(!_0x2ddee5['name']['startsWith']('user:position'))continue;const _0x231ac5=_0x564811['editing']['mapper']['markerNameToElements'](_0x2ddee5['name']);if(_0x231ac5){for(const _0xab5c22 of _0x231ac5)_0x3bca76['removeClass']('ck-user__marker_hovered',_0xab5c22);}}});}(_0x1b44fb);},{'useCapture':!0x0});}['afterInit'](){const _0x42958e=this['editor'],_0xadea62=_0x42958e['commands']['get']('undo');_0xadea62&&_0x42958e['model']['on']('applyOperation',(_0x131b97,_0x36d634)=>{const _0x1f077c=_0x36d634[0x0];if(!_0x1f077c['isDocumentOperation'])return;if('marker'!=_0x1f077c['type']||!_0x1f077c['name']['startsWith']('user:'))return;const _0x5caec2=_0x1f077c['batch'];_0xadea62['_createdBatches']['has'](_0x5caec2)&&(_0x1f077c['newRange']=_0x1f077c['oldRange']?_0x42958e['model']['createRange'](_0x1f077c['oldRange']['start'],_0x1f077c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2f9b81=this['editor'],_0x2ca018=_0x2f9b81['model']['document'],_0x222ec2=_0x2f9b81['plugins']['get'](Sessions);_0x2f9b81['model']['enqueueChange']({'isUndoable':!0x1},_0x3a23a4=>{const _0x438b77='user:range:'+_0x222ec2['mySessionId'],_0x5b339f='user:position:'+_0x222ec2['mySessionId'],_0x59fce9=_0x2f9b81['model']['markers']['has'](_0x438b77);_0x2f9b81['editing']['view']['hasDomSelection']?z(_0x222ec2['mySessionId'],_0x2ca018['selection']['getFirstRange'](),_0x2f9b81['model'],_0x3a23a4):_0x59fce9&&(_0x3a23a4['removeMarker'](_0x438b77),_0x3a23a4['removeMarker'](_0x5b339f));});}}function z(_0x3c7291,_0x2f5846,_0x173750,_0x187ea1){const _0x2982e2='user:range:'+_0x3c7291,_0x17a2b6='user:position:'+_0x3c7291,_0x37111d=_0x2f5846['getContainedElement']();let _0x31b497=_0x2f5846['start'];if(_0x37111d&&_0x37111d['is']('element','tableCell')){const _0x152857=function(_0x591a01,_0x5036f6){for(const _0x306b6a of _0x591a01['getPositions']())if(_0x5036f6['schema']['checkChild'](_0x306b6a,'$text'))return _0x306b6a;}(_0x2f5846,_0x173750);_0x152857&&(_0x31b497=_0x152857,_0x2f5846=_0x187ea1['createRange'](_0x31b497));}const _0x3c1ffb=_0x187ea1['createRange'](_0x31b497);_0x173750['markers']['has'](_0x2982e2)?(_0x187ea1['updateMarker'](_0x2982e2,{'range':_0x2f5846}),_0x187ea1['updateMarker'](_0x17a2b6,{'range':_0x3c1ffb})):(_0x187ea1['addMarker'](_0x2982e2,{'range':_0x2f5846,'usingOperation':!0x0}),_0x187ea1['addMarker'](_0x17a2b6,{'range':_0x3c1ffb,'usingOperation':!0x0}));}function Y(_0x3741ce){return'--ck-user-color:'+_0x3741ce['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3741ce['color']['getColorAlphaVariable']()+';';}function K(_0x6cb83c,_0x2cd517,_0x5e9cbd){const _0x5a38ab=_0x6cb83c['t'],t=_0x6cb83c['t'];switch(_0x2cd517){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 _0x5a38ab({'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'},_0x5e9cbd);default:return'';}}let J=0x1;class RealTimeCollaborationClient extends _0x39f59e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x2b269e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[WebSocketGateway,Sessions,UserMarkers,_0x21d2f4,_0x3536cf,_0x4674d2];}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 _0x2992f7=this['serverHistory']['getOperations']();for(let _0x22f139=_0x2992f7['length']-0x1;_0x22f139>=0x0;_0x22f139--){const _0x5d7222=_0x2992f7[_0x22f139];if(!this['_disconnectionOperations']['has'](_0x5d7222))return _0x5d7222['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5c0c2d){if(super(_0x5c0c2d),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x33b12d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x243503('collaboration-missing-channelid',this);const _0x525c8c=_0x5c0c2d['config']['get']('cloudServices.bundleVersion')||_0x48cf3d;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x525c8c,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x96b0a0(),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 OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x54c511=this['editor'],_0x4b4078=_0x54c511['plugins']['get'](_0x3536cf),_0x23209a=_0x54c511['plugins']['get'](WebSocketGateway);this['listenTo'](_0x4b4078,'getOperationAuthor',(_0x3e25fc,_0x322a0e)=>{const _0x101216=_0x322a0e[0x0];_0x101216['_authorId']&&(_0x3e25fc['return']=_0x4b4078['getUser'](_0x101216['_authorId']),_0x3e25fc['stop']()),null===_0x101216['_authorId']&&(_0x3e25fc['return']=null,_0x3e25fc['stop']());},{'priority':'high'}),this['listenTo'](_0x54c511['model']['document']['selection'],'change:range',(_0xe33f90,_0xd1b967)=>{_0xd1b967['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x54c511['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x54c511['model']['on']('applyOperation',(_0x1197d2,_0x5e75ad)=>{const _0x4450bb=_0x5e75ad[0x0];_0x4450bb['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4450bb),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x23209a,'state',this,'_hasSynchronizationProblem',(_0xb9ae7d,_0x3199a7)=>'connected'===_0xb9ae7d&&!_0x3199a7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x54c511['disableReadOnlyMode']('rtc-offline'):_0x54c511['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x54c511['disableReadOnlyMode']('rtc-offline'):_0x54c511['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5856e9=this['editor']['plugins']['get'](Sessions),_0xc6e0e5=this['editor']['plugins']['get'](WebSocketGateway);try{this['_isPendingUpdate']=!0x0,_0x5856e9['unregister'](this['_channelId']);const _0x3d07a0=await this['_service']['reconnect'](_0xc6e0e5['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3d07a0)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3d5a7b=await this['_service']['getConnectedSessions']();_0x5856e9['register'](this['_channelId'],_0x3d5a7b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x11d246){if(function(_0xe3d799){return'404'===_0xe3d799['code'];}(_0x11d246)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2fc04d){return'409'===_0x2fc04d['code'];}(_0x11d246)){const _0x8bedc1=K(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'](_0x8bedc1);}else{if(!(_0x11d246 instanceof ReconnectionError))throw _0x11d246;this['_handleReconnectionError']();}}}}['destroy'](){const _0x52e5e5=this['editor']['plugins']['get'](WebSocketGateway),_0x5b2dbe=this['editor']['plugins']['get'](Sessions);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5b2dbe['channelSessions']['has'](this['_channelId'])&&_0x5b2dbe['unregister'](this['_channelId']),_0x52e5e5['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5e31f9){if(this['sessionId']!==_0x5e31f9['sessionId']&&this['_lastSyncedOperationId']!==_0x5e31f9['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x5e31f9['sessionId'],this['_handleServerResponse']([],{..._0x5e31f9,'wereChangesApplied':!0x1,'data':_0x5e31f9['data']},'reconnect');}async['_connectService'](_0x3d30da,_0x219b38=!0x1){const {connection:_0x416772}=this['editor']['plugins']['get'](WebSocketGateway);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x416772,this['_channelId'])['then'](_0x4cf78a=>this['_initSessionsHandling'](_0x4cf78a))['catch'](_0x1e10bb=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1e10bb);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x51e251,_0xb13e17)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xb13e17);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5d67b6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3d30da);this['_isPendingUpdate']=!0x0;const _0x7bf8d0=await this['_service']['connect'](_0x416772,this['_compressOperations'](_0x3d30da),_0x5d67b6);if(this['sessionId']=_0x7bf8d0['sessionId'],_0x219b38){if(!_0x7bf8d0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x7bf8d0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3d30da,_0x7bf8d0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x7bf8d0,_0x3d30da);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x25f7ca=this['editor']['plugins']['get'](Sessions),_0x379217=this['editor']['plugins']['get'](UserMarkers),_0x172c22=_0x25f7ca['channelSessions']['get'](this['_channelId']);_0x172c22&&_0x172c22['length']>0x1?_0x379217['createUserMarkerOperations']():this['listenTo'](_0x25f7ca,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25f7ca['channelSessions']['get'](this['_channelId'])['length']&&_0x379217['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2d2eb9,_0x5c3bb0,_0x498488,_0x252893){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5c3bb0){const _0x516abd=this['_decompressOperations'](_0x498488,_0x252893);await this['_fetchMissingUsers'](_0x516abd),this['_handleExternalOperations'](_0x516abd,_0x5c3bb0,_0x498488['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x280c14}=this['editor'];let _0x4f1fdd;try{_0x4f1fdd=await this['_service']['getDocumentDetails']();}catch{const _0x39bd73=K(_0x280c14,'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'](_0x39bd73);}const _0x2ce777=_0x4f1fdd['currentDocumentSession']||_0x4f1fdd['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2ce777['lastOperationId']){const _0x542ac6=K(_0x280c14,'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'](_0x542ac6);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x24f632){const _0x3672c4=this['editor']['plugins']['get'](Sessions);this['listenTo'](_0x3672c4,'sessionAdd:'+this['_channelId'],(_0x3e4892,{session:_0x364da6})=>{if(_0x364da6['id']===_0x3672c4['mySessionId']){_0x3e4892['off']();const _0x131f6d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x53ec6c=_0x364da6['permissions'];_0x131f6d&&_0x131f6d['isEnabled']&&(_0x53ec6c=_0x53ec6c['filter'](_0x1da141=>'document:write'!==_0x1da141)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x53ec6c,this['_channelId']);}}),_0x3672c4['register'](this['_channelId'],_0x24f632);}['_initThrowingOnDataSet'](){const _0x464eed=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x18f99c)=>{if(!_0x18f99c[_0x18f99c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x243503('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x464eed['apply'](this['editor']['data'],_0x18f99c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xe0777a,[_0x363b90])=>{if(this['_document']['version'])throw new _0x243503('realtimecollaborationclient-init-document-already-initialized',this);_0xe0777a['stop'](),this['_setPendingAction']();const _0x3af6cb=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x42c31f])=>!_0x42c31f['lazyLoad'])['map'](([_0x2c1d97,_0x557ed6])=>[_0x2c1d97,_0x557ed6['modelAttributes']||{}])),_0xe165ad=this['_getOperationsFromInitData'](_0x363b90,_0x3af6cb);0x0==_0xe165ad['length']&&_0xe165ad['push'](new _0x5197d8(0x0)),_0xe0777a['return']=this['_connectService'](_0xe165ad)['then'](()=>{this['editor']['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x148419=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x148419))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xf4b7dc,[_0x180b8e,_0x1bb445])=>{_0xf4b7dc['stop']();const _0x5cfe97=this['editor']['model']['document']['getRoot'](_0x180b8e);if(!this['_knownRootNames']['has'](_0x180b8e)){const _0x18e896=_0x1bb445&&_0x1bb445['data']?_0x1bb445['data']:'',_0x3f97d6=_0x1bb445&&_0x1bb445['attributes']?_0x1bb445['attributes']:{};await this['_loadRoot'](_0x180b8e,_0x18e896,_0x3f97d6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5cfe97['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5cfe97);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5839f3){const _0x466311=this['editor']['plugins']['get'](_0x3536cf),{connection:_0x5868ab}=this['editor']['plugins']['get'](WebSocketGateway),_0x674d7b=new Set();for(const _0x5940b7 of _0x5839f3){const _0x52d192=_0x5940b7['_authorId'];_0x52d192&&!_0x466311['getUser'](_0x52d192)&&_0x674d7b['add'](_0x52d192);}if(0x0===_0x674d7b['size'])return;const _0x4ec212=await _0x34df4b['getMany'](_0x5868ab,Array['from'](_0x674d7b));for(const _0x3a8dd8 of _0x4ec212)_0x466311['getUser'](_0x3a8dd8['id'])||_0x466311['addUser'](_0x3a8dd8);}['_getOperationsFromInitData'](_0x2933c1,_0x387129={}){const _0x210d87=this['editor']['model'],_0x408f79=[];let _0x416168=0x0;const _0x529a67='string'==typeof _0x2933c1?{'main':_0x2933c1}:_0x2933c1;for(const _0x3ea26a of Object['keys'](_0x529a67)){if(!this['_document']['roots']['has'](_0x3ea26a))throw new _0x243503('realtimecollaborationclient-init-non-existent-root',this);const _0x2ae180=this['_document']['getRoot'](_0x3ea26a),_0x52780f=this['editor']['data']['parse'](_0x529a67[_0x3ea26a],_0x2ae180),_0x265267=new _0x203f45(_0x210d87['createPositionAt'](_0x2ae180,0x0),_0x52780f,_0x416168++);_0x408f79['push'](_0x265267);for(const [_0x33690c,_0x1aa544]of _0x52780f['markers']){const _0x3e554d=_0x210d87['createRange'](_0x210d87['createPositionFromPath'](_0x2ae180,_0x1aa544['start']['path']['slice']()),_0x210d87['createPositionFromPath'](_0x2ae180,_0x1aa544['end']['path']['slice']())),_0x1d1d2c=new _0x12333c(_0x33690c,null,_0x3e554d,_0x210d87['markers'],!0x0,_0x416168++);_0x408f79['push'](_0x1d1d2c);}}if(_0x387129)for(const [_0x4c5a51,_0x56a564]of Object['entries'](_0x387129)){const _0x294594=_0x210d87['document']['getRoot'](_0x4c5a51);if(!_0x294594)throw new _0x243503('multi-root-editor-root-attributes-no-root',null);for(const [_0x1ce66d,_0xd73879]of Object['entries'](_0x56a564))if(null!==_0xd73879){const _0x3cfaac=new _0x3d0c24(_0x294594,_0x1ce66d,null,_0xd73879,_0x416168++);_0x408f79['push'](_0x3cfaac);}}return _0x408f79;}async['_loadRoot'](_0x3495c2,_0x462c58,_0x320858){this['_getOperationsFromInitData']({[_0x3495c2]:_0x462c58},{[_0x3495c2]:_0x320858})['forEach']((_0x27dda0,_0x184384)=>{_0x27dda0['baseVersion']=this['_document']['version']+_0x184384,_0x27dda0['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x27dda0);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2da156,_0x8651ef){let _0x2e361c;this['_offset']=_0x2da156['offset'];const _0x2ccf0b=_0x2da156['wereChangesApplied']&&!_0x2da156['initData'],_0x5c5f33=_0x2ccf0b?0x0:_0x2da156['data']['baseVersion'];if(_0x8651ef['forEach'](_0x5c79be=>{_0x5c79be['_isInit']=!0x0,_0x5c79be['createdAt']=_0x2da156['sessionCreatedAt'],_0x5c79be['_authorId']=null;}),_0x2ccf0b)_0x2e361c=_0x8651ef,this['_applyOperationsSet'](_0x2e361c,_0x2ccf0b);else{if(_0x2da156['initData']){const _0x283e64=this['_getOperationsFromInitData'](_0x2da156['initData']);this['_document']['history']['version']=-_0x283e64['length'],_0x283e64['forEach'](_0x3586b1=>{_0x3586b1['baseVersion']-=_0x283e64['length'],_0x3586b1['createdAt']=_0x2da156['sessionCreatedAt'],_0x3586b1['_isInit']=!0x0,_0x3586b1['_authorId']=null;}),this['_applyOperationsSet'](_0x283e64,!0x0),this['serverHistory']['version']=-_0x283e64['length']+this['_offset'],this['_updateServerHistory'](_0x283e64);}this['_document']['history']['version']=_0x5c5f33,_0x2e361c=this['_decompressOperations'](_0x2da156['data'],_0x2da156['metadata']),await this['_fetchMissingUsers'](_0x2e361c),this['_applyOperationsSet'](_0x2e361c,_0x2ccf0b);}_0x2da156['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2e361c,_0x2da156['lastOperationId']),this['_lastSyncedOperationId']=_0x2da156['lastOperationId']),this['serverHistory']['version']=_0x5c5f33+this['_offset'],this['_updateServerHistory'](_0x2e361c),_0x8651ef['filter'](_0x5cd1a6=>{const _0x453e60=this['_getAffectedRoot'](_0x5cd1a6);return _0x453e60&&!this['_knownRootNames']['has'](_0x453e60);})['forEach']((_0x4eb299,_0x3f1c5e)=>{_0x4eb299['baseVersion']=this['_document']['version']+_0x3f1c5e,this['_saveOperationInBuffer'](_0x4eb299);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x13b683,_0x1975dc){const _0x115f67=_0x1975dc&&_0x1975dc['message'];if(_0x115f67&&_0x115f67['startsWith']('realtimecollaborationclient'))throw _0x1975dc;const _0x22db40=this['editor']['plugins']['get'](WebSocketGateway);throw this['_isPendingUpdate']=!0x0,_0x22db40['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x243503(_0x13b683,this['editor'],_0x115f67?{'originalError':_0x115f67}:void 0x0);}['_saveOperationInBuffer'](_0x4853d4){this['_knownOperations']['has'](_0x4853d4)||(this['_knownOperations']['add'](_0x4853d4),this['_bufferedOperations']['push'](_0x4853d4),this['_pendingAction']||'marker'==_0x4853d4['type']&&!_0x4853d4['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x22a42e=!0x1){!_0x22a42e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3f60fb=>{_0x3f60fb&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x19631c=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x333a97){return _0x333a97['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x333a97['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x333a97['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x19631c)||this['_crash'](_0x19631c['message'],_0x19631c);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xfdf696=>{this['on']('change:_isPendingUpdate',()=>{_0xfdf696();});});}async['_sendBufferedOperations'](){const _0x4003a0=this['editor']['plugins']['get'](UserMarkers);if(this['_shouldSendSelectionUpdate']()&&(_0x4003a0['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2e1f41=[...this['_bufferedOperations']];for(const _0x2f015d of _0x2e1f41)_0x2f015d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2f015d);const _0x338f2f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2e1f41),_0x2a52f7=J++,_0x35c205=this['_compressOperations'](_0x2e1f41),_0x104abc=await this['_service']['sendOperations'](_0x35c205,_0x35c205['baseVersion'],_0x338f2f);try{return await this['_handleServerResponse'](_0x2e1f41,_0x104abc,_0x2a52f7);}catch(_0x43b75a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x43b75a);}}async['_handleServerResponse'](_0x59bd4a,_0x3a4d32,_0xfc5dee){if('error'in _0x3a4d32)throw _0x3a4d32['error'];let _0x25c730=!0x1;if(_0x3a4d32['wereChangesApplied']){_0x3a4d32['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3a4d32['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2797bd=>!_0x59bd4a['includes'](_0x2797bd));for(const _0x3c5b9b of _0x59bd4a)_0x3c5b9b['createdAt']='lastOperationAcceptedAt'in _0x3a4d32&&_0x3a4d32['lastOperationAcceptedAt']||void 0x0;Q(_0x59bd4a,_0x3a4d32['version']-_0x59bd4a['length']),this['_updateServerHistory'](_0x59bd4a);const _0x44aa51=_0x59bd4a['filter'](_0x13d23b=>{if(!_0x13d23b['_isInit'])return!0x1;const _0x498f39=this['_getAffectedRoot'](_0x13d23b);return _0x498f39&&!this['_knownRootNames']['has'](_0x498f39);});Q(_0x44aa51,this['_document']['version']),this['_applyOperationsSet'](_0x44aa51),_0x25c730=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x353ea9=this['_decompressOperations'](_0x3a4d32['data'],_0x3a4d32['metadata'])['filter'](_0x2b1289=>_0x2b1289['baseVersion']>=this['_lastServerVersion']);_0x353ea9['forEach'](_0x1ac4dc=>this['_addKnownRoot'](_0x1ac4dc)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x423fdd=>!_0x423fdd['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x423fdd))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x353ea9),_0x25c730=this['_handleExternalOperations'](_0x353ea9,_0x3a4d32['version'],_0x3a4d32['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x25c730?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1c9cf0,_0x2da236,_0x4b15ab){try{const _0x242d50={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xe4e8b2,operationsB:_0x3995a9,originalOperations:_0x460906}=_0x233e00(_0x1c9cf0,this['_bufferedOperations'],_0x242d50);Q(_0xe4e8b2,this['_document']['version']),Q(_0x3995a9,_0x2da236);for(const _0x15378e of _0xe4e8b2){const _0x49844c=_0x460906['get'](_0x15378e);_0x15378e['_authorId']=_0x49844c?_0x49844c['_authorId']:null;}_0x4b15ab&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1c9cf0,_0x4b15ab),this['_lastSyncedOperationId']=_0x4b15ab),this['_bufferedOperations']=[..._0x3995a9],this['_applyOperationsSet'](_0xe4e8b2),this['_updateServerHistory'](_0x1c9cf0);}catch(_0x5acf46){return console['error'](_0x5acf46),!0x1;}return!0x0;}['_applyOperationsSet'](_0xc88faa,_0x27ada4=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1d48c2=>{for(const _0x218952 of _0xc88faa)this['_knownOperations']['add'](_0x218952),this['_addKnownRoot'](_0x218952),_0x1d48c2['batch']['addOperation'](_0x218952),this['editor']['model']['applyOperation'](_0x218952);});}['_addKnownRoot'](_0x66c2ad){const _0x42bdf4=this['_getAffectedRoot'](_0x66c2ad);_0x42bdf4&&this['_knownRootNames']['add'](_0x42bdf4);}['_getAffectedRoot'](_0x3a89a5){let _0x56d1fe,_0x18350c;switch(_0x3a89a5['type']){case'insert':_0x56d1fe=_0x3a89a5['position']['root'];break;case'marker':if(_0x18350c=_0x3a89a5['newRange'],!_0x18350c)return null;_0x56d1fe=_0x18350c['root'];break;case'addRootAttribute':_0x56d1fe=_0x3a89a5['root'];break;case'addRoot':_0x56d1fe=_0x3a89a5['affectedSelectable'];break;case'move':_0x56d1fe=_0x3a89a5['targetPosition']['root'];break;default:return null;}return _0x56d1fe['rootName'];}['_updateServerHistory'](_0x34fa6e){_0x34fa6e['forEach'](_0x56ffd5=>{const _0x1ce28c=_0x56ffd5['clone']();_0x1ce28c['_authorId']=_0x56ffd5['_authorId'],_0x1ce28c['_isInit']=!!_0x56ffd5['_isInit'],_0x1ce28c['createdAt']=_0x56ffd5['createdAt'],_0x1ce28c['baseVersion']+=this['_offset'],_0x56ffd5['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1ce28c),this['serverHistory']['addOperation'](_0x1ce28c);});}['_handleReconnectionError'](_0x3e50e9){const _0x9cdfc0=this['editor']['plugins']['get']('Notification'),_0x22d08c=this['editor']['locale'];_0x3e50e9||(_0x3e50e9=K(_0x22d08c,'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.')),_0x9cdfc0['showWarning'](_0x3e50e9,{'title':K(_0x22d08c,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](WebSocketGateway)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x21d2f4)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x21d2f4)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x54107f){const _0x15513e=_0x54107f['map'](_0x567002=>_0x567002['toJSON']());return this['_compressor']['compress'](_0x15513e);}['_decompressOperations'](_0x4ae7d3,_0x37ebe6){return this['_compressor']['decompress'](_0x4ae7d3)['map']((_0x4411a8,_0x7bbd90)=>{const _0x5ada0c='init'==_0x37ebe6[_0x7bbd90]['type'];if('InsertOperation'==_0x4411a8['__className']){const _0x5142bb=_0x4411a8['position']['root'];!this['_document']['getRoot'](_0x5142bb)&&(this['_document']['createRoot']('$unknown',_0x5142bb)['_isAttached']=!0x1);}else{if('RootOperation'==_0x4411a8['__className']){const _0x4e01e3=this['_document']['getRoot'](_0x4411a8['rootName']);_0x4e01e3&&'$unknown'==_0x4e01e3['name']&&_0x4411a8['elementName']!=_0x4e01e3['name']&&(_0x4e01e3['name']=_0x4411a8['elementName']);}}const _0x444210=_0x1b7c05['fromJSON'](_0x4411a8,this['_document']);return _0x444210['wasUndone']=_0x4411a8['wasUndone'],_0x444210['_isInit']=_0x5ada0c,_0x444210['_authorId']=_0x5ada0c?null:_0x37ebe6[_0x7bbd90]['userId'],_0x444210['_isDisconnection']='cs:removeUser'===_0x37ebe6[_0x7bbd90]['type'],_0x444210['createdAt']=_0x37ebe6[_0x7bbd90]['createdAt'],_0x444210;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x28bbf4=this['editor']['plugins']['get'](Sessions)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x28bbf4&&_0x28bbf4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function Q(_0x4f0cd9,_0x545467){for(const _0x1cb32c of _0x4f0cd9)_0x1cb32c['baseVersion']=_0x545467++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x397bd6){this['_ignoredOperations']=_0x397bd6,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x358c82){let _0x1b8b0e=_0x358c82['length'];for(;_0x1b8b0e--;){const _0x217780=_0x358c82[_0x1b8b0e];if(!this['_ignoredOperations']['has'](_0x217780)){if(!this['_operationToId']['has'](_0x217780)){const _0x592702=_0x438389()['slice'](0x1,0x12);this['_operationToId']['set'](_0x217780,_0x592702);}return this['_operationToId']['get'](_0x217780);}}}['setIdForTheLastOperation'](_0x2ca159,_0x1bb6dd){if(!_0x1bb6dd)return;let _0x58ce93=_0x2ca159['length'];for(;_0x58ce93--;){const _0x61c658=_0x2ca159[_0x58ce93];this['_ignoredOperations']['has'](_0x61c658)||this['_operationToId']['set'](_0x61c658,_0x1bb6dd);}}}class RealTimeCollaborativeEditing extends _0x39f59e{static get['requires'](){return[RealTimeCollaborationClient];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class CloudServicesCommentsAdapter extends _0x394a1b{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1b1ea1)());['_services'];static get['requires'](){return[WebSocketGateway,_0x3fd35f,Sessions,_0x3536cf];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x518453){super(_0x518453),this['_services']=new Map();}async['init'](){const _0x5234b4=this['context'],_0x3a4ae2=_0x5234b4['plugins']['get'](_0x3fd35f);if(_0x5234b4['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),_0x3a4ae2['adapter']={'addCommentThread':async({channelId:_0x1389f8,threadId:_0x1b9434,comments:_0x166ee6,resolvedAt:_0xff6b0d,resolvedBy:_0x2dc753,context:_0x1c9bd1,attributes:_0x128387})=>{const _0x5d4cef=await this['_getService'](_0x1389f8)['addCommentThread']({'commentThreadId':_0x1b9434,'comments':_0x166ee6['map'](_0x2a2a70=>function(_0x503975,_0x2c8068,_0x236180){return{'commentThreadId':_0x236180,'commentId':_0x503975['commentId'],'userId':_0x503975['authorId'],'content':_0x503975['content'],'documentId':_0x2c8068,'createdAt':_0x503975['createdAt'],'attributes':_0x503975['attributes']||{}};}(_0x2a2a70,_0x1389f8,_0x1b9434)),'resolvedAt':_0xff6b0d,'resolvedBy':_0x2dc753,'context':_0x1c9bd1,'attributes':_0x128387})['catch'](Z);return{'threadId':_0x5d4cef['commentThreadId'],'comments':_0x5d4cef['comments']};},'getCommentThread':async({channelId:_0x4b2d2f,threadId:_0x17b339})=>{const _0x1462f0=await this['_getService'](_0x4b2d2f)['getCommentThread'](_0x17b339)['catch'](X)['catch'](Z);return _0x1462f0?_0x1462f0['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1462f0]),{'threadId':_0x1462f0['commentThreadId'],'comments':_0x1462f0['comments']['map'](tt),'context':_0x1462f0['context'],'resolvedAt':_0x1462f0['resolvedAt'],'resolvedBy':_0x1462f0['resolvedBy'],'attributes':_0x1462f0['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xa8be0f,threadId:_0x5c53c1,context:_0x3dfb71,unlinkedAt:_0x14685e,attributes:_0x370859})=>this['_getService'](_0xa8be0f)['updateCommentThread']({'commentThreadId':_0x5c53c1,'context':_0x3dfb71,'attributes':_0x370859,'unlinkedAt':_0x14685e})['catch'](X)['catch'](Z),'resolveCommentThread':async({channelId:_0xa486f5,threadId:_0x4a924f})=>{const _0x57ad8e=await this['_getService'](_0xa486f5)['resolveCommentThread'](_0x4a924f)['catch'](X)['catch'](Z);return{'threadId':_0x57ad8e['commentThreadId'],'resolvedAt':_0x57ad8e['resolvedAt'],'resolvedBy':_0x57ad8e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x475956,threadId:_0x365367})=>this['_getService'](_0x475956)['reopenCommentThread'](_0x365367)['catch'](X)['catch'](Z),'removeCommentThread':({channelId:_0x16d54a,threadId:_0x3b488f})=>this['_getService'](_0x16d54a)['removeCommentThread'](_0x3b488f)['catch'](X)['catch'](Z),'addComment':({channelId:_0x38b8cd,threadId:_0x5eab8e,commentId:_0x53d7a5,content:_0x2e2216,attributes:_0x41cc31})=>this['_getService'](_0x38b8cd)['addComment'](_0x5eab8e,_0x53d7a5,_0x2e2216,_0x41cc31)['catch'](Z),'updateComment':({channelId:_0xed51cd,threadId:_0x35e887,commentId:_0x5e8a85,content:_0x2092c1,attributes:_0x3954f5})=>this['_getService'](_0xed51cd)['updateComment'](_0x35e887,_0x5e8a85,_0x2092c1,_0x3954f5)['catch'](X)['catch'](Z),'removeComment':({channelId:_0x3a11de,threadId:_0x58aeb2,commentId:_0x204673})=>this['_getService'](_0x3a11de)['removeComment'](_0x58aeb2,_0x204673)['catch'](X)['catch'](Z)},_0x5234b4 instanceof _0x24b668){const _0x23360d=_0x5234b4['config']['get']('collaboration.channelId'),_0x4f94ba=_0x5234b4['plugins']['get'](Sessions);await this['_setUpService'](_0x23360d);const _0x92f899=await this['_services']['get'](_0x23360d)['getConnectedSessions']();this['listenTo'](_0x4f94ba,'sessionAdd:'+_0x23360d,(_0x2b9848,{session:_0x1d9b0d})=>{_0x1d9b0d['id']===_0x4f94ba['mySessionId']&&(_0x2b9848['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1d9b0d['permissions'],_0x23360d));}),_0x4f94ba['register'](_0x23360d,_0x92f899);}}async['_setUpService'](_0x271130){if(this['_services']['has'](_0x271130))throw new _0x243503('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x271130});const _0x526480=this['context']['plugins']['get'](_0x3fd35f),_0x1fe5ab=new CloudServicesCommentsAdapter['CommentsService'](_0x271130);this['_services']['set'](_0x271130,_0x1fe5ab),this['listenTo'](_0x1fe5ab,'commentThreadAdded',(_0x34eeee,_0x354617)=>{const {commentThreadId:_0x1281a3,documentId:_0xd1aaf,context:_0x135130,attributes:_0x1b2766,resolvedAt:_0x6eb82d,resolvedBy:_0x54962b,comments:_0x119684}=_0x354617;_0x526480['getCommentThread'](_0x1281a3)||_0x526480['addCommentThread']({'threadId':_0x1281a3,'channelId':_0xd1aaf,'comments':_0x119684?_0x119684['map'](tt):[],'context':_0x135130,'attributes':_0x1b2766,'resolvedAt':_0x6eb82d,'resolvedBy':_0x54962b,'isFromAdapter':!0x0});}),this['listenTo'](_0x1fe5ab,'commentThreadUpdated',(_0xf471f,{commentThreadId:_0xd76f7b,documentId:_0x13684b,context:_0x34650b,unlinkedAt:_0x24294a,attributes:_0x35fd98})=>{_0x526480['getCommentThread'](_0xd76f7b)&&_0x526480['updateCommentThread']({'threadId':_0xd76f7b,'channelId':_0x13684b,'context':_0x34650b,'unlinkedAt':_0x24294a,'attributes':_0x35fd98,'isFromAdapter':!0x0});}),this['listenTo'](_0x1fe5ab,'commentThreadResolved',(_0xf4b1e2,{commentThreadId:_0x4aa93d,resolvedBy:_0x55ef01,resolvedAt:_0x53c685})=>{const _0x155e87=_0x526480['getCommentThread'](_0x4aa93d);_0x155e87&&_0x155e87['resolve']({'resolvedBy':_0x55ef01,'resolvedAt':_0x53c685,'isFromAdapter':!0x0});}),this['listenTo'](_0x1fe5ab,'commentThreadReopened',(_0x1e34aa,{commentThreadId:_0x29a42})=>{const _0x2fbebb=_0x526480['getCommentThread'](_0x29a42);_0x2fbebb&&_0x2fbebb['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1fe5ab,'commentThreadRemoved',(_0x437066,{commentThreadId:_0x15d1f5})=>{const _0x55cb04=_0x526480['getCommentThread'](_0x15d1f5);_0x55cb04&&_0x55cb04['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1fe5ab,'commentAdded',(_0x21528a,_0x39ccda)=>{const _0x432913=_0x39ccda['commentThreadId'],_0x427cb9=_0x526480['getCommentThread'](_0x432913);_0x427cb9&&_0x427cb9['addComment']({...tt(_0x39ccda),'isFromAdapter':!0x0});}),this['listenTo'](_0x1fe5ab,'commentUpdated',(_0x2f6f29,{commentThreadId:_0x2926b9,commentId:_0x28250b,content:_0x260378,attributes:_0x2eba67})=>{const _0x5de1d0=_0x526480['getCommentThread'](_0x2926b9);if(_0x5de1d0){const _0x189a58=_0x5de1d0['getComment'](_0x28250b);_0x189a58&&_0x189a58['update']({'content':_0x260378,'attributes':_0x2eba67,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1fe5ab,'commentRemoved',(_0xcf6ae3,{commentThreadId:_0x18bf6f,commentId:_0x3aa324})=>{const _0x53f066=_0x526480['getCommentThread'](_0x18bf6f);if(_0x53f066){const _0x280460=_0x53f066['getComment'](_0x3aa324);_0x280460&&_0x280460['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x271130);}['destroy'](){if(this['context']instanceof _0x24b668){const _0x309792=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x309792);}}['_terminateService'](_0x14bc3d){if(!this['_services']['has'](_0x14bc3d))throw new _0x243503('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x14bc3d});this['_getService'](_0x14bc3d)['disconnect'](),this['_services']['delete'](_0x14bc3d);}async['reconnect'](){for(const _0x22e9c6 of this['_services']['keys']())await this['_connectService'](_0x22e9c6);if(this['context']instanceof _0x24b668){const _0x4c5ba2=this['context']['config']['get']('collaboration.channelId'),_0x314853=this['context']['plugins']['get'](Sessions);_0x314853['unregister'](_0x4c5ba2);const _0x4346e9=await this['_services']['get'](_0x4c5ba2)['getConnectedSessions']();_0x314853['register'](_0x4c5ba2,_0x4346e9);}}async['_connectService'](_0x44234b){const {connection:_0x32663f}=this['context']['plugins']['get'](WebSocketGateway),_0x41bfc9=this['context']['plugins']['get'](_0x3fd35f),_0x1b33ff=this['_services']['get'](_0x44234b),_0x11bcad=await _0x1b33ff['connect'](_0x32663f);await this['_fetchMissingUsersForThreads'](_0x11bcad);const _0x1d0816=new Set(Array['from'](_0x41bfc9['getCommentThreads']({'channelId':_0x44234b}),_0x135445=>_0x135445['id']));for(const _0x5654ee of _0x11bcad)_0x5654ee['deletedAt']||_0x1d0816['delete'](_0x5654ee['commentThreadId']);for(const _0x75a60 of _0x1d0816)_0x41bfc9['getCommentThread'](_0x75a60)['remove']({'isFromAdapter':!0x0});for(const _0x516c92 of _0x11bcad){let _0x29869c=_0x41bfc9['getCommentThread'](_0x516c92['commentThreadId']);const {commentThreadId:_0x2cbe04,context:_0x3c4700,attributes:_0x26e7cb,resolvedBy:_0x574ff1,resolvedAt:_0xd8f485,unlinkedAt:_0x33dc19,deletedAt:_0x501aa7}=_0x516c92;if(_0x501aa7)continue;_0x29869c||(_0x29869c=_0x41bfc9['addCommentThread']({'channelId':_0x44234b,'threadId':_0x2cbe04,'context':_0x3c4700,'attributes':_0x26e7cb||{},'resolvedBy':_0x574ff1,'resolvedAt':_0xd8f485,'unlinkedAt':_0x33dc19,'isFromAdapter':!0x0}));const _0x1f6385=new Set(Array['from'](_0x29869c['comments'],_0x493c00=>_0x493c00['id']));for(const _0x5bec28 of _0x516c92['comments'])_0x1f6385['delete'](_0x5bec28['commentId']);for(const _0x19c790 of _0x1f6385)_0x29869c['getComment'](_0x19c790)['remove']({'isFromAdapter':!0x0});for(const _0x1c18b2 of _0x516c92['comments']){const _0x53ec67=_0x29869c['getComment'](_0x1c18b2['commentId']);_0x53ec67?_0x53ec67['content']!==_0x1c18b2['content']&&_0x53ec67['update']({'content':_0x1c18b2['content'],'isFromAdapter':!0x0}):_0x29869c['addComment'](Object['assign'](tt(_0x1c18b2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2a170e){if(!this['_services']['has'](_0x2a170e))throw new _0x243503('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2a170e});return this['_services']['get'](_0x2a170e);}async['_fetchMissingUsersForThreads'](_0x561d0c){const _0x5d0656=this['context']['plugins']['get'](_0x3536cf),{connection:_0x1a2fe5}=this['context']['plugins']['get'](WebSocketGateway),_0x2ed920=new Set();for(const {resolvedBy:_0x5029f0,comments:_0x401a8d}of _0x561d0c){_0x5029f0&&!_0x5d0656['getUser'](_0x5029f0)&&_0x2ed920['add'](_0x5029f0);for(const {userId:_0x36698b}of _0x401a8d)_0x5d0656['getUser'](_0x36698b)||_0x2ed920['add'](_0x36698b);}if(0x0===_0x2ed920['size'])return;const _0xac8952=await _0x34df4b['getMany'](_0x1a2fe5,Array['from'](_0x2ed920));for(const _0x42965e of _0xac8952)_0x5d0656['getUser'](_0x42965e['id'])||_0x5d0656['addUser'](_0x42965e);}}async function X(_0x2f0ddd){if('404'!==_0x2f0ddd['code'])throw _0x2f0ddd;}function Z(_0x1a7dec){if((_0x2d4aa6=_0x1a7dec)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2d4aa6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2d4aa6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2d4aa6;throw _0x1a7dec;}function tt(_0x25660a){return{'threadId':_0x25660a['commentThreadId'],'commentId':_0x25660a['commentId'],'content':_0x25660a['content'],'createdAt':_0x25660a['createdAt'],'authorId':_0x25660a['userId'],'attributes':_0x25660a['attributes']||{}};}class CloudServicesTrackChangesAdapter extends _0x39f59e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x5c2a30)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[CloudServicesCommentsAdapter,_0x4ec4de,WebSocketGateway];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x467731){super(_0x467731);const _0x62000c=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x62000c);}['init'](){const _0x2aaf37=this['editor']['plugins']['get'](WebSocketGateway),_0x40b08d=this['editor']['plugins']['get'](_0x4ec4de);return _0x40b08d['adapter']={'getSuggestion':async _0x23bb68=>{await this['_waitForServiceReady']();const _0x397b4c=await this['_trackChangesService']['get'](_0x23bb68)['catch'](et);return await this['_fetchMissingUsersForThreads']([_0x397b4c]),_0x397b4c;},'addSuggestion':async({id:_0x4fe5e1,type:_0x4dae8c,data:_0x552b56,originalSuggestionId:_0x23941a,attributes:_0x379be1})=>{await this['_waitForServiceReady']();const _0x48514d={'id':_0x4fe5e1,'type':_0x4dae8c,'data':_0x552b56,'originalSuggestionId':_0x23941a,'attributes':_0x379be1},_0x441fc4=await this['_trackChangesService']['add'](_0x4fe5e1,_0x4dae8c,_0x552b56,_0x23941a,_0x379be1)['catch'](_0x376111=>{if(st(_0x376111))return new Promise(_0xf34bf0=>{this['_bufferedRequests']['set'](_0x4fe5e1,{'resolve':_0xf34bf0,'suggestionData':_0x48514d});});throw _0x376111;});return this['_bufferedRequests']['delete'](_0x4fe5e1),_0x441fc4;},'updateSuggestion':async(_0x496a7d,_0x154c7b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x154c7b['state'])return this['_trackChangesService']['update'](_0x496a7d,_0x154c7b)['catch'](et);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x10fa3c,_0x31b529)=>{_0x40b08d['hasSuggestion'](_0x31b529['id'])&&(_0x40b08d['getSuggestion'](_0x31b529['id'])['attributes']=_0x31b529['attributes']);}),this['_trackChangesService']['connect'](_0x2aaf37['connection'])['then'](_0x5c89d1=>(_0x2aaf37['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5c89d1)['then'](()=>{for(const _0x3640e9 of _0x5c89d1){_0x40b08d['addSuggestionData'](_0x3640e9)['_saved']=!0x0;}})));}async['reconnect'](){const _0x57c774=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x501846}=this['editor']['plugins']['get'](WebSocketGateway),_0x18aa84=await this['_trackChangesService']['connect'](_0x501846);await this['_fetchMissingUsersForThreads'](_0x18aa84);for(const {suggestionData:_0x5abb3c,resolve:_0xb4c981}of this['_bufferedRequests']['values']()){let _0x98500d=_0x18aa84['find'](_0x7b5bf5=>_0x7b5bf5['id']===_0x5abb3c['id']);_0x98500d||(_0x98500d=await this['_trackChangesService']['add'](_0x5abb3c['id'],_0x5abb3c['type'],_0x5abb3c['data'],_0x5abb3c['originalSuggestionId'])),_0xb4c981(_0x98500d);}for(const _0xb524d0 of _0x18aa84)_0x57c774['hasSuggestion'](_0xb524d0['id'])||_0x57c774['addSuggestionData'](_0xb524d0);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2c0f69=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4a18b1=>{_0x4a18b1['off'](),_0x2c0f69();});});}async['_fetchMissingUsersForThreads'](_0xcd37c8){const _0x5bb4df=this['editor']['plugins']['get'](_0x3536cf),{connection:_0x3fc0d8}=this['editor']['plugins']['get'](WebSocketGateway),_0x439798=new Set();for(const {authorId:_0xd771b6}of _0xcd37c8)_0x5bb4df['getUser'](_0xd771b6)||_0x439798['add'](_0xd771b6);if(0x0===_0x439798['size'])return;const _0x23d061=await _0x34df4b['getMany'](_0x3fc0d8,Array['from'](_0x439798));for(const _0x53c574 of _0x23d061)_0x5bb4df['getUser'](_0x53c574['id'])||_0x5bb4df['addUser'](_0x53c574);}}function et(_0x1ce27c){if(st(_0x1ce27c))return new Promise(()=>{});throw _0x1ce27c;}function st(_0xa5d06a){return _0xa5d06a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa5d06a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeComments extends _0x39f59e{static get['requires'](){return[_0x514b66,CloudServicesCommentsAdapter,RealTimeCollaborativeEditing,WebSocketGateway];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1f517e=this['editor']['plugins']['get'](WebSocketGateway),_0x500eca=this['editor']['plugins']['get'](_0x83c134),_0x177a8a=this['editor']['plugins']['get'](CloudServicesCommentsAdapter);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1f517e,'change:state',(_0xc3aa77,_0x6ef80d,_0x169740)=>{_0x500eca['isThreadsLoadingPaused']='connected'!==_0x169740;});}),this['listenTo'](_0x1f517e,'change:state',(_0xca5932,_0x463071,_0x364944)=>{this['editor']['plugins']['get'](_0x3fd35f)['switchReadOnly']('connected'!==_0x364944);}),_0x177a8a['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](CloudServicesCommentsAdapter)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x39f59e{static get['requires'](){return[RealTimeCollaborativeComments,CloudServicesTrackChangesAdapter,_0x36fd6b];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class CloudServicesRevisionHistoryAdapter extends _0x39f59e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x150025)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[WebSocketGateway,RealTimeCollaborationClient,_0xb826a,Sessions,_0x3536cf];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x589f76){super(_0x589f76);const _0x1257b3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x1257b3);}async['init'](){const _0x5671dd=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0x52afc1=_0x5671dd['serverHistory'],_0x399409=this['editor']['plugins']['get'](WebSocketGateway);this['_revisionTracker']['setSource']({'history':_0x52afc1,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5671dd['sessionId']});const _0x11bad2=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x48cf3d,_0x3fbabf=await _0x27f1a5['isBundleUploaded'](_0x399409['connection'],_0x11bad2);this['editor']['plugins']['get'](_0xb826a)['adapter']={'getRevision':async({revisionId:_0x1ed825})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1ed825)),'updateRevisions':async _0x1c3932=>{await this['_waitForServiceReady']();const _0x47a83f=this['_revisionTracker']['currentRevision'];if(_0x3fbabf&&0x1===_0x1c3932['length']&&_0x1c3932[0x0]['id']===_0x47a83f['id'])return _0x1c3932;for(const _0x3b575b of _0x1c3932)_0x3b575b['id']===_0x47a83f['id']&&(_0x3b575b['isEmptyCurrent']=_0x3b575b['fromVersion']===_0x3b575b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1c3932,this['_lastRequestId'])['then'](_0x5ed0e8=>(this['_lastRequestId']=_0x5ed0e8,_0x1c3932))['catch'](_0x1f3da0=>{if(it(_0x1f3da0)||'400'===_0x1f3da0['code']&&void 0x0!==_0x1f3da0['data']['wrongRequestId']){for(const _0x203c72 of _0x1c3932){!this['_revisionTracker']['repository']['getRevision'](_0x203c72['id'])||this['_revisionTracker']['_bufferUpdate'](_0x203c72['id'],_0x203c72,!0x1);}if(it(_0x1f3da0)&&'destroyed'!==this['editor']['state'])throw _0x1f3da0;return _0x1c3932;}throw _0x1f3da0;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x6d12a9,{revisionsData:_0x87f218,requestId:_0x3b2aab})=>{Math['max'](..._0x87f218['map'](_0x159fa5=>_0x159fa5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x87f218,_0x3b2aab);}):this['_handleRevisionsUpdate'](_0x87f218,_0x3b2aab);});const {revisions:_0x4927cb,requestId:_0x388505}=await this['_revisionHistoryService']['connect'](_0x399409['connection']);_0x399409['addToReconnectionStack'](this),this['_lastRequestId']=_0x388505,await this['_fetchMissingUsers'](_0x4927cb);for(const _0x4dbbee of _0x4927cb)this['_revisionTracker']['addRevisionData'](_0x4dbbee);this['listenTo'](_0x5671dd,'change:_isConnected',(_0x276af8,_0x180118,_0x5afa9d)=>{_0x5afa9d&&(this['_oldOffset']=_0x5671dd['_offset'],_0x276af8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x399409,'state',_0x527e1f=>_0x527e1f===_0x3534a0['CONNECTED']);}async['reconnect'](){const _0x27d5a8=this['editor']['plugins']['get'](WebSocketGateway),_0x49f976=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0x5f44de=async()=>{const _0x265620=this['_revisionTracker']['currentRevision'],_0x437d59=_0x265620['id'],_0x40783d=_0x437d59!==_0x49f976['sessionId'];if(_0x40783d){const _0x3de90f=_0x49f976['_offset']-this['_oldOffset'],_0x44dda3=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x265620['toVersion']+_0x3de90f!==_0x44dda3){const _0x4c318b=_0x265620['fromVersion']+_0x3de90f,_0xee97d7=this['editor']['plugins']['get'](_0x3536cf),_0xe6dba6=this['_revisionTracker']['buildRevisionData']({'revision':_0x265620,'from':_0x4c318b,'to':_0x44dda3});_0xe6dba6['id']=_0x265620['id'];const _0x581843=_0xe6dba6['authorsIds']['map'](_0x2ecc8f=>_0xee97d7['getUser'](_0x2ecc8f));_0x265620['_update']({..._0xe6dba6,'authors':_0x581843},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x265620['id'],_0xe6dba6,!0x0);}this['_revisionTracker']['_startingVersion']=_0x44dda3,(_0x265620['toVersion']===_0x265620['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x437d59)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x437d59),this['_revisionTracker']['_createCurrentRevision'](_0x44dda3));}const {revisions:_0x105d73,requestId:_0x16b7ef}=await this['_revisionHistoryService']['reconnect'](_0x27d5a8['connection'],this['_lastRequestId']);_0x40783d&&_0x105d73['length']>0x0?_0x49f976['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x105d73),this['_handleRevisionsUpdate'](_0x105d73,_0x16b7ef),this['_revisionTracker']['sendBufferedUpdates']());};return _0x49f976['_isConnected']?_0x5f44de():new Promise((_0x100490,_0x28650d)=>{_0x49f976['once']('change:_isConnected',()=>{_0x5f44de()['then'](_0x100490)['catch'](_0x28650d);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x47605f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2ca5dc=>{_0x2ca5dc['off'](),_0x47605f();});});}['_getLatestVersionFromServerOperations'](){const _0x1a726a=this['editor']['plugins']['get'](RealTimeCollaborationClient)['serverHistory']['getOperations']()['reverse']();for(const _0x3d8363 of _0x1a726a)if('marker'!==_0x3d8363['type']||_0x3d8363['affectsData'])return _0x3d8363['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5118a3=this['editor']['plugins']['get'](RealTimeCollaborationClient);return new Promise(_0x49c6ad=>{_0x5118a3['_isPendingUpdate']?_0x5118a3['once']('change:_isPendingUpdate',()=>{_0x49c6ad(this['_getLatestVersionFromServerOperations']());}):_0x49c6ad(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x47d25d,_0x3d854e){const _0x5993b8=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3d854e;for(const _0x206731 of _0x47d25d){const _0xefdc37=_0x5993b8['getRevision'](_0x206731['id']);if(_0xefdc37){if((_0x206731['fromVersion']||_0x206731['toVersion'])&&(_0x206731['diffData']=null),_0xefdc37===this['_revisionTracker']['currentRevision']){const _0x4634be=Math['max'](_0xefdc37['toVersion'],_0x206731['toVersion']),_0x27d6ab=Math['max'](_0xefdc37['fromVersion'],_0x206731['fromVersion']);let _0x3df1d0;_0xefdc37['toVersion']===_0x206731['toVersion']&&_0xefdc37['fromVersion']===_0x206731['fromVersion']?(_0x3df1d0=!0x0,this['_preventResendingRevisionData'](_0x206731)):_0x206731['toVersion']===_0x4634be&&_0x206731['fromVersion']===_0x27d6ab?_0x3df1d0=!0x1:(_0xefdc37['toVersion']===_0x4634be&&_0xefdc37['fromVersion']===_0x27d6ab||this['_fixRevision']({'revision':_0xefdc37,'from':_0x27d6ab,'to':_0x4634be}),_0x3df1d0=!0x0),_0x3df1d0&&(delete _0x206731['fromVersion'],delete _0x206731['toVersion'],delete _0x206731['diffData'],delete _0x206731['createdAt'],delete _0x206731['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x206731),this['_preventResendingRevisionData'](_0x206731);}else this['_revisionTracker']['addRevisionData'](_0x206731);}const _0x21b298=_0x5993b8['getRevisions']();_0x21b298['reverse']();for(let _0x487ba3=0x0;_0x487ba3<_0x21b298['length']-0x1;_0x487ba3++){const _0xe3f051=_0x21b298[_0x487ba3],_0x249514=_0x21b298[_0x487ba3+0x1];if(_0xe3f051['fromVersion']<_0x249514['toVersion']){const _0xbf81dd=_0x249514['toVersion'],_0x59b693=Math['max'](_0xbf81dd,_0xe3f051['toVersion']);this['_fixRevision']({'revision':_0xe3f051,'from':_0xbf81dd,'to':_0x59b693});}}}['_fixRevision']({revision:_0x28a1e8,from:_0x429652,to:_0x1c924a}={}){const _0x3224fd=this['editor']['plugins']['get'](_0x3536cf),_0x5cec03=this['_revisionTracker']['buildRevisionData']({'revision':_0x28a1e8,'from':_0x429652,'to':_0x1c924a});_0x5cec03['authors']=_0x5cec03['authorsIds']['map'](_0x313fd0=>_0x3224fd['getUser'](_0x313fd0)),_0x28a1e8['_update'](_0x5cec03);}['_preventResendingRevisionData'](_0x8d3f41){const _0x5ba6ec={};_0x5ba6ec['id']=_0x8d3f41['id'];for(const _0x21e1a2 of Object['keys'](_0x8d3f41))'id'!==_0x21e1a2&&(_0x5ba6ec[_0x21e1a2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5ba6ec['id'],_0x5ba6ec,!0x0);}async['_fetchMissingUsers'](_0x55ff32){const _0x5f1e98=this['editor']['plugins']['get'](_0x3536cf),{connection:_0x50dd1e}=this['editor']['plugins']['get'](WebSocketGateway),_0x171ef6=new Set();for(const _0x49818b of _0x55ff32){for(const _0x5462c9 of _0x49818b['authorsIds'])_0x59b073(_0x5462c9);_0x49818b['creatorId']&&_0x59b073(_0x49818b['creatorId']);}if(0x0===_0x171ef6['size'])return;const _0x47f079=await _0x34df4b['getMany'](_0x50dd1e,Array['from'](_0x171ef6));for(const _0x307ce0 of _0x47f079)_0x5f1e98['getUser'](_0x307ce0['id'])||_0x5f1e98['addUser'](_0x307ce0);function _0x59b073(_0x294822){_0x5f1e98['getUser'](_0x294822)||_0x171ef6['add'](_0x294822);}}}function it(_0x1c7252){return _0x1c7252['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1c7252['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1c7252['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x39f59e{static get['requires'](){return[_0xb826a,CloudServicesRevisionHistoryAdapter,RealTimeCollaborativeEditing];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class PresenceCounterView extends _0x11fac4{['_collapseAt'];constructor(_0xda7bd4,_0xe11f3f=0x6){super(_0xda7bd4);const _0x181fef=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0xe11f3f,this['bind']('isHidden')['to'](this,'usersCount',_0x5b0e88=>_0x5b0e88<_0xe11f3f),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x181fef['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':_0x181fef['to']('usersCount',_0x3b2218=>'+'+(_0x3b2218-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class PresenceInlineListView extends _0x11fac4{['items'];['keystrokes'];constructor(_0x52ae39){super(_0x52ae39);const _0x5de516=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x14a27d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5de516['if']('hasPopup'),'aria-expanded':_0x5de516['to']('isExpanded',_0x36cefa=>this['hasPopup']&&String(_0x36cefa)),'aria-label':_0x5de516['to']('hasPopup',_0x56d746=>K(_0x52ae39,_0x56d746?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5de516['to']('hasPopup',_0x1d8c6c=>!!_0x1d8c6c&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5de516['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5de516['to'](_0x9d06c3=>{const _0xb8e69=_0x9d06c3,_0x1a9002=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1c4cb0=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1a9002?.['contains'](_0xb8e69['relatedTarget'])||_0x1c4cb0?.['contains'](_0xb8e69['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x55581b,_0x4b3f28,_0x4f8fd2)=>{this['element']&&(_0x4f8fd2?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 PresenceListView extends _0x11fac4{['counterView'];['inlineListView'];constructor(_0x2c7af5,_0x17751c=0x6){super(_0x2c7af5);const _0x2b1095=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new PresenceCounterView(this['locale'],_0x17751c),this['inlineListView']=new PresenceInlineListView(_0x2c7af5),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x24aff3 of this['inlineListView']['items'])_0x24aff3['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',_0x2b1095['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class PresenceDropdownListView extends _0x11fac4{['listWrapperView'];constructor(_0x5cd99f,_0x42d5e5){super(_0x5cd99f);const _0x48070c=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x5cd99f,_0x42d5e5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x5cd99f,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x48070c['to'](_0x349ab1=>{const _0x765cd5=_0x349ab1,_0x37cfd7=document['querySelector']('.ck-presence-list__list'),_0xe0900=document['querySelector']('.ck-balloon-panel_with-arrow');_0x37cfd7?.['contains'](_0x765cd5['relatedTarget'])||_0xe0900?.['contains'](_0x765cd5['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x57db8b{constructor(_0x4e488a,_0x5783ed){super(_0x4e488a);const _0x383841=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5783ed?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x383841['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x383841['to']('role'),'aria-label':_0x383841['to']('ariaLabel'),'aria-labelledby':_0x383841['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x83c1e['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x516a6a=this['element'];_0x516a6a&&(this['_isScrollable']=Math['max'](_0x516a6a['scrollHeight'],_0x516a6a['clientHeight'])>0.8*window['innerHeight']);}}class PresenceDropdownListItemView extends _0x2c1667{['userView'];constructor(_0x456a6c,_0x5cf8a3,_0x48801c){super(_0x456a6c);const _0x3f00f7=this['bindTemplate'];this['userView']=new _0x4e6de2(_0x456a6c,_0x5cf8a3);const _0x1e2dc0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5cf8a3['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5cf8a3['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5cf8a3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5cf8a3['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5cf8a3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x48801c&&(_0x1e2dc0['tag']='button',_0x1e2dc0['on']={'click':_0x3f00f7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1e2dc0);}['focus'](){this['element']['focus']();}}class PresenceInlineListItemView extends _0x11fac4{['userView'];['markerView'];constructor(_0x5b5bba,_0x25e8dc,_0x5de134){super(_0x5b5bba);const _0x586874=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4e6de2(_0x5b5bba,_0x25e8dc),this['markerView']=new MarkerView(_0x5b5bba,_0x25e8dc);const _0x2321ab=new _0x4191d9(_0x5b5bba);_0x2321ab['template']['tag']='span',_0x2321ab['text']=_0x25e8dc['name'];const _0x1a229c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x586874['to']('isFocusable',_0x36e1a4=>!!_0x36e1a4&&0x0),'aria-labelledby':_0x2321ab['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x586874['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x586874['to']('hasTooltip',_0x2c2983=>!_0x2c2983),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2321ab]};_0x5de134&&(_0x1a229c['tag']='button',_0x1a229c['on']={'click':_0x586874['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1a229c);}}class MarkerView extends _0x11fac4{constructor(_0x3b5a57,_0x5e9ea9){super(_0x3b5a57),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5e9ea9['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5e9ea9['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5e9ea9['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const nt={'collapseAt':0x6,'displayMe':!0x0};class PresenceListUI extends _0x394a1b{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x9480b8){super(_0x9480b8),this['context']['config']['define']('presenceList',nt);const _0x26d954=_0x9480b8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x26d954)throw new _0x243503('presencelist-collapseat-invalid-format',this);if(_0x26d954<0x1)throw new _0x243503('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Sessions)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4e20c8(),this['balloonPanelView']=new _0x317f08(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Sessions];}['init'](){for(const _0x52203c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x52203c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x534775,_0x54d707)=>{this['_handleUserAdd'](_0x54d707);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xff19c0,_0x121908)=>{this['_handleUserRemove'](_0x121908);});}['_createView'](){const _0x4e4ab1=this['context'],_0x1270a3=new PresenceListView(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x28a43e=this['balloonPanelView'];if(!_0x3ce7c0(_0x4e4ab1['config']['get']('presenceList.container')))throw new _0x243503('presencelist-missing-container',this);return _0x1270a3['counterView']['bind']('usersCount')['to'](this),_0x1270a3['bind']('isCollapsed')['to'](this,'usersCount',_0x44963e=>{const {collapseAt:_0x560886}=_0x4e4ab1['config']['get']('presenceList'),_0x4577aa=_0x44963e>=_0x560886;if(_0x4577aa&&!_0x1270a3['inlineListView']['items']['find'](_0x1fd923=>_0x1fd923 instanceof PresenceCounterView)){const _0x123ae3=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x123ae3&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1270a3['inlineListView']['items']['add'](_0x1270a3['counterView']);}return _0x4577aa||this['hideDropdown'](),_0x4577aa;}),_0x1270a3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x544bca=>{const _0x272aa8=_0x4e4ab1['config']['get']('presenceList'),_0x3bd50b=new PresenceInlineListItemView(_0x4e4ab1['locale'],_0x544bca,!!_0x272aa8['onClick']);return _0x3bd50b['bind']('hasTooltip')['to'](_0x1270a3,'isCollapsed',_0x2cbe1e=>!_0x2cbe1e),_0x3bd50b['bind']('isFocusable')['to'](_0x1270a3,'isCollapsed',_0x55820c=>!_0x55820c),_0x272aa8['onClick']&&this['listenTo'](_0x3bd50b,'execute',()=>{this['view']['isCollapsed']||_0x272aa8['onClick'](_0x544bca,_0x3bd50b['element']);}),_0x3bd50b;}),this['listenTo'](_0x1270a3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1270a3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1270a3['inlineListView']['keystrokes']['set']('Enter',(_0x5bdccf,_0x2037ae)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2037ae());}),_0x1270a3['render'](),_0x28a43e['render'](),_0x13bc91({'emitter':_0x1270a3,'activator':()=>_0x28a43e['isVisible'],'contextElements':[_0x28a43e['element'],_0x1270a3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4e4ab1['config']['get']('presenceList.container')['appendChild'](_0x1270a3['element']),this['_bodyCollection']=new _0xe18bfe(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1270a3;}['_handleUserAdd'](_0x3e2d28){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3e2d28['isMe'])return;const _0x37f387=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x37f387-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x207b22=_0x3e2d28['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3e2d28,_0x207b22);}['_handleUserRemove'](_0x14290d){this['usersCount']--;const {collapseAt:_0x4ed23a}=this['context']['config']['get']('presenceList'),_0x4ec7c3=this['usersCount']>=_0x4ed23a;if(this['currentDisplayedUsers']['get'](_0x14290d['id']))this['currentDisplayedUsers']['remove'](_0x14290d['id']);else{if(_0x4ec7c3&&this['currentDisplayedUsers']['length']+0x1===_0x4ed23a-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4ec7c3?0x1:0x0)<this['usersCount']){for(const _0x5334a8 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5334a8['id'])&&(this['currentDisplayedUsers']['add'](_0x5334a8,Math['min'](this['currentDisplayedUsers']['length']-(_0x4ec7c3?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4ec7c3?0x1:0x0)===_0x4ed23a-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1f81d4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new PresenceDropdownListView(this['context']['locale'],!!_0x1f81d4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5d06ce}=this['presenceDropdownView'];_0x5d06ce['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x18e7d2=>{if(!_0x1f81d4['displayMe']&&_0x18e7d2['isMe'])return null;const _0x5e2010=new PresenceDropdownListItemView(this['context']['locale'],_0x18e7d2,!!_0x1f81d4['onClick']);return _0x1f81d4['onClick']&&this['listenTo'](_0x5e2010,'execute',()=>{_0x1f81d4['onClick'](_0x18e7d2,_0x5e2010['element']);}),_0x5e2010;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5d06ce['focus'](),_0x5d06ce['checkIfScrollable']();const _0x3f824d=(_0x30d8d5,_0x31796b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x31796b();};_0x5d06ce['keystrokes']['set']('Esc',_0x3f824d),_0x5d06ce['keystrokes']['set']('Shift+Tab',_0x3f824d),_0x5d06ce['keystrokes']['set']('Tab',(_0x4bbb50,_0x5eadae)=>{!function(_0x1c9ac3){const _0x17c262=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x47bf49=>_0x47bf49+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4054b7=[...document['body']['querySelectorAll'](_0x17c262)]['filter'](_0x54967d=>_0x54967d===document['activeElement']||_0x54967d['offsetWidth']+_0x54967d['offsetHeight']>0x0)['sort']((_0x11ed70,_0x36eae2)=>(_0x11ed70['tabIndex']||0x0)-(_0x36eae2['tabIndex']||0x0)),_0x7355f1=_0x4054b7['indexOf'](_0x1c9ac3),_0x18f8ae=_0x4054b7[(_0x7355f1+0x1)%_0x4054b7['length']];_0x18f8ae&&_0x18f8ae['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5eadae();}),_0x5d06ce['focusTracker']['add'](this['view']['element']),_0x5d06ce['focusTracker']['on']('change:isFocused',(_0x1669c9,_0x159d6a,_0x4910a1)=>{_0x4910a1||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 PresenceList extends _0x394a1b{static get['requires'](){return[Sessions,PresenceListUI];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{CloudServicesCommentsAdapter,CloudServicesRevisionHistoryAdapter,CloudServicesTrackChangesAdapter,PresenceList,PresenceListUI,RealTimeCollaborationClient,RealTimeCollaborativeComments,RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,Sessions,WebSocketGateway};
23
+ import{Context as _0x65df0c,ContextPlugin as _0x525f71,PendingActions as _0x442fb9,Plugin as _0x203610}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x50f763,Collection as _0x3eba5a,DomEmitterMixin as _0x475f3d,KeystrokeHandler as _0x17a0f8,global as _0x6efeaf,uid as _0x3ff10e,version as _0xad9c89}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x1af306,BodyCollection as _0x3e76fb,LabelView as _0x5a2556,ListItemView as _0x2b1c38,ListView as _0x1157a6,Notification as _0x1a5404,View as _0x4317fb,clickOutsideHandler as _0x56aa22}from'@ckeditor/ckeditor5-ui';import{History as _0x10d3fc,InsertOperation as _0x51617e,MarkerOperation as _0x57d1e8,ModelLiveRange as _0x3155f0,NoOperation as _0x44598d,OperationFactory as _0x3e843c,RootAttributeOperation as _0x1fde9d,transformOperationSets as _0x3b64ef}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x42d953}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x444d59,CommentsService as _0x3fa162,EditorService as _0x4bd199,RevisionHistoryService as _0x2cda8d,TrackChangesService as _0x105cc0,User as _0x5778e5,WEB_SOCKET_GATEWAY_STATES as _0xcc2284,WebSocketGateway as _0x25bf89}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x15c9e3,Users as _0x3a0f0f}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x53ed3a}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0xedfa48,TrackChangesEditing as _0x55cc9b}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x421a60,CommentsEditing as _0x372972,CommentsRepository as _0x4fd941}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x57a2b8}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x31be5e}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x525f71{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x25bf89)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x42d953,_0x1a5404];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29d437){super(_0x29d437),this['set']('state',_0xcc2284['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x475f3d())();}['init'](){const _0x572dbf=this['context'],_0x3535d7=_0x572dbf['plugins']['get'](_0x42d953),_0x6c3cf8=_0x572dbf['plugins']['get'](_0x1a5404);if(!_0x3535d7['token'])throw new _0x50f763('websocketgateway-missing-token',this);if(!_0x3535d7['webSocketUrl'])throw new _0x50f763('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x3535d7['token'],_0x3535d7['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x36fee8=>{if(this['connection']=_0x36fee8,this['bind']('state')['to'](_0x36fee8,'state',this,'_isBrowserOffline',(_0xd2d5af,_0x2d3c65)=>('connected'!==_0xd2d5af&&(this['_shouldPluginsReconnect']=!0x0),_0x2d3c65||_0xd2d5af!==_0xcc2284['CONNECTED']?_0xcc2284['DISCONNECTED']:this['state']==_0xcc2284['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xcc2284['CONNECTING']):_0xcc2284['CONNECTED'])),this['connection']['on']('error',(_0x7ab10b,_0x4e4b48)=>{if('limitExceeded'!==_0x4e4b48['code'])throw console['error'](_0x4e4b48),new _0x50f763('cloudservices-init',null,{'originalError':_0x4e4b48});_0x6c3cf8['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'});}),!_0x36fee8['me'])return new Promise(_0x41d385=>_0x36fee8['on']('change:me',_0x41d385));})['catch'](_0x26be12=>{throw console['error'](_0x26be12),new _0x50f763('cloudservices-init',null,{'originalError':_0x26be12});});}['addToReconnectionStack'](_0x52cfbd){if('function'!=typeof _0x52cfbd['reconnect'])throw new _0x50f763('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x52cfbd))throw new _0x50f763('websocketgateway-plugin-already-registered',this,{'name':_0x52cfbd['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x52cfbd);}['removeFromReconnectionStack'](_0x3067ab){this['_reconnectionStack']['delete'](_0x3067ab);}['isInReconnectionStack'](_0x45e727){return this['_reconnectionStack']['has'](_0x45e727);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x427a4d=>_0x427a4d['reconnect']())))['then'](()=>this['state']=_0xcc2284['CONNECTED'])['catch'](_0x3b23b9=>{throw console['error'](_0x3b23b9),new _0x50f763('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xcc2284['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x525f71{['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,_0x3a0f0f];}constructor(_0x2ae023){super(_0x2ae023),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3eba5a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a0f0f);}['init'](){const _0x46acd1=this['context']['plugins']['get'](z);this['listenTo'](_0x46acd1,'change:state',(_0x170d64,_0x2baa04,_0x5e439d)=>{if('connected'!==_0x5e439d)this['channelSessions']['forEach'](_0x5c05ec=>_0x5c05ec['clear']()),this['channelConnectedUsers']['forEach'](_0x7f2195=>_0x7f2195['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11d272,_0x354cae]of this['_registeredSessions'])for(const _0x23bbd9 of _0x354cae)this['_handleSessionAdd'](_0x11d272,_0x23bbd9);}}),this['_createUser'](_0x46acd1['connection']['me'],!0x0);}['register'](_0x72fadd,_0x73608b){if(this['_registeredSessions']['has'](_0x72fadd))throw new _0x50f763('sessions-register-already-registered',null,{'channelId':_0x72fadd});this['_registeredSessions']['set'](_0x72fadd,_0x73608b),this['channelSessions']['set'](_0x72fadd,new _0x3eba5a()),this['channelConnectedUsers']['set'](_0x72fadd,new _0x3eba5a()),this['listenTo'](_0x73608b,'add',(_0x4e631f,_0x34ce84)=>this['_handleSessionAdd'](_0x72fadd,_0x34ce84)),this['listenTo'](_0x73608b,'remove',(_0x3363ea,_0x2abe9e)=>this['_handleSessionRemove'](_0x72fadd,_0x2abe9e));for(const _0x5ea693 of _0x73608b)this['_handleSessionAdd'](_0x72fadd,_0x5ea693);}['unregister'](_0x435dc6){if(!this['_registeredSessions']['has'](_0x435dc6))throw new _0x50f763('sessions-unregister-not-exist',null,{'channelId':_0x435dc6});const _0x252726=this['_registeredSessions']['get'](_0x435dc6);this['stopListening'](_0x252726);for(const _0xdb369d of _0x252726)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x435dc6,_0xdb369d);this['_registeredSessions']['delete'](_0x435dc6),this['channelSessions']['delete'](_0x435dc6),this['channelConnectedUsers']['delete'](_0x435dc6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x9b1415){for(const _0x5b8294 of this['channelSessions']['values']())for(const _0x193ef2 of _0x5b8294)if(_0x193ef2['id']===_0x9b1415)return _0x193ef2['user'];}['getUserSessions'](_0x3ccae9,_0x161137){const _0x14bbf2=_0x161137?[this['channelSessions']['get'](_0x161137)]:this['channelSessions']['values'](),_0x1e4f84=new Set();for(const _0xb5ac3f of _0x14bbf2)for(const _0x470967 of _0xb5ac3f)_0x470967['user']['id']===_0x3ccae9['id']&&_0x1e4f84['add'](_0x470967['id']);return _0x1e4f84;}['getUserRole'](_0x4659d1){for(const _0x160812 of this['channelSessions']['values']())for(const _0x36e2bd of _0x160812)if(_0x36e2bd['user']===_0x4659d1)return _0x36e2bd['role'];}['_handleSessionAdd'](_0x2b2e5e,_0x55c9f4){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x85a7ca=_0x55c9f4['user'],_0x30f2f6=this['_users']['getUser'](_0x85a7ca['id'])||this['_createUser'](_0x85a7ca),_0x41c5b6=Object['assign']({},_0x55c9f4,{'user':_0x30f2f6});if(this['channelSessions']['get'](_0x2b2e5e)['add'](_0x41c5b6),!_0x85a7ca['hiddenInPresenceList']){const _0x3f8f77=this['channelConnectedUsers']['get'](_0x2b2e5e);_0x3f8f77['has'](_0x30f2f6['id'])||_0x3f8f77['add'](_0x30f2f6),this['allConnectedUsers']['has'](_0x30f2f6['id'])||_0x85a7ca['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x30f2f6,_0x30f2f6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2b2e5e,{'channelId':_0x2b2e5e,'session':_0x41c5b6});}['_handleSessionRemove'](_0x424d3e,_0x5dcb9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x34894c=this['channelConnectedUsers']['get'](_0x424d3e),_0x250374=_0x5dcb9d['user'];_0x250374['id']&&(this['channelSessions']['get'](_0x424d3e)['remove'](_0x5dcb9d['id']),_0x34894c['has'](_0x250374['id'])&&!this['getUserSessions'](_0x250374,_0x424d3e)['size']&&_0x34894c['remove'](_0x250374['id']),this['allConnectedUsers']['get'](_0x250374['id'])&&!this['getUserSessions'](_0x250374)['size']&&this['allConnectedUsers']['remove'](_0x250374['id']));}['_createUser'](_0x549944,_0x9e5b17){const _0x3c9006=this['_users']['addUser'](_0x549944);return _0x9e5b17&&this['_users']['defineMe'](_0x549944['id']),_0x3c9006['orderNumber']=this['_uniqueUsersCount']++,_0x3c9006;}},K=class extends _0x203610{['_domEmitter']=new(_0x475f3d())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2fa545=this['editor'],_0x3af208=_0x2fa545['plugins']['get'](Y);_0x2fa545['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x496fc0,{writer:_0x9b244b})=>function(_0x417438,_0x2d44a7,_0xb51e8f,_0x61c52f){const _0x5e671d=_0x417438['markerName']['split'](':')[0x2],_0x29af90=_0xb51e8f['getUserBySessionId'](_0x5e671d);if(!_0x29af90||_0x5e671d===_0xb51e8f['mySessionId'])return;if(!_0x61c52f['model']['schema']['checkChild'](_0x417438['markerRange']['start'],'$text'))return;const _0x1c13e8={'class':'ck-user__marker\x20'+_0x29af90['color']['getMarkerClass'](),'style':Q(_0x29af90),'data-name':_0x29af90['name'],'data-session-id':_0x5e671d},_0x1036ff=_0x61c52f['model']['markers']['get'](_0x417438['markerName'])['getStart'](),_0x4ea7cb=_0x1036ff['nodeAfter'],_0x2ab7df=_0x61c52f['model']['schema'];if(_0x4ea7cb&&_0x2ab7df['isObject'](_0x4ea7cb)&&_0x2ab7df['isInline'](_0x4ea7cb)&&!_0x61c52f['model']['markers']['get']('user:range:'+_0x5e671d)['getRange']()['isCollapsed'])return;const _0x134616=_0x1036ff['parent'];return _0x61c52f['model']['schema']['isLimit'](_0x134616)&&!_0x61c52f['model']['hasContent'](_0x134616)&&(_0x1c13e8['contenteditable']=!0x1),function(_0x399ff2,_0x54f630,_0x1cd97d){const _0x4a40be=_0x399ff2['createUIElement']('span',_0x54f630);return _0x399ff2['setCustomProperty']('userPositionMarker',!0x0,_0x4a40be),_0x4a40be['render']=function(_0x2f5569){const _0x730c83=this['toDomElement'](_0x2f5569),_0x3599bf=document['createElement']('span');return _0x3599bf['classList']['add']('ck-user__marker-tooltip'),_0x3599bf['setAttribute']('contenteditable','false'),_0x3599bf['setAttribute']('spellcheck','false'),_0x3599bf['textContent']=_0x1cd97d['name'],_0x730c83['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3599bf['outerHTML']+'⁠',_0x730c83['addEventListener']('mouseenter',()=>{_0x730c83['classList']['add']('ck-user__marker_hovered');}),_0x730c83['addEventListener']('mouseleave',()=>{_0x730c83['classList']['remove']('ck-user__marker_hovered');}),_0x730c83;},_0x4a40be['isSimilar']=function(_0x21a225){return!(!this['getCustomProperty']('userPositionMarker')||!_0x21a225['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x21a225['getAttribute']('data-session-id'));},_0x4a40be;}(_0x2d44a7,_0x1c13e8,_0x29af90);}(_0x496fc0,_0x9b244b,_0x3af208,_0x2fa545)}),_0x2fa545['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x324a92=>function(_0x4f0f32,_0x5b16ba){const _0x3e4f10=_0x4f0f32['markerName']['split'](':')[0x2];if(_0x3e4f10===_0x5b16ba['mySessionId'])return null;const _0x5cac73=_0x5b16ba['getUserBySessionId'](_0x3e4f10);return _0x5cac73?{'id':_0x3e4f10,'classes':['ck-user__selection',_0x5cac73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5cac73),'data-session-id':_0x3e4f10},'priority':0x7d0+_0x5cac73['orderNumber']}:{'id':_0x3e4f10,'classes':[]};}(_0x324a92,_0x3af208)}),function(_0x3b3115){const _0x4898af=_0x3b3115['model'],_0x3d749d=new Map(),_0xf5482d=_0x3b3115['plugins']['get'](Y);_0x4898af['markers']['on']('update:user:range',(_0x8ada44,_0x3182f3,_0x4e53d1,_0x3bd949)=>{if(!_0x3bd949&&_0x3d749d['get'](_0x3182f3['name']))return _0x3d749d['get'](_0x3182f3['name'])['detach'](),void _0x3d749d['delete'](_0x3182f3['name']);const _0x5df7a1=_0x3182f3['name']['split'](':')[0x2];if(_0x5df7a1===_0xf5482d['mySessionId'])return;const _0x39d502='user:position:'+_0x5df7a1;_0x4898af['markers']['has'](_0x39d502)&&_0x3b3115['editing']['reconvertMarker'](_0x39d502),_0x3182f3['on']('change:range',(_0x53fecf,_0xee7499,_0xdfee88)=>{if('$graveyard'!=_0xee7499['root']['rootName']&&'$graveyard'==_0x3182f3['getRange']()['root']['rootName']&&!_0x3d749d['has'](_0x3182f3['name'])){const _0x91aed=_0x4898af['schema']['getNearestSelectionRange'](_0xdfee88['deletionPosition']);if(_0x91aed){const _0x3cf7eb=_0x3155f0['fromRange'](_0x91aed);_0x3d749d['set'](_0x3182f3['name'],_0x3cf7eb),_0x3cf7eb['on']('change:range',(_0x4387c9,_0x4e0f1f,_0x59f11d)=>{if('$graveyard'==_0x3cf7eb['root']['rootName']){const _0x460591=_0x4898af['schema']['getNearestSelectionRange'](_0x59f11d['deletionPosition']);_0x460591?(_0x3cf7eb['start']=_0x460591['start'],_0x3cf7eb['end']=_0x460591['end']):(_0x3d749d['delete'](_0x3182f3['name']),_0x3cf7eb['detach']());}});}}});}),_0x4898af['document']['on']('change',()=>{_0x3d749d['size']>0x0&&_0x4898af['enqueueChange']({'isUndoable':!0x1},_0x141da8=>{for(const [_0xb72b4e,_0x109ec7]of _0x3d749d)'$graveyard'==_0x4898af['markers']['get'](_0xb72b4e)['getRange']()['root']['rootName']&&(J(_0xb72b4e['split'](':')[0x2],_0x109ec7['toRange'](),_0x4898af,_0x141da8),_0x109ec7['detach']());_0x3d749d['clear']();});});}(_0x2fa545),this['_domEmitter']['listenTo'](_0x6efeaf['document'],'keydown',(_0x40bdf0,{key:_0x111b0a})=>{'Escape'===_0x111b0a&&function(_0x109730){_0x109730['editing']['view']['change'](_0x37fc5e=>{for(const _0x23ddce of _0x109730['model']['markers']){if(!_0x23ddce['name']['startsWith']('user:position'))continue;const _0x439739=_0x109730['editing']['mapper']['markerNameToElements'](_0x23ddce['name']);if(_0x439739){for(const _0x18a632 of _0x439739)_0x37fc5e['removeClass']('ck-user__marker_hovered',_0x18a632);}}});}(_0x2fa545);},{'useCapture':!0x0});}['afterInit'](){const _0x588220=this['editor'],_0x2e6206=_0x588220['commands']['get']('undo');_0x2e6206&&_0x588220['model']['on']('applyOperation',(_0x159f1b,_0x54f775)=>{const _0x4274a8=_0x54f775[0x0];if(!_0x4274a8['isDocumentOperation'])return;if('marker'!=_0x4274a8['type']||!_0x4274a8['name']['startsWith']('user:'))return;const _0x29ce7e=_0x4274a8['batch'];_0x2e6206['_createdBatches']['has'](_0x29ce7e)&&(_0x4274a8['newRange']=_0x4274a8['oldRange']?_0x588220['model']['createRange'](_0x4274a8['oldRange']['start'],_0x4274a8['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ebbfa=this['editor'],_0x8c9b91=_0x5ebbfa['model']['document'],_0x157b0a=_0x5ebbfa['plugins']['get'](Y);_0x5ebbfa['model']['enqueueChange']({'isUndoable':!0x1},_0x5d0d2a=>{const _0x4a8e23='user:range:'+_0x157b0a['mySessionId'],_0x167c80='user:position:'+_0x157b0a['mySessionId'],_0x289e68=_0x5ebbfa['model']['markers']['has'](_0x4a8e23);_0x5ebbfa['editing']['view']['hasDomSelection']?J(_0x157b0a['mySessionId'],_0x8c9b91['selection']['getFirstRange'](),_0x5ebbfa['model'],_0x5d0d2a):_0x289e68&&(_0x5d0d2a['removeMarker'](_0x4a8e23),_0x5d0d2a['removeMarker'](_0x167c80));});}};function J(_0x3aaeeb,_0x44c6d1,_0x51c474,_0xc7039f){const _0x1c150f='user:range:'+_0x3aaeeb,_0x2b254d='user:position:'+_0x3aaeeb,_0x4d6fb0=_0x44c6d1['getContainedElement']();let _0x25e5b3=_0x44c6d1['start'];if(_0x4d6fb0&&_0x4d6fb0['is']('element','tableCell')){const _0x46718a=function(_0x5c5409,_0x48686b){for(const _0x5a0d76 of _0x5c5409['getPositions']())if(_0x48686b['schema']['checkChild'](_0x5a0d76,'$text'))return _0x5a0d76;}(_0x44c6d1,_0x51c474);_0x46718a&&(_0x25e5b3=_0x46718a,_0x44c6d1=_0xc7039f['createRange'](_0x25e5b3));}const _0x2cff88=_0xc7039f['createRange'](_0x25e5b3);_0x51c474['markers']['has'](_0x1c150f)?(_0xc7039f['updateMarker'](_0x1c150f,{'range':_0x44c6d1}),_0xc7039f['updateMarker'](_0x2b254d,{'range':_0x2cff88})):(_0xc7039f['addMarker'](_0x1c150f,{'range':_0x44c6d1,'usingOperation':!0x0}),_0xc7039f['addMarker'](_0x2b254d,{'range':_0x2cff88,'usingOperation':!0x0}));}function Q(_0x4e3e4a){return'--ck-user-color:'+_0x4e3e4a['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4e3e4a['color']['getColorAlphaVariable']()+';';}function X(_0x3d2667,_0x30c7f4,_0x508355){const _0x305add=_0x3d2667['t'],t=_0x3d2667['t'];switch(_0x30c7f4){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 _0x305add({'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'},_0x508355);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x203610{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x444d59)());['_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,_0x442fb9,_0x3a0f0f,_0x1a5404];}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 _0x131111=this['serverHistory']['getOperations']();for(let _0x71d0f9=_0x131111['length']-0x1;_0x71d0f9>=0x0;_0x71d0f9--){const _0x50adc0=_0x131111[_0x71d0f9];if(!this['_disconnectionOperations']['has'](_0x50adc0))return _0x50adc0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1616b7){if(super(_0x1616b7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x10d3fc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x50f763('collaboration-missing-channelid',this);const _0x3779d0=_0x1616b7['config']['get']('cloudServices.bundleVersion')||_0xad9c89;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3779d0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x53ed3a(),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 _0x5dd7f3=this['editor'],_0x19f679=_0x5dd7f3['plugins']['get'](_0x3a0f0f),_0x404c0e=_0x5dd7f3['plugins']['get'](z);this['listenTo'](_0x19f679,'getOperationAuthor',(_0x5df9a7,_0x4ec3a3)=>{const _0xbe5234=_0x4ec3a3[0x0];_0xbe5234['_authorId']&&(_0x5df9a7['return']=_0x19f679['getUser'](_0xbe5234['_authorId']),_0x5df9a7['stop']()),null===_0xbe5234['_authorId']&&(_0x5df9a7['return']=null,_0x5df9a7['stop']());},{'priority':'high'}),this['listenTo'](_0x5dd7f3['model']['document']['selection'],'change:range',(_0x2a13ea,_0x37be4a)=>{_0x37be4a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5dd7f3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5dd7f3['model']['on']('applyOperation',(_0x9a7d62,_0x570512)=>{const _0x13cc40=_0x570512[0x0];_0x13cc40['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x13cc40),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x404c0e,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f34df,_0x430ec9,_0x4e672d)=>'connected'===_0x3f34df&&!_0x430ec9&&!_0x4e672d),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a09f0=this['editor']['plugins']['get'](Y),_0x237611=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2a09f0['unregister'](this['_channelId']);const _0x36562a=await this['_service']['reconnect'](_0x237611['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36562a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18b0e2=await this['_service']['getConnectedSessions']();_0x2a09f0['register'](this['_channelId'],_0x18b0e2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2ae4e0){if(function(_0x2674e6){return'404'===_0x2674e6['code'];}(_0x2ae4e0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x471389){return'409'===_0x471389['code'];}(_0x2ae4e0)){const _0x3a0e6b=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'](_0x3a0e6b);}else{if(!(_0x2ae4e0 instanceof et))throw _0x2ae4e0;this['_handleReconnectionError']();}}}}['destroy'](){const _0x25ac72=this['editor']['plugins']['get'](z),_0x343113=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x343113['channelSessions']['has'](this['_channelId'])&&_0x343113['unregister'](this['_channelId']),_0x25ac72['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x43c303){if(this['sessionId']!==_0x43c303['sessionId']&&this['_lastSyncedOperationId']!==_0x43c303['lastOperationId'])throw new et();return this['sessionId']=_0x43c303['sessionId'],this['_handleServerResponse']([],{..._0x43c303,'wereChangesApplied':!0x1,'data':_0x43c303['data']},'reconnect');}async['_connectService'](_0x1925af,_0x34bf60=!0x1){const {connection:_0x367723}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x367723,this['_channelId'])['then'](_0x336d00=>this['_initSessionsHandling'](_0x336d00))['catch'](_0x33c21a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x33c21a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x56b951,_0x5c36fb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c36fb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x24b977=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1925af);this['_isPendingUpdate']=!0x0;const _0x13acc6=await this['_service']['connect'](_0x367723,this['_compressOperations'](_0x1925af),_0x24b977);if(this['sessionId']=_0x13acc6['sessionId'],_0x34bf60){if(!_0x13acc6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x13acc6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1925af,_0x13acc6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x13acc6,_0x1925af);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x28fd2e=this['editor']['plugins']['get'](Y),_0x43775b=this['editor']['plugins']['get'](K),_0x4a5ce3=_0x28fd2e['channelSessions']['get'](this['_channelId']);_0x4a5ce3&&_0x4a5ce3['length']>0x1?_0x43775b['createUserMarkerOperations']():this['listenTo'](_0x28fd2e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x28fd2e['channelSessions']['get'](this['_channelId'])['length']&&_0x43775b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ee6ce,_0x16e593,_0x32d822,_0x751e88){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x16e593){const _0x46de19=this['_decompressOperations'](_0x32d822,_0x751e88);await this['_fetchMissingUsers'](_0x46de19),this['_handleExternalOperations'](_0x46de19,_0x16e593,_0x32d822['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3ea35e}=this['editor'];let _0x1238b4;try{_0x1238b4=await this['_service']['getDocumentDetails']();}catch{const _0x2a8af4=X(_0x3ea35e,'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'](_0x2a8af4);}const _0x30af8c=_0x1238b4['currentDocumentSession']||_0x1238b4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x30af8c['lastOperationId']){const _0xc07aee=X(_0x3ea35e,'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'](_0xc07aee);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2d51cf=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2d51cf['connection']||'connected'!==_0x2d51cf['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x322561=this['editor']['plugins']['get'](Y);_0x322561['channelSessions']['has'](this['_channelId'])&&_0x322561['unregister'](this['_channelId']),_0x2d51cf['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x359795){const _0x2bbff4=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2bbff4,'sessionAdd:'+this['_channelId'],(_0x36b7a1,{session:_0x444fd4})=>{if(_0x444fd4['id']===_0x2bbff4['mySessionId']){_0x36b7a1['off']();const _0x5d79f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xdbafa7=_0x444fd4['permissions'];_0x5d79f&&_0x5d79f['isEnabled']&&(_0xdbafa7=_0xdbafa7['filter'](_0x1c7c22=>'document:write'!==_0x1c7c22)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xdbafa7,this['_channelId']);}}),_0x2bbff4['register'](this['_channelId'],_0x359795);}['_initThrowingOnDataSet'](){const _0x67c542=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x571bfe)=>{if(!_0x571bfe[_0x571bfe['length']-0x1]['suppressErrorInCollaboration'])throw new _0x50f763('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x67c542['apply'](this['editor']['data'],_0x571bfe);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x20e442,[_0x2548d4])=>{if(this['_document']['version'])throw new _0x50f763('realtimecollaborationclient-init-document-already-initialized',this);_0x20e442['stop'](),this['_setPendingAction']();const _0x1cc162=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1418ee])=>!_0x1418ee['lazyLoad'])['map'](([_0x5eba09,_0x36be37])=>[_0x5eba09,_0x36be37['modelAttributes']||{}])),_0x57e1ae=this['_getOperationsFromInitData'](_0x2548d4,_0x1cc162);0x0==_0x57e1ae['length']&&_0x57e1ae['push'](new _0x44598d(0x0)),_0x20e442['return']=this['_connectService'](_0x57e1ae)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14f7b3=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14f7b3))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xdeea7e,[_0x1b6ba,_0x533a46])=>{_0xdeea7e['stop']();const _0x1f8e14=this['editor']['model']['document']['getRoot'](_0x1b6ba);if(!this['_knownRootNames']['has'](_0x1b6ba)){const _0x3cca01=_0x533a46&&_0x533a46['data']?_0x533a46['data']:'',_0x49db29=_0x533a46&&_0x533a46['attributes']?_0x533a46['attributes']:{};await this['_loadRoot'](_0x1b6ba,_0x3cca01,_0x49db29);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1f8e14['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1f8e14);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x55d4c2){const _0x263490=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x34ea8a}=this['editor']['plugins']['get'](z),_0x5cbacb=new Set();for(const _0x109336 of _0x55d4c2){const _0x28dbbf=_0x109336['_authorId'];_0x28dbbf&&!_0x263490['getUser'](_0x28dbbf)&&_0x5cbacb['add'](_0x28dbbf);}if(0x0===_0x5cbacb['size'])return;const _0x4ec9d8=await _0x5778e5['getMany'](_0x34ea8a,Array['from'](_0x5cbacb));for(const _0x513fff of _0x4ec9d8)_0x263490['getUser'](_0x513fff['id'])||_0x263490['addUser'](_0x513fff);}['_getOperationsFromInitData'](_0x11e5a1,_0x28037a={}){const _0x54f0e5=this['editor']['model'],_0xd82de8=[];let _0x550f6f=0x0;const _0x43af2a='string'==typeof _0x11e5a1?{'main':_0x11e5a1}:_0x11e5a1;for(const _0x18aee6 of Object['keys'](_0x43af2a)){if(!this['_document']['roots']['has'](_0x18aee6))throw new _0x50f763('realtimecollaborationclient-init-non-existent-root',this);const _0x8a6b74=this['_document']['getRoot'](_0x18aee6),_0x122eac=this['editor']['data']['parse'](_0x43af2a[_0x18aee6],_0x8a6b74),_0x68e4cc=new _0x51617e(_0x54f0e5['createPositionAt'](_0x8a6b74,0x0),_0x122eac,_0x550f6f++);_0xd82de8['push'](_0x68e4cc);for(const [_0x37ae84,_0x117fb8]of _0x122eac['markers']){const _0x48732f=new _0x57d1e8(_0x37ae84,null,_0x54f0e5['createRange'](_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['start']['path']['slice']()),_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['end']['path']['slice']())),_0x54f0e5['markers'],!0x0,_0x550f6f++);_0xd82de8['push'](_0x48732f);}}if(_0x28037a)for(const [_0x1e38a5,_0x2f948a]of Object['entries'](_0x28037a)){const _0x204aa5=_0x54f0e5['document']['getRoot'](_0x1e38a5);if(!_0x204aa5)throw new _0x50f763('multi-root-editor-root-attributes-no-root',null);for(const [_0x5a605e,_0xb0aef8]of Object['entries'](_0x2f948a))if(null!==_0xb0aef8){const _0x26f745=new _0x1fde9d(_0x204aa5,_0x5a605e,null,_0xb0aef8,_0x550f6f++);_0xd82de8['push'](_0x26f745);}}return _0xd82de8;}async['_loadRoot'](_0x1e90e2,_0x44fdc7,_0x5c0fa3){this['_getOperationsFromInitData']({[_0x1e90e2]:_0x44fdc7},{[_0x1e90e2]:_0x5c0fa3})['forEach']((_0x18b575,_0x3588b2)=>{_0x18b575['baseVersion']=this['_document']['version']+_0x3588b2,_0x18b575['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x18b575);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x164c8d,_0x34e242){let _0x27ad58;this['_offset']=_0x164c8d['offset'];const _0x284f11=_0x164c8d['wereChangesApplied']&&!_0x164c8d['initData'],_0x1e0256=_0x284f11?0x0:_0x164c8d['data']['baseVersion'];if(_0x34e242['forEach'](_0x20ad4e=>{_0x20ad4e['_isInit']=!0x0,_0x20ad4e['createdAt']=_0x164c8d['sessionCreatedAt'],_0x20ad4e['_authorId']=null;}),_0x284f11)_0x27ad58=_0x34e242,this['_applyOperationsSet'](_0x27ad58,_0x284f11);else{if(_0x164c8d['initData']){const _0x2c0e3f=this['_getOperationsFromInitData'](_0x164c8d['initData']);this['_document']['history']['version']=-_0x2c0e3f['length'],_0x2c0e3f['forEach'](_0x4d5970=>{_0x4d5970['baseVersion']-=_0x2c0e3f['length'],_0x4d5970['createdAt']=_0x164c8d['sessionCreatedAt'],_0x4d5970['_isInit']=!0x0,_0x4d5970['_authorId']=null;}),this['_applyOperationsSet'](_0x2c0e3f,!0x0),this['serverHistory']['version']=-_0x2c0e3f['length']+this['_offset'],this['_updateServerHistory'](_0x2c0e3f);}this['_document']['history']['version']=_0x1e0256,_0x27ad58=this['_decompressOperations'](_0x164c8d['data'],_0x164c8d['metadata']),await this['_fetchMissingUsers'](_0x27ad58),this['_applyOperationsSet'](_0x27ad58,_0x284f11);}_0x164c8d['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x27ad58,_0x164c8d['lastOperationId']),this['_lastSyncedOperationId']=_0x164c8d['lastOperationId']),this['serverHistory']['version']=_0x1e0256+this['_offset'],this['_updateServerHistory'](_0x27ad58),_0x34e242['filter'](_0x4476b4=>{const _0x5a1134=this['_getAffectedRoot'](_0x4476b4);return _0x5a1134&&!this['_knownRootNames']['has'](_0x5a1134);})['forEach']((_0x6f8c40,_0x2e4667)=>{_0x6f8c40['baseVersion']=this['_document']['version']+_0x2e4667,this['_saveOperationInBuffer'](_0x6f8c40);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1ae223,_0xd012e0){const _0x287591=_0xd012e0&&_0xd012e0['message'];if(_0x287591&&_0x287591['startsWith']('realtimecollaborationclient'))throw _0xd012e0;const _0x49efde=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x49efde['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x50f763(_0x1ae223,this['editor'],_0x287591?{'originalError':_0x287591}:void 0x0);}['_saveOperationInBuffer'](_0x1d642e){this['_knownOperations']['has'](_0x1d642e)||(this['_knownOperations']['add'](_0x1d642e),this['_bufferedOperations']['push'](_0x1d642e),this['_pendingAction']||'marker'==_0x1d642e['type']&&!_0x1d642e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x34361f=!0x1){!_0x34361f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1c110b=>{_0x1c110b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x367dc7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3419c1){return _0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x367dc7)||this['_crash'](_0x367dc7['message'],_0x367dc7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2c6e98=>{this['on']('change:_isPendingUpdate',()=>{_0x2c6e98();});});}async['_sendBufferedOperations'](){const _0x4fe350=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4fe350['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5939b9=[...this['_bufferedOperations']];for(const _0x204adb of _0x5939b9)_0x204adb['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x204adb);const _0x57519a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5939b9),_0x4d30d2=Z++,_0x387378=this['_compressOperations'](_0x5939b9),_0xda8345=await this['_service']['sendOperations'](_0x387378,_0x387378['baseVersion'],_0x57519a);try{return await this['_handleServerResponse'](_0x5939b9,_0xda8345,_0x4d30d2);}catch(_0x309816){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x309816);}}async['_handleServerResponse'](_0x3fc344,_0x5b1bd2,_0x188574){if('error'in _0x5b1bd2)throw _0x5b1bd2['error'];let _0x1320f1=!0x1;if(_0x5b1bd2['wereChangesApplied']){_0x5b1bd2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5b1bd2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9e9147=>!_0x3fc344['includes'](_0x9e9147));for(const _0x40b50b of _0x3fc344)_0x40b50b['createdAt']='lastOperationAcceptedAt'in _0x5b1bd2&&_0x5b1bd2['lastOperationAcceptedAt']||void 0x0;st(_0x3fc344,_0x5b1bd2['version']-_0x3fc344['length']),this['_updateServerHistory'](_0x3fc344);const _0x39ae90=_0x3fc344['filter'](_0x1ca479=>{if(!_0x1ca479['_isInit'])return!0x1;const _0x204f7f=this['_getAffectedRoot'](_0x1ca479);return _0x204f7f&&!this['_knownRootNames']['has'](_0x204f7f);});st(_0x39ae90,this['_document']['version']),this['_applyOperationsSet'](_0x39ae90),_0x1320f1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x53c088=this['_decompressOperations'](_0x5b1bd2['data'],_0x5b1bd2['metadata'])['filter'](_0x28fd8f=>_0x28fd8f['baseVersion']>=this['_lastServerVersion']);_0x53c088['forEach'](_0x585239=>this['_addKnownRoot'](_0x585239)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3c937b=>!_0x3c937b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3c937b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x53c088),_0x1320f1=this['_handleExternalOperations'](_0x53c088,_0x5b1bd2['version'],_0x5b1bd2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1320f1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181885,_0x2966da,_0x47ca5d){try{const _0x1fa018={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dd446,operationsB:_0x35f646,originalOperations:_0x452e15}=_0x3b64ef(_0x181885,this['_bufferedOperations'],_0x1fa018);st(_0x4dd446,this['_document']['version']),st(_0x35f646,_0x2966da);for(const _0xdb79b5 of _0x4dd446){const _0x1ba5bc=_0x452e15['get'](_0xdb79b5);_0x1ba5bc?(_0xdb79b5['_authorId']=_0x1ba5bc['_authorId'],'noop'!==_0xdb79b5['type']&&(_0xdb79b5['_aiSource']=_0x1ba5bc['_aiSource'])):_0xdb79b5['_authorId']=null;}for(const _0x4c1bda of _0x35f646)'noop'!==_0x4c1bda['type']&&(_0x4c1bda['_aiSource']=_0x452e15['get'](_0x4c1bda)?.['_aiSource']);_0x47ca5d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181885,_0x47ca5d),this['_lastSyncedOperationId']=_0x47ca5d),this['_bufferedOperations']=[..._0x35f646],this['_applyOperationsSet'](_0x4dd446),this['_updateServerHistory'](_0x181885);}catch(_0x34a774){return console['error'](_0x34a774),!0x1;}return!0x0;}['_applyOperationsSet'](_0x475af8,_0x297f5c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x485354=>{for(const _0x5ca3c0 of _0x475af8)this['_knownOperations']['add'](_0x5ca3c0),this['_addKnownRoot'](_0x5ca3c0),_0x485354['batch']['addOperation'](_0x5ca3c0),this['editor']['model']['applyOperation'](_0x5ca3c0);});}['_addKnownRoot'](_0x587993){const _0x237407=this['_getAffectedRoot'](_0x587993);_0x237407&&this['_knownRootNames']['add'](_0x237407);}['_getAffectedRoot'](_0x20d55f){let _0x5525b4,_0x3e52a4;switch(_0x20d55f['type']){case'insert':_0x5525b4=_0x20d55f['position']['root'];break;case'marker':if(_0x3e52a4=_0x20d55f['newRange'],!_0x3e52a4)return null;_0x5525b4=_0x3e52a4['root'];break;case'addRootAttribute':_0x5525b4=_0x20d55f['root'];break;case'addRoot':_0x5525b4=_0x20d55f['affectedSelectable'];break;case'move':_0x5525b4=_0x20d55f['targetPosition']['root'];break;default:return null;}return _0x5525b4['rootName'];}['_updateServerHistory'](_0x1fa1d6){_0x1fa1d6['forEach'](_0x247223=>{const _0x1cc997=_0x247223['clone']();_0x1cc997['_authorId']=_0x247223['_authorId'],_0x1cc997['_isInit']=!!_0x247223['_isInit'],_0x1cc997['_aiSource']=_0x247223['_aiSource'],_0x1cc997['createdAt']=_0x247223['createdAt'],_0x1cc997['baseVersion']+=this['_offset'],_0x247223['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1cc997),this['serverHistory']['addOperation'](_0x1cc997);});}['_handleReconnectionError'](_0x3d40ae){const _0x573169=this['editor']['plugins']['get']('Notification'),_0x16ce66=this['editor']['locale'];_0x3d40ae||(_0x3d40ae=X(_0x16ce66,'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.')),_0x573169['showWarning'](_0x3d40ae,{'title':X(_0x16ce66,'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'](_0x442fb9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442fb9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4da0c9){const _0x5c75f2=_0x4da0c9['map'](_0x322b79=>_0x322b79['toJSON']());return this['_compressor']['compress'](_0x5c75f2);}['_decompressOperations'](_0x103792,_0x2f8ca3){return this['_compressor']['decompress'](_0x103792)['map']((_0x2d1c15,_0x36cc21)=>{const _0x37df9f='init'==_0x2f8ca3[_0x36cc21]['type'];if('InsertOperation'==_0x2d1c15['__className']){const _0x5efc52=_0x2d1c15['position']['root'];!this['_document']['getRoot'](_0x5efc52)&&(this['_document']['createRoot']('$unknown',_0x5efc52)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2d1c15['__className']){const _0x3d79e5=this['_document']['getRoot'](_0x2d1c15['rootName']);_0x3d79e5&&'$unknown'==_0x3d79e5['name']&&_0x2d1c15['elementName']!=_0x3d79e5['name']&&(_0x3d79e5['name']=_0x2d1c15['elementName']);}}const _0x3a4d16=_0x3e843c['fromJSON'](_0x2d1c15,this['_document']);return _0x3a4d16['wasUndone']=_0x2d1c15['wasUndone'],_0x3a4d16['_isInit']=_0x37df9f,_0x3a4d16['_authorId']=_0x37df9f?null:_0x2f8ca3[_0x36cc21]['userId'],_0x3a4d16['_isDisconnection']='cs:removeUser'===_0x2f8ca3[_0x36cc21]['type'],_0x3a4d16['_aiSource']=_0x2d1c15['_aiSource']||void 0x0,_0x3a4d16['createdAt']=_0x2f8ca3[_0x36cc21]['createdAt'],_0x3a4d16;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2a3c22=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2a3c22&&_0x2a3c22['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2900e2,_0x5f40dc){for(const _0x123bab of _0x2900e2)_0x123bab['baseVersion']=_0x5f40dc++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x5e0a80){this['_ignoredOperations']=_0x5e0a80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x30f33f){let _0x22b031=_0x30f33f['length'];for(;_0x22b031--;){const _0x4374ab=_0x30f33f[_0x22b031];if(!this['_ignoredOperations']['has'](_0x4374ab)){if(!this['_operationToId']['has'](_0x4374ab)){const _0x4a07fc=_0x3ff10e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4374ab,_0x4a07fc);}return this['_operationToId']['get'](_0x4374ab);}}}['setIdForTheLastOperation'](_0x2b2ee7,_0x4d22e6){if(!_0x4d22e6)return;let _0x30707e=_0x2b2ee7['length'];for(;_0x30707e--;){const _0x494dd5=_0x2b2ee7[_0x30707e];this['_ignoredOperations']['has'](_0x494dd5)||this['_operationToId']['set'](_0x494dd5,_0x4d22e6);}}},nt=class extends _0x203610{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x525f71{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3fa162)());['_services'];static get['requires'](){return[z,_0x4fd941,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x20bc88){super(_0x20bc88),this['_services']=new Map();}async['init'](){const _0x31154a=this['context'],_0xb7fabe=_0x31154a['plugins']['get'](_0x4fd941);if(_0x31154a['plugins']['get'](z)['addToReconnectionStack'](this),_0xb7fabe['adapter']={'addCommentThread':async({channelId:_0x25ffdf,threadId:_0x456a36,comments:_0x35f097,resolvedAt:_0x410cd3,resolvedBy:_0x29a55d,context:_0x52a322,attributes:_0x4ecc5d})=>{const _0x77c04a=await this['_getService'](_0x25ffdf)['addCommentThread']({'commentThreadId':_0x456a36,'comments':_0x35f097['map'](_0x581a4e=>function(_0xe20a8d,_0x3f92c1,_0x265a84){return{'commentThreadId':_0x265a84,'commentId':_0xe20a8d['commentId'],'userId':_0xe20a8d['authorId'],'content':_0xe20a8d['content'],'documentId':_0x3f92c1,'createdAt':_0xe20a8d['createdAt'],'attributes':_0xe20a8d['attributes']||{}};}(_0x581a4e,_0x25ffdf,_0x456a36)),'resolvedAt':_0x410cd3,'resolvedBy':_0x29a55d,'context':_0x52a322,'attributes':_0x4ecc5d})['catch'](ct);return{'threadId':_0x77c04a['commentThreadId'],'comments':_0x77c04a['comments']};},'getCommentThread':async({channelId:_0x5370df,threadId:_0x2dbcd})=>{const _0x177753=await this['_getService'](_0x5370df)['getCommentThread'](_0x2dbcd)['catch'](rt)['catch'](ct);return _0x177753?_0x177753['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x177753]),{'threadId':_0x177753['commentThreadId'],'comments':_0x177753['comments']['map'](at),'context':_0x177753['context'],'resolvedAt':_0x177753['resolvedAt'],'resolvedBy':_0x177753['resolvedBy'],'attributes':_0x177753['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5cb94e,threadId:_0xeedfb6,context:_0x323881,unlinkedAt:_0x108370,attributes:_0x5339ac})=>this['_getService'](_0x5cb94e)['updateCommentThread']({'commentThreadId':_0xeedfb6,'context':_0x323881,'attributes':_0x5339ac,'unlinkedAt':_0x108370})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x11858c,threadId:_0x2c2a45})=>{const _0x30c2c9=await this['_getService'](_0x11858c)['resolveCommentThread'](_0x2c2a45)['catch'](rt)['catch'](ct);return{'threadId':_0x30c2c9['commentThreadId'],'resolvedAt':_0x30c2c9['resolvedAt'],'resolvedBy':_0x30c2c9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x472f0b,threadId:_0x24c981})=>this['_getService'](_0x472f0b)['reopenCommentThread'](_0x24c981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x423d2c,threadId:_0x828860})=>this['_getService'](_0x423d2c)['removeCommentThread'](_0x828860)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4e46ab,threadId:_0x78ead9,commentId:_0x554fda,content:_0x3fa5cb,attributes:_0x5daac5})=>this['_getService'](_0x4e46ab)['addComment'](_0x78ead9,_0x554fda,_0x3fa5cb,_0x5daac5)['catch'](ct),'updateComment':({channelId:_0x459bdb,threadId:_0x58a0f8,commentId:_0xfc311,content:_0x32cfc8,attributes:_0x4bdf86})=>this['_getService'](_0x459bdb)['updateComment'](_0x58a0f8,_0xfc311,_0x32cfc8,_0x4bdf86)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x33e23d,threadId:_0x475b21,commentId:_0x34f421})=>this['_getService'](_0x33e23d)['removeComment'](_0x475b21,_0x34f421)['catch'](rt)['catch'](ct)},_0x31154a instanceof _0x65df0c){const _0x4adc2a=_0x31154a['config']['get']('collaboration.channelId'),_0x1cefda=_0x31154a['plugins']['get'](Y);await this['_setUpService'](_0x4adc2a);const _0x192e21=await this['_services']['get'](_0x4adc2a)['getConnectedSessions']();this['listenTo'](_0x1cefda,'sessionAdd:'+_0x4adc2a,(_0x3945b5,{session:_0x5cbeb5})=>{_0x5cbeb5['id']===_0x1cefda['mySessionId']&&(_0x3945b5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5cbeb5['permissions'],_0x4adc2a));}),_0x1cefda['register'](_0x4adc2a,_0x192e21);}}async['_setUpService'](_0x3915e9){if(this['_services']['has'](_0x3915e9))throw new _0x50f763('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3915e9});const _0x4d5e72=this['context']['plugins']['get'](_0x4fd941),_0x111703=new CloudServicesCommentsAdapter['CommentsService'](_0x3915e9);this['_services']['set'](_0x3915e9,_0x111703),this['listenTo'](_0x111703,'commentThreadAdded',(_0x4b318d,_0x2e9504)=>{const {commentThreadId:_0xe5b731,documentId:_0x5d6163,context:_0x2f9065,attributes:_0xc43e44,resolvedAt:_0x38337c,resolvedBy:_0x73949e,comments:_0x151c68}=_0x2e9504;_0x4d5e72['getCommentThread'](_0xe5b731)||_0x4d5e72['addCommentThread']({'threadId':_0xe5b731,'channelId':_0x5d6163,'comments':_0x151c68?_0x151c68['map'](at):[],'context':_0x2f9065,'attributes':_0xc43e44,'resolvedAt':_0x38337c,'resolvedBy':_0x73949e,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadUpdated',(_0x5bca15,{commentThreadId:_0x32ee5c,documentId:_0x3e7c27,context:_0x22b037,unlinkedAt:_0x4e380a,attributes:_0x4a9c02})=>{_0x4d5e72['getCommentThread'](_0x32ee5c)&&_0x4d5e72['updateCommentThread']({'threadId':_0x32ee5c,'channelId':_0x3e7c27,'context':_0x22b037,'unlinkedAt':_0x4e380a,'attributes':_0x4a9c02,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadResolved',(_0x40ad15,{commentThreadId:_0xb1c25f,resolvedBy:_0x13d545,resolvedAt:_0x4927ba})=>{const _0x421dcd=_0x4d5e72['getCommentThread'](_0xb1c25f);_0x421dcd&&_0x421dcd['resolve']({'resolvedBy':_0x13d545,'resolvedAt':_0x4927ba,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadReopened',(_0x55ba08,{commentThreadId:_0x5de229})=>{const _0x31e049=_0x4d5e72['getCommentThread'](_0x5de229);_0x31e049&&_0x31e049['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadRemoved',(_0xb94f21,{commentThreadId:_0x3e54bc})=>{const _0x1b72f0=_0x4d5e72['getCommentThread'](_0x3e54bc);_0x1b72f0&&_0x1b72f0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentAdded',(_0x251f8e,_0x2b1a2d)=>{const _0xeec4d=_0x2b1a2d['commentThreadId'],_0x36b955=_0x4d5e72['getCommentThread'](_0xeec4d);_0x36b955&&_0x36b955['addComment']({...at(_0x2b1a2d),'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentUpdated',(_0x1264f4,{commentThreadId:_0x1e1d13,commentId:_0x6eacff,content:_0x348056,attributes:_0x43cfc4})=>{const _0x34aecf=_0x4d5e72['getCommentThread'](_0x1e1d13);if(_0x34aecf){const _0x5024e2=_0x34aecf['getComment'](_0x6eacff);_0x5024e2&&_0x5024e2['update']({'content':_0x348056,'attributes':_0x43cfc4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'commentRemoved',(_0x528709,{commentThreadId:_0x529736,commentId:_0x5279b9})=>{const _0x5e6709=_0x4d5e72['getCommentThread'](_0x529736);if(_0x5e6709){const _0x26e4ef=_0x5e6709['getComment'](_0x5279b9);_0x26e4ef&&_0x26e4ef['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x3915e9),this['stopListening'](_0x111703));}),await this['_connectService'](_0x3915e9);}['destroy'](){if(this['context']instanceof _0x65df0c){const _0x100bbf=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x100bbf)&&this['_terminateService'](_0x100bbf);}}['_terminateService'](_0x563b79){if(!this['_services']['has'](_0x563b79))throw new _0x50f763('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x563b79});this['_getService'](_0x563b79)['disconnect'](),this['_services']['delete'](_0x563b79);}async['reconnect'](){for(const _0x2821a2 of this['_services']['keys']())await this['_connectService'](_0x2821a2);if(this['context']instanceof _0x65df0c){const _0x2eb25b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2eb25b)){const _0x597ecb=this['context']['plugins']['get'](Y);_0x597ecb['unregister'](_0x2eb25b);const _0x80fb84=await this['_services']['get'](_0x2eb25b)['getConnectedSessions']();_0x597ecb['register'](_0x2eb25b,_0x80fb84);}}}async['_connectService'](_0x374372){const {connection:_0x179916}=this['context']['plugins']['get'](z),_0x45bc49=this['context']['plugins']['get'](_0x4fd941),_0xf15548=await this['_services']['get'](_0x374372)['connect'](_0x179916);await this['_fetchMissingUsersForThreads'](_0xf15548);const _0x1879e3=new Set(Array['from'](_0x45bc49['getCommentThreads']({'channelId':_0x374372}),_0x25f347=>_0x25f347['id']));for(const _0x9b9b1f of _0xf15548)_0x9b9b1f['deletedAt']||_0x1879e3['delete'](_0x9b9b1f['commentThreadId']);for(const _0x458315 of _0x1879e3)_0x45bc49['getCommentThread'](_0x458315)['remove']({'isFromAdapter':!0x0});for(const _0x6bbd1f of _0xf15548){let _0x5efae3=_0x45bc49['getCommentThread'](_0x6bbd1f['commentThreadId']);const {commentThreadId:_0x22b184,context:_0x139b52,attributes:_0x336138,resolvedBy:_0x58886a,resolvedAt:_0x5f20c3,unlinkedAt:_0x38e026,deletedAt:_0x339917}=_0x6bbd1f;if(_0x339917)continue;_0x5efae3||(_0x5efae3=_0x45bc49['addCommentThread']({'channelId':_0x374372,'threadId':_0x22b184,'context':_0x139b52,'attributes':_0x336138||{},'resolvedBy':_0x58886a,'resolvedAt':_0x5f20c3,'unlinkedAt':_0x38e026,'isFromAdapter':!0x0}));const _0xbbfb9f=new Set(Array['from'](_0x5efae3['comments'],_0x22134c=>_0x22134c['id']));for(const _0x49cfcc of _0x6bbd1f['comments'])_0xbbfb9f['delete'](_0x49cfcc['commentId']);for(const _0x238dd2 of _0xbbfb9f)_0x5efae3['getComment'](_0x238dd2)['remove']({'isFromAdapter':!0x0});for(const _0x3b0143 of _0x6bbd1f['comments']){const _0x43ffd7=_0x5efae3['getComment'](_0x3b0143['commentId']);_0x43ffd7?_0x43ffd7['content']!==_0x3b0143['content']&&_0x43ffd7['update']({'content':_0x3b0143['content'],'isFromAdapter':!0x0}):_0x5efae3['addComment'](Object['assign'](at(_0x3b0143),{'isFromAdapter':!0x0}));}}}['_getService'](_0x373a71){if(!this['_services']['has'](_0x373a71))throw new _0x50f763('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x373a71});return this['_services']['get'](_0x373a71);}async['_fetchMissingUsersForThreads'](_0x1c1c18){const _0x2e19d0=this['context']['plugins']['get'](_0x3a0f0f),{connection:_0x3d5a58}=this['context']['plugins']['get'](z),_0x3c4836=new Set();for(const {resolvedBy:_0x54b666,comments:_0x1b5680}of _0x1c1c18){_0x54b666&&!_0x2e19d0['getUser'](_0x54b666)&&_0x3c4836['add'](_0x54b666);for(const {userId:_0x52c5a1}of _0x1b5680)_0x2e19d0['getUser'](_0x52c5a1)||_0x3c4836['add'](_0x52c5a1);}if(0x0===_0x3c4836['size'])return;const _0x3ba133=await _0x5778e5['getMany'](_0x3d5a58,Array['from'](_0x3c4836));for(const _0x6843ed of _0x3ba133)_0x2e19d0['getUser'](_0x6843ed['id'])||_0x2e19d0['addUser'](_0x6843ed);}};async function rt(_0x1708af){if('404'!==_0x1708af['code'])throw _0x1708af;}function ct(_0x36420c){if((_0x4809fe=_0x36420c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4809fe;throw _0x36420c;}function at(_0x531497){return{'threadId':_0x531497['commentThreadId'],'commentId':_0x531497['commentId'],'content':_0x531497['content'],'createdAt':_0x531497['createdAt'],'authorId':_0x531497['userId'],'attributes':_0x531497['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x203610{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x105cc0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x55cc9b,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x192309){super(_0x192309);const _0x4fa999=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x4fa999);}['init'](){const _0x89ea31=this['editor']['plugins']['get'](z),_0x431dd2=this['editor']['plugins']['get'](_0x55cc9b);return _0x431dd2['adapter']={'getSuggestion':async _0x53e8df=>{await this['_waitForServiceReady']();const _0x4cbcf3=await this['_trackChangesService']['get'](_0x53e8df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4cbcf3]),_0x4cbcf3;},'addSuggestion':async({id:_0x1b5419,type:_0x1ad43f,data:_0x160083,originalSuggestionId:_0x1e3a7a,attributes:_0x410eda})=>{await this['_waitForServiceReady']();const _0x4f1c02={'id':_0x1b5419,'type':_0x1ad43f,'data':_0x160083,'originalSuggestionId':_0x1e3a7a,'attributes':_0x410eda},_0xb1cce5=await this['_trackChangesService']['add'](_0x1b5419,_0x1ad43f,_0x160083,_0x1e3a7a,_0x410eda)['catch'](_0x5586d1=>{if(dt(_0x5586d1))return new Promise(_0x4ddfef=>{this['_bufferedRequests']['set'](_0x1b5419,{'resolve':_0x4ddfef,'suggestionData':_0x4f1c02});});throw _0x5586d1;});return this['_bufferedRequests']['delete'](_0x1b5419),_0xb1cce5;},'updateSuggestion':async(_0x138f2e,_0x26ced6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x26ced6['state'])return this['_trackChangesService']['update'](_0x138f2e,_0x26ced6)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x113692,_0x1b4be4)=>{_0x431dd2['hasSuggestion'](_0x1b4be4['id'])&&(_0x431dd2['getSuggestion'](_0x1b4be4['id'])['attributes']=_0x1b4be4['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x89ea31['connection']?.['state']&&(_0x89ea31['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x89ea31['connection'])['then'](_0x5127d2=>(_0x89ea31['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5127d2)['then'](()=>{for(const _0x269c22 of _0x5127d2){_0x431dd2['addSuggestionData'](_0x269c22)['_saved']=!0x0;}})));}async['reconnect'](){const _0x417f07=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5d4127}=this['editor']['plugins']['get'](z),_0x59fda1=await this['_trackChangesService']['connect'](_0x5d4127);await this['_fetchMissingUsersForThreads'](_0x59fda1);for(const {suggestionData:_0x279bcc,resolve:_0x3fc8f2}of this['_bufferedRequests']['values']()){let _0x2494b9=_0x59fda1['find'](_0x2aaf5d=>_0x2aaf5d['id']===_0x279bcc['id']);_0x2494b9||(_0x2494b9=await this['_trackChangesService']['add'](_0x279bcc['id'],_0x279bcc['type'],_0x279bcc['data'],_0x279bcc['originalSuggestionId'])),_0x3fc8f2(_0x2494b9);}for(const _0x5ca23c of _0x59fda1)_0x417f07['hasSuggestion'](_0x5ca23c['id'])||_0x417f07['addSuggestionData'](_0x5ca23c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x17575c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x18f5c8=>{_0x18f5c8['off'](),_0x17575c();});});}async['_fetchMissingUsersForThreads'](_0x1010cc){const _0x5cc84a=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x395416}=this['editor']['plugins']['get'](z),_0x4a7535=new Set();for(const {authorId:_0x513dc6}of _0x1010cc)_0x5cc84a['getUser'](_0x513dc6)||_0x4a7535['add'](_0x513dc6);if(0x0===_0x4a7535['size'])return;const _0x25b260=await _0x5778e5['getMany'](_0x395416,Array['from'](_0x4a7535));for(const _0xbf04b4 of _0x25b260)_0x5cc84a['getUser'](_0xbf04b4['id'])||_0x5cc84a['addUser'](_0xbf04b4);}};function lt(_0x16fcfc){if(dt(_0x16fcfc))return new Promise(()=>{});throw _0x16fcfc;}function dt(_0x3d9785){return _0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x203610{static get['requires'](){return[_0x421a60,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2f304c=this['editor']['plugins']['get'](z),_0x23ccb1=this['editor']['plugins']['get'](_0x372972),_0x574b40=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2f304c,'change:state',(_0x15cd37,_0x495999,_0x5cbac3)=>{_0x23ccb1['isThreadsLoadingPaused']='connected'!==_0x5cbac3;});}),this['listenTo'](_0x2f304c,'change:state',(_0x4bfb2c,_0x11fd6b,_0xff6678)=>{this['editor']['plugins']['get'](_0x4fd941)['switchReadOnly']('connected'!==_0xff6678);}),_0x574b40['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3f5d89=this['editor']['plugins']['get'](ot),_0x25601f=this['editor']['config']['get']('collaboration.channelId');_0x3f5d89['_services']['has'](_0x25601f)&&_0x3f5d89['_terminateService'](_0x25601f),super['destroy']();}},ft=class extends _0x203610{static get['requires'](){return[ut,ht,_0xedfa48];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x203610{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x2cda8d)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x57a2b8,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ca630){super(_0x2ca630);const _0x2a7750=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2a7750);}async['init'](){const _0x2d4b8f=this['editor']['plugins']['get'](tt),_0x77b539=_0x2d4b8f['serverHistory'],_0x3e6b39=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x77b539,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2d4b8f['sessionId']});const _0x1efe80=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xad9c89,_0x535436=await _0x4bd199['isBundleUploaded'](_0x3e6b39['connection'],_0x1efe80);this['editor']['plugins']['get'](_0x57a2b8)['adapter']={'getRevision':async({revisionId:_0x1a9027})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1a9027)),'updateRevisions':async _0x6a802=>{await this['_waitForServiceReady']();const _0x500cc2=this['_revisionTracker']['currentRevision'];if(_0x535436&&0x1===_0x6a802['length']&&_0x6a802[0x0]['id']===_0x500cc2['id'])return _0x6a802;for(const _0x13e212 of _0x6a802)_0x13e212['id']===_0x500cc2['id']&&(_0x13e212['isEmptyCurrent']=_0x13e212['fromVersion']===_0x13e212['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x6a802,this['_lastRequestId'])['then'](_0xc651aa=>(this['_lastRequestId']=_0xc651aa,_0x6a802))['catch'](_0x24407d=>{if(pt(_0x24407d)||'400'===_0x24407d['code']&&void 0x0!==_0x24407d['data']['wrongRequestId']){for(const _0x14e960 of _0x6a802)this['_revisionTracker']['repository']['getRevision'](_0x14e960['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x14e960['id'],_0x14e960,!0x1);if(pt(_0x24407d)&&'destroyed'!==this['editor']['state'])throw _0x24407d;return _0x6a802;}throw _0x24407d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x7b0fda,{revisionsData:_0x1dfc7e,requestId:_0x3f1968})=>{Math['max'](..._0x1dfc7e['map'](_0x250a9a=>_0x250a9a['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}):this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3e6b39['connection']?.['state']&&(_0x3e6b39['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x47c755,requestId:_0x49b361}=await this['_revisionHistoryService']['connect'](_0x3e6b39['connection']);_0x3e6b39['addToReconnectionStack'](this),this['_lastRequestId']=_0x49b361,await this['_fetchMissingUsers'](_0x47c755);for(const _0x52ee2c of _0x47c755)this['_revisionTracker']['addRevisionData'](_0x52ee2c);this['listenTo'](_0x2d4b8f,'change:_isConnected',(_0x341aa0,_0x3dd2d1,_0x4b77d1)=>{_0x4b77d1&&(this['_oldOffset']=_0x2d4b8f['_offset'],_0x341aa0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x4e1ad3=this['editor']['plugins']['get'](z),_0x250afa=this['editor']['plugins']['get'](tt),_0xc32d28=async()=>{const _0x3dce51=this['_revisionTracker']['currentRevision'],_0xa0c001=_0x3dce51['id'],_0x436dc7=_0xa0c001!==_0x250afa['sessionId'];if(_0x436dc7){const _0x52d571=_0x250afa['_offset']-this['_oldOffset'],_0x525825=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3dce51['toVersion']+_0x52d571!==_0x525825){const _0x47915c=_0x3dce51['fromVersion']+_0x52d571,_0x2e7de2=this['editor']['plugins']['get'](_0x3a0f0f),_0x6286dd=this['_revisionTracker']['buildRevisionData']({'revision':_0x3dce51,'from':_0x47915c,'to':_0x525825});_0x6286dd['id']=_0x3dce51['id'];const _0x1cfc97=_0x6286dd['authorsIds']['map'](_0x2bd197=>_0x2e7de2['getUser'](_0x2bd197));_0x3dce51['_update']({..._0x6286dd,'authors':_0x1cfc97},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3dce51['id'],_0x6286dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x525825,_0x3dce51['toVersion']!==_0x3dce51['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0xa0c001)||this['_revisionTracker']['repository']['_revisions']['remove'](_0xa0c001),this['_revisionTracker']['_createCurrentRevision'](_0x525825);}const {revisions:_0x23b8fc,requestId:_0x44c7a4}=await this['_revisionHistoryService']['reconnect'](_0x4e1ad3['connection'],this['_lastRequestId']);_0x436dc7&&_0x23b8fc['length']>0x0?_0x250afa['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x23b8fc),this['_handleRevisionsUpdate'](_0x23b8fc,_0x44c7a4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x250afa['_isConnected']?_0xc32d28():new Promise((_0x246a81,_0x1fa750)=>{_0x250afa['once']('change:_isConnected',()=>{_0xc32d28()['then'](_0x246a81)['catch'](_0x1fa750);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x376b62=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x8d9730=>{_0x8d9730['off'](),_0x376b62();});});}['_getLatestVersionFromServerOperations'](){const _0x58d5c9=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17d994 of _0x58d5c9)if('marker'!==_0x17d994['type']||_0x17d994['affectsData'])return _0x17d994['baseVersion']+0x1;}['_getLatestVersion'](){const _0x52ef6b=this['editor']['plugins']['get'](tt);return new Promise(_0x578998=>{_0x52ef6b['_isPendingUpdate']?_0x52ef6b['once']('change:_isPendingUpdate',()=>{_0x578998(this['_getLatestVersionFromServerOperations']());}):_0x578998(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x461255,_0x3610b6){const _0x388593=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3610b6;for(const _0x4611c3 of _0x461255){const _0x1c0f9f=_0x388593['getRevision'](_0x4611c3['id']);if(_0x1c0f9f){if((_0x4611c3['fromVersion']||_0x4611c3['toVersion'])&&(_0x4611c3['diffData']=null),_0x1c0f9f===this['_revisionTracker']['currentRevision']){const _0x2f4def=Math['max'](_0x1c0f9f['toVersion'],_0x4611c3['toVersion']),_0x12a15f=Math['max'](_0x1c0f9f['fromVersion'],_0x4611c3['fromVersion']);let _0x595b9;_0x1c0f9f['toVersion']===_0x4611c3['toVersion']&&_0x1c0f9f['fromVersion']===_0x4611c3['fromVersion']?(_0x595b9=!0x0,this['_preventResendingRevisionData'](_0x4611c3)):_0x4611c3['toVersion']===_0x2f4def&&_0x4611c3['fromVersion']===_0x12a15f?_0x595b9=!0x1:(_0x1c0f9f['toVersion']===_0x2f4def&&_0x1c0f9f['fromVersion']===_0x12a15f||this['_fixRevision']({'revision':_0x1c0f9f,'from':_0x12a15f,'to':_0x2f4def}),_0x595b9=!0x0),_0x595b9&&(delete _0x4611c3['fromVersion'],delete _0x4611c3['toVersion'],delete _0x4611c3['diffData'],delete _0x4611c3['createdAt'],delete _0x4611c3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4611c3),this['_preventResendingRevisionData'](_0x4611c3);}else this['_revisionTracker']['addRevisionData'](_0x4611c3);}const _0x5ee1c9=_0x388593['getRevisions']();_0x5ee1c9['reverse']();for(let _0x5eff3c=0x0;_0x5eff3c<_0x5ee1c9['length']-0x1;_0x5eff3c++){const _0x2b93ba=_0x5ee1c9[_0x5eff3c],_0x16299b=_0x5ee1c9[_0x5eff3c+0x1];if(_0x2b93ba['fromVersion']<_0x16299b['toVersion']){const _0x4520c2=_0x16299b['toVersion'],_0x44eb84=Math['max'](_0x4520c2,_0x2b93ba['toVersion']);this['_fixRevision']({'revision':_0x2b93ba,'from':_0x4520c2,'to':_0x44eb84});}}}['_fixRevision']({revision:_0x49f833,from:_0xe37590,to:_0x147670}={}){const _0x1d3083=this['editor']['plugins']['get'](_0x3a0f0f),_0x12e47c=this['_revisionTracker']['buildRevisionData']({'revision':_0x49f833,'from':_0xe37590,'to':_0x147670});_0x12e47c['authors']=_0x12e47c['authorsIds']['map'](_0x19b395=>_0x1d3083['getUser'](_0x19b395)),_0x49f833['_update'](_0x12e47c);}['_preventResendingRevisionData'](_0x39be98){const _0x304c74={};_0x304c74['id']=_0x39be98['id'];for(const _0x413c26 of Object['keys'](_0x39be98))'id'!==_0x413c26&&(_0x304c74[_0x413c26]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x304c74['id'],_0x304c74,!0x0);}async['_fetchMissingUsers'](_0x2650d2){const _0x4dd1ad=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x3dc1e0}=this['editor']['plugins']['get'](z),_0x3bfa41=new Set();for(const _0x263d12 of _0x2650d2){for(const _0x1797b4 of _0x263d12['authorsIds'])_0x249df1(_0x1797b4);_0x263d12['creatorId']&&_0x249df1(_0x263d12['creatorId']);}if(0x0===_0x3bfa41['size'])return;const _0x35b17c=await _0x5778e5['getMany'](_0x3dc1e0,Array['from'](_0x3bfa41));for(const _0x4c92a5 of _0x35b17c)_0x4dd1ad['getUser'](_0x4c92a5['id'])||_0x4dd1ad['addUser'](_0x4c92a5);function _0x249df1(_0x5a1e9b){_0x4dd1ad['getUser'](_0x5a1e9b)||_0x3bfa41['add'](_0x5a1e9b);}}};function pt(_0x52e9f5){return _0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x203610{static get['requires'](){return[_0x57a2b8,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x4317fb{['_collapseAt'];constructor(_0x1c9075,_0x5bc683=0x6){super(_0x1c9075);const _0x36641a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5bc683,this['bind']('isHidden')['to'](this,'usersCount',_0x1cc367=>_0x1cc367<_0x5bc683),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x36641a['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':_0x36641a['to']('usersCount',_0x19bd58=>'+'+(_0x19bd58-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x4317fb{['items'];['keystrokes'];constructor(_0x1baae8){super(_0x1baae8);const _0x2a08ed=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x17a0f8(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2a08ed['if']('hasPopup'),'aria-expanded':_0x2a08ed['to']('isExpanded',_0x2ea15c=>this['hasPopup']&&String(_0x2ea15c)),'aria-label':_0x2a08ed['to']('hasPopup',_0x41c124=>X(_0x1baae8,_0x41c124?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2a08ed['to']('hasPopup',_0x46cbc=>!!_0x46cbc&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2a08ed['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2a08ed['to'](_0x2618a3=>{const _0x2f9651=_0x2618a3,_0x338487=document['querySelector']('.ck-presence-list__dropdown-list'),_0x56a132=document['querySelector']('.ck-balloon-panel_with-arrow');_0x338487?.['contains'](_0x2f9651['relatedTarget'])||_0x56a132?.['contains'](_0x2f9651['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3c440f,_0x53fa31,_0x2931c0)=>{this['element']&&(_0x2931c0?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']);}},_t=class extends _0x4317fb{['counterView'];['inlineListView'];constructor(_0x1bb56f,_0x1c3427=0x6){super(_0x1bb56f);const _0x2e428d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c3427),this['inlineListView']=new vt(_0x1bb56f),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5cf091 of this['inlineListView']['items'])_0x5cf091['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',_0x2e428d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x4317fb{['listWrapperView'];constructor(_0x343dce,_0x4bbbf5){super(_0x343dce);const _0x3e90bc=this['bindTemplate'];this['listWrapperView']=new bt(_0x343dce,_0x4bbbf5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x343dce,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3e90bc['to'](_0x25d1b5=>{const _0xeee1ff=_0x25d1b5,_0x52662f=document['querySelector']('.ck-presence-list__list'),_0x129009=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52662f?.['contains'](_0xeee1ff['relatedTarget'])||_0x129009?.['contains'](_0xeee1ff['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x1157a6{constructor(_0x1c0c52,_0x2f7f8c){super(_0x1c0c52);const _0x45dc73=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f7f8c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x45dc73['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x45dc73['to']('role'),'aria-label':_0x45dc73['to']('ariaLabel'),'aria-labelledby':_0x45dc73['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x6efeaf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x297135=this['element'];_0x297135&&(this['_isScrollable']=Math['max'](_0x297135['scrollHeight'],_0x297135['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x2b1c38{['userView'];constructor(_0x15c40f,_0x2cb5c6,_0x52b0ed){super(_0x15c40f);const _0x3c0ed5=this['bindTemplate'];this['userView']=new _0x15c9e3(_0x15c40f,_0x2cb5c6);const _0x5f1f2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2cb5c6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2cb5c6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2cb5c6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2cb5c6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2cb5c6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x52b0ed&&(_0x5f1f2b['tag']='button',_0x5f1f2b['on']={'click':_0x3c0ed5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5f1f2b);}['focus'](){this['element']['focus']();}},It=class extends _0x4317fb{['userView'];['markerView'];constructor(_0xc036af,_0x83ef7e,_0x471d61){super(_0xc036af);const _0x2960e9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x15c9e3(_0xc036af,_0x83ef7e),this['markerView']=new St(_0xc036af,_0x83ef7e);const _0x5ba787=new _0x5a2556(_0xc036af);_0x5ba787['template']['tag']='span',_0x5ba787['text']=_0x83ef7e['name'];const _0x3d4836={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2960e9['to']('isFocusable',_0x4ec3ab=>!!_0x4ec3ab&&0x0),'aria-labelledby':_0x5ba787['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2960e9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2960e9['to']('hasTooltip',_0x5ea876=>!_0x5ea876),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ba787]};_0x471d61&&(_0x3d4836['tag']='button',_0x3d4836['on']={'click':_0x2960e9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d4836);}},St=class extends _0x4317fb{constructor(_0x493824,_0x16afb8){super(_0x493824),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16afb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16afb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16afb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x525f71{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bbdaa){super(_0x2bbdaa),this['context']['config']['define']('presenceList',Tt);const _0x18ef0c=_0x2bbdaa['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x18ef0c)throw new _0x50f763('presencelist-collapseat-invalid-format',this);if(_0x18ef0c<0x1)throw new _0x50f763('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3eba5a(),this['balloonPanelView']=new _0x1af306(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x43bb59 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x43bb59);this['listenTo'](this['_allConnectedUsers'],'add',(_0x14e8c1,_0x24623f)=>{this['_handleUserAdd'](_0x24623f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x471e33,_0x33ac18)=>{this['_handleUserRemove'](_0x33ac18);});}['_createView'](){const _0x55f580=this['context'],_0x3b6a9d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49a49b=this['balloonPanelView'];if(!_0x31be5e(_0x55f580['config']['get']('presenceList.container')))throw new _0x50f763('presencelist-missing-container',this);return _0x3b6a9d['counterView']['bind']('usersCount')['to'](this),_0x3b6a9d['bind']('isCollapsed')['to'](this,'usersCount',_0x195df2=>{const {collapseAt:_0x4f38ea}=_0x55f580['config']['get']('presenceList'),_0x444c2c=_0x195df2>=_0x4f38ea;if(_0x444c2c&&!_0x3b6a9d['inlineListView']['items']['find'](_0x2a93a2=>_0x2a93a2 instanceof wt)){const _0x16b7d8=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x16b7d8&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3b6a9d['inlineListView']['items']['add'](_0x3b6a9d['counterView']);}return _0x444c2c||this['hideDropdown'](),_0x444c2c;}),_0x3b6a9d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x532c16=>{const _0x5ebb92=_0x55f580['config']['get']('presenceList'),_0x5b4103=new It(_0x55f580['locale'],_0x532c16,!!_0x5ebb92['onClick']);return _0x5b4103['bind']('hasTooltip')['to'](_0x3b6a9d,'isCollapsed',_0x57f9a3=>!_0x57f9a3),_0x5b4103['bind']('isFocusable')['to'](_0x3b6a9d,'isCollapsed',_0x221713=>!_0x221713),_0x5ebb92['onClick']&&this['listenTo'](_0x5b4103,'execute',()=>{this['view']['isCollapsed']||_0x5ebb92['onClick'](_0x532c16,_0x5b4103['element']);}),_0x5b4103;}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3b6a9d['inlineListView']['keystrokes']['set']('Enter',(_0x47c85,_0x5b2fbb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b2fbb());}),_0x3b6a9d['render'](),_0x49a49b['render'](),_0x56aa22({'emitter':_0x3b6a9d,'activator':()=>_0x49a49b['isVisible'],'contextElements':[_0x49a49b['element'],_0x3b6a9d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x55f580['config']['get']('presenceList.container')['appendChild'](_0x3b6a9d['element']),this['_bodyCollection']=new _0x3e76fb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3b6a9d;}['_handleUserAdd'](_0x587675){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x587675['isMe'])return;const _0x151cc3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x151cc3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x41c550=_0x587675['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x587675,_0x41c550);}['_handleUserRemove'](_0x5ea65f){this['usersCount']--;const {collapseAt:_0x520d0e}=this['context']['config']['get']('presenceList'),_0xb90513=this['usersCount']>=_0x520d0e;if(this['currentDisplayedUsers']['get'](_0x5ea65f['id']))this['currentDisplayedUsers']['remove'](_0x5ea65f['id']);else{if(_0xb90513&&this['currentDisplayedUsers']['length']+0x1===_0x520d0e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)<this['usersCount']){for(const _0x276b0c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x276b0c['id'])&&(this['currentDisplayedUsers']['add'](_0x276b0c,Math['min'](this['currentDisplayedUsers']['length']-(_0xb90513?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)===_0x520d0e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x487df0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x487df0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x414ea8}=this['presenceDropdownView'];_0x414ea8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x14920a=>{if(!_0x487df0['displayMe']&&_0x14920a['isMe'])return null;const _0x4ec9a6=new kt(this['context']['locale'],_0x14920a,!!_0x487df0['onClick']);return _0x487df0['onClick']&&this['listenTo'](_0x4ec9a6,'execute',()=>{_0x487df0['onClick'](_0x14920a,_0x4ec9a6['element']);}),_0x4ec9a6;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x414ea8['focus'](),_0x414ea8['checkIfScrollable']();const _0x359153=(_0x56c5c9,_0x4627cb)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4627cb();};_0x414ea8['keystrokes']['set']('Esc',_0x359153),_0x414ea8['keystrokes']['set']('Shift+Tab',_0x359153),_0x414ea8['keystrokes']['set']('Tab',(_0x15afbf,_0x57d0c1)=>{!function(_0x4802a1){const _0x37d8f8=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1b5452=>_0x1b5452+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1ab3be=[...document['body']['querySelectorAll'](_0x37d8f8)]['filter'](_0x219472=>_0x219472===document['activeElement']||_0x219472['offsetWidth']+_0x219472['offsetHeight']>0x0)['sort']((_0x37744e,_0x2e37ba)=>(_0x37744e['tabIndex']||0x0)-(_0x2e37ba['tabIndex']||0x0)),_0x5b8d25=_0x1ab3be[(_0x1ab3be['indexOf'](_0x4802a1)+0x1)%_0x1ab3be['length']];_0x5b8d25&&_0x5b8d25['focus']();}(this['view']['element']),this['hideDropdown'](),_0x57d0c1();}),_0x414ea8['focusTracker']['add'](this['view']['element']),_0x414ea8['focusTracker']['on']('change:isFocused',(_0x104579,_0x240cf0,_0x2768d6)=>{_0x2768d6||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);}},At=class extends _0x525f71{static get['requires'](){return[Y,Ct];}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,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};