@ckeditor/ckeditor5-real-time-collaboration 48.0.0-alpha.8 → 48.0.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 (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x6b13bf,Plugin as _0x512c3b,PendingActions as _0x4c8145,Context as _0x59ae87}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x238e54,CKEditorError as _0x5d88de,Collection as _0x37a42c,global as _0x57454e,version as _0x3e5cdd,uid as _0x487873,KeystrokeHandler as _0x2864f3}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4edca5,View as _0x45d855,ListView as _0x28fa98,ListItemView as _0xbb6ce2,LabelView as _0x2db3b4,BalloonPanelView as _0x246412,clickOutsideHandler as _0x429dd3,BodyCollection as _0x3c32f1}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x39b5f6,History as _0x3e3e59,NoOperation as _0xb173b1,InsertOperation as _0x5f5a5c,MarkerOperation as _0x561ae5,RootAttributeOperation as _0x694689,transformOperationSets as _0x4a9acb,OperationFactory as _0x350a65}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0xa5e6d9}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x496e3e,WEB_SOCKET_GATEWAY_STATES as _0x4f3cbc,CollaborativeEditingService as _0x456026,User as _0x2c2031,CommentsService as _0xad8fa8,TrackChangesService as _0x5ba1eb,RevisionHistoryService as _0x1e91e1,EditorService as _0x19bfcd}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x3847b0,UserView as _0x35e11e}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x77fc10}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x107d71,TrackChanges as _0x26b3cc}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x3cd3b6,Comments as _0x380a1c,CommentsEditing as _0x204e01}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x523413}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0xf133dc}from'es-toolkit/compat';class z extends _0x6b13bf{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x496e3e)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xa5e6d9,_0x4edca5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47f6b8){super(_0x47f6b8),this['set']('state',_0x4f3cbc['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x238e54())();}['init'](){const _0x5ef00a=this['context'],_0x58bcf4=_0x5ef00a['plugins']['get'](_0xa5e6d9),_0x5e6a84=_0x5ef00a['plugins']['get'](_0x4edca5);if(!_0x58bcf4['token'])throw new _0x5d88de('websocketgateway-missing-token',this);if(!_0x58bcf4['webSocketUrl'])throw new _0x5d88de('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x58bcf4['token'],_0x58bcf4['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5d2811=>{if(this['connection']=_0x5d2811,this['bind']('state')['to'](_0x5d2811,'state',this,'_isBrowserOffline',(_0x40a7bc,_0x25a955)=>('connected'!==_0x40a7bc&&(this['_shouldPluginsReconnect']=!0x0),_0x25a955||_0x40a7bc!==_0x4f3cbc['CONNECTED']?_0x4f3cbc['DISCONNECTED']:this['state']==_0x4f3cbc['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4f3cbc['CONNECTING']):_0x4f3cbc['CONNECTED'])),this['connection']['on']('error',(_0x9a8462,_0x421463)=>{if('limitExceeded'!==_0x421463['code'])throw console['error'](_0x421463),new _0x5d88de('cloudservices-init',null,{'originalError':_0x421463});_0x5e6a84['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'});}),!_0x5d2811['me'])return new Promise(_0x18daed=>_0x5d2811['on']('change:me',_0x18daed));})['catch'](_0xfaf447=>{throw console['error'](_0xfaf447),new _0x5d88de('cloudservices-init',null,{'originalError':_0xfaf447});});}['addToReconnectionStack'](_0x275613){if('function'!=typeof _0x275613['reconnect'])throw new _0x5d88de('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x275613))throw new _0x5d88de('websocketgateway-plugin-already-registered',this,{'name':_0x275613['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x275613);}['removeFromReconnectionStack'](_0x295a30){this['_reconnectionStack']['delete'](_0x295a30);}['isInReconnectionStack'](_0x4a9192){return this['_reconnectionStack']['has'](_0x4a9192);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x570114=>_0x570114['reconnect']())))['then'](()=>this['state']=_0x4f3cbc['CONNECTED'])['catch'](_0x4bb355=>{throw console['error'](_0x4bb355),new _0x5d88de('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4f3cbc['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x6b13bf{['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,_0x3847b0];}constructor(_0x412c73){super(_0x412c73),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x37a42c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3847b0);}['init'](){const _0x4b577e=this['context']['plugins']['get'](z);this['listenTo'](_0x4b577e,'change:state',(_0x39da6b,_0x219aba,_0x72d3c2)=>{if('connected'!==_0x72d3c2)this['channelSessions']['forEach'](_0x3d014e=>_0x3d014e['clear']()),this['channelConnectedUsers']['forEach'](_0x500274=>_0x500274['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x21c212,_0xa11da]of this['_registeredSessions'])for(const _0x3012be of _0xa11da)this['_handleSessionAdd'](_0x21c212,_0x3012be);}}),this['_createUser'](_0x4b577e['connection']['me'],!0x0);}['register'](_0x305b77,_0x5aeca4){if(this['_registeredSessions']['has'](_0x305b77))throw new _0x5d88de('sessions-register-already-registered',null,{'channelId':_0x305b77});this['_registeredSessions']['set'](_0x305b77,_0x5aeca4),this['channelSessions']['set'](_0x305b77,new _0x37a42c()),this['channelConnectedUsers']['set'](_0x305b77,new _0x37a42c()),this['listenTo'](_0x5aeca4,'add',(_0x26e4e6,_0x46e7e1)=>this['_handleSessionAdd'](_0x305b77,_0x46e7e1)),this['listenTo'](_0x5aeca4,'remove',(_0xfe60b6,_0x1e7899)=>this['_handleSessionRemove'](_0x305b77,_0x1e7899));for(const _0x4e85fe of _0x5aeca4)this['_handleSessionAdd'](_0x305b77,_0x4e85fe);}['unregister'](_0x4a7d8b){if(!this['_registeredSessions']['has'](_0x4a7d8b))throw new _0x5d88de('sessions-unregister-not-exist',null,{'channelId':_0x4a7d8b});const _0x5b64ce=this['_registeredSessions']['get'](_0x4a7d8b);this['stopListening'](_0x5b64ce);for(const _0x1bf3e2 of _0x5b64ce)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x4a7d8b,_0x1bf3e2);this['_registeredSessions']['delete'](_0x4a7d8b),this['channelSessions']['delete'](_0x4a7d8b),this['channelConnectedUsers']['delete'](_0x4a7d8b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xee0ed5){for(const _0x3f3e72 of this['channelSessions']['values']())for(const _0x54fb11 of _0x3f3e72)if(_0x54fb11['id']===_0xee0ed5)return _0x54fb11['user'];}['getUserSessions'](_0x333461,_0xe5b06f){const _0x23448d=_0xe5b06f?[this['channelSessions']['get'](_0xe5b06f)]:this['channelSessions']['values'](),_0x18b566=new Set();for(const _0x5f3a19 of _0x23448d)for(const _0x2068a2 of _0x5f3a19)_0x2068a2['user']['id']===_0x333461['id']&&_0x18b566['add'](_0x2068a2['id']);return _0x18b566;}['getUserRole'](_0x4d0666){for(const _0x39734c of this['channelSessions']['values']())for(const _0x46065c of _0x39734c)if(_0x46065c['user']===_0x4d0666)return _0x46065c['role'];}['_handleSessionAdd'](_0x456917,_0x49b871){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x2f45a0=_0x49b871['user'],_0x8ef50d=this['_users']['getUser'](_0x2f45a0['id'])||this['_createUser'](_0x2f45a0),_0x213094=Object['assign']({},_0x49b871,{'user':_0x8ef50d});if(this['channelSessions']['get'](_0x456917)['add'](_0x213094),!_0x2f45a0['hiddenInPresenceList']){const _0x1cc8ba=this['channelConnectedUsers']['get'](_0x456917);_0x1cc8ba['has'](_0x8ef50d['id'])||_0x1cc8ba['add'](_0x8ef50d),this['allConnectedUsers']['has'](_0x8ef50d['id'])||_0x2f45a0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x8ef50d,_0x8ef50d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x456917,{'channelId':_0x456917,'session':_0x213094});}['_handleSessionRemove'](_0x4b48c2,_0x3817ab){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3d6f2c=this['channelConnectedUsers']['get'](_0x4b48c2),_0x4afc03=_0x3817ab['user'];_0x4afc03['id']&&(this['channelSessions']['get'](_0x4b48c2)['remove'](_0x3817ab['id']),_0x3d6f2c['has'](_0x4afc03['id'])&&!this['getUserSessions'](_0x4afc03,_0x4b48c2)['size']&&_0x3d6f2c['remove'](_0x4afc03['id']),this['allConnectedUsers']['get'](_0x4afc03['id'])&&!this['getUserSessions'](_0x4afc03)['size']&&this['allConnectedUsers']['remove'](_0x4afc03['id']));}['_createUser'](_0xd47108,_0x4b8e18){const _0x84e6fa=this['_users']['addUser'](_0xd47108);return _0x4b8e18&&this['_users']['defineMe'](_0xd47108['id']),_0x84e6fa['orderNumber']=this['_uniqueUsersCount']++,_0x84e6fa;}}class K extends _0x512c3b{['_domEmitter']=new(_0x238e54())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x588541=this['editor'],_0x3c631c=_0x588541['plugins']['get'](Y);_0x588541['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x223850,{writer:_0x3d57a6})=>function(_0x2e7404,_0x393906,_0x55e21f,_0x4bcad6){const _0x2ed344=_0x2e7404['markerName']['split'](':')[0x2],_0x590f79=_0x55e21f['getUserBySessionId'](_0x2ed344);if(!_0x590f79||_0x2ed344===_0x55e21f['mySessionId'])return;if(!_0x4bcad6['model']['schema']['checkChild'](_0x2e7404['markerRange']['start'],'$text'))return;const _0x227dbd={'class':'ck-user__marker\x20'+_0x590f79['color']['getMarkerClass'](),'style':Q(_0x590f79),'data-name':_0x590f79['name'],'data-session-id':_0x2ed344},_0x367db0=_0x4bcad6['model']['markers']['get'](_0x2e7404['markerName']),_0x27c29a=_0x367db0['getStart'](),_0x1f15a8=_0x27c29a['nodeAfter'],_0x225bae=_0x4bcad6['model']['schema'];if(_0x1f15a8&&_0x225bae['isObject'](_0x1f15a8)&&_0x225bae['isInline'](_0x1f15a8)&&!_0x4bcad6['model']['markers']['get']('user:range:'+_0x2ed344)['getRange']()['isCollapsed'])return;const _0x77e3d8=_0x27c29a['parent'];return _0x4bcad6['model']['schema']['isLimit'](_0x77e3d8)&&!_0x4bcad6['model']['hasContent'](_0x77e3d8)&&(_0x227dbd['contenteditable']=!0x1),function(_0x118b4d,_0x941fa1,_0x33687b){const _0x2203e0=_0x118b4d['createUIElement']('span',_0x941fa1);return _0x118b4d['setCustomProperty']('userPositionMarker',!0x0,_0x2203e0),_0x2203e0['render']=function(_0x31d9ed){const _0x415d8b=this['toDomElement'](_0x31d9ed),_0x303c3d=document['createElement']('span');return _0x303c3d['classList']['add']('ck-user__marker-tooltip'),_0x303c3d['setAttribute']('contenteditable','false'),_0x303c3d['setAttribute']('spellcheck','false'),_0x303c3d['textContent']=_0x33687b['name'],_0x415d8b['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x303c3d['outerHTML']+'⁠',_0x415d8b['addEventListener']('mouseenter',()=>{_0x415d8b['classList']['add']('ck-user__marker_hovered');}),_0x415d8b['addEventListener']('mouseleave',()=>{_0x415d8b['classList']['remove']('ck-user__marker_hovered');}),_0x415d8b;},_0x2203e0['isSimilar']=function(_0x259e4c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x259e4c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x259e4c['getAttribute']('data-session-id'));},_0x2203e0;}(_0x393906,_0x227dbd,_0x590f79);}(_0x223850,_0x3d57a6,_0x3c631c,_0x588541)}),_0x588541['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3bbe2d=>function(_0x32c954,_0x383051){const _0x54a32b=_0x32c954['markerName']['split'](':')[0x2];if(_0x54a32b===_0x383051['mySessionId'])return null;const _0x3c3af3=_0x383051['getUserBySessionId'](_0x54a32b);if(!_0x3c3af3)return{'id':_0x54a32b,'classes':[]};return{'id':_0x54a32b,'classes':['ck-user__selection',_0x3c3af3['color']['getSelectionClass']()],'attributes':{'style':Q(_0x3c3af3),'data-session-id':_0x54a32b},'priority':0x7d0+_0x3c3af3['orderNumber']};}(_0x3bbe2d,_0x3c631c)}),function(_0x467165){const _0x1d7c6b=_0x467165['model'],_0x28749b=new Map(),_0x523e95=_0x467165['plugins']['get'](Y);_0x1d7c6b['markers']['on']('update:user:range',(_0x44045b,_0x171836,_0x21bbcf,_0x74db3)=>{if(!_0x74db3&&_0x28749b['get'](_0x171836['name']))return _0x28749b['get'](_0x171836['name'])['detach'](),void _0x28749b['delete'](_0x171836['name']);const _0x28122a=_0x171836['name']['split'](':')[0x2];if(_0x28122a===_0x523e95['mySessionId'])return;const _0x387f39='user:position:'+_0x28122a;_0x1d7c6b['markers']['has'](_0x387f39)&&_0x467165['editing']['reconvertMarker'](_0x387f39),_0x171836['on']('change:range',(_0x8f379b,_0x5af8af,_0xdb2075)=>{if('$graveyard'!=_0x5af8af['root']['rootName']&&'$graveyard'==_0x171836['getRange']()['root']['rootName']&&!_0x28749b['has'](_0x171836['name'])){const _0x45de3d=_0x1d7c6b['schema']['getNearestSelectionRange'](_0xdb2075['deletionPosition']);if(_0x45de3d){const _0x6c95a2=_0x39b5f6['fromRange'](_0x45de3d);_0x28749b['set'](_0x171836['name'],_0x6c95a2),_0x6c95a2['on']('change:range',(_0x349592,_0x4fb0c5,_0x3a891a)=>{if('$graveyard'==_0x6c95a2['root']['rootName']){const _0x49d357=_0x1d7c6b['schema']['getNearestSelectionRange'](_0x3a891a['deletionPosition']);_0x49d357?(_0x6c95a2['start']=_0x49d357['start'],_0x6c95a2['end']=_0x49d357['end']):(_0x28749b['delete'](_0x171836['name']),_0x6c95a2['detach']());}});}}});}),_0x1d7c6b['document']['on']('change',()=>{_0x28749b['size']>0x0&&_0x1d7c6b['enqueueChange']({'isUndoable':!0x1},_0x17154b=>{for(const [_0x1a0cb1,_0x3bfacc]of _0x28749b)'$graveyard'==_0x1d7c6b['markers']['get'](_0x1a0cb1)['getRange']()['root']['rootName']&&(J(_0x1a0cb1['split'](':')[0x2],_0x3bfacc['toRange'](),_0x1d7c6b,_0x17154b),_0x3bfacc['detach']());_0x28749b['clear']();});});}(_0x588541),this['_domEmitter']['listenTo'](_0x57454e['document'],'keydown',(_0x52474d,{key:_0xebb1a2})=>{'Escape'===_0xebb1a2&&function(_0xee4a24){_0xee4a24['editing']['view']['change'](_0x5e489e=>{for(const _0x309360 of _0xee4a24['model']['markers']){if(!_0x309360['name']['startsWith']('user:position'))continue;const _0x1f9e41=_0xee4a24['editing']['mapper']['markerNameToElements'](_0x309360['name']);if(_0x1f9e41){for(const _0x5521b1 of _0x1f9e41)_0x5e489e['removeClass']('ck-user__marker_hovered',_0x5521b1);}}});}(_0x588541);},{'useCapture':!0x0});}['afterInit'](){const _0xea15ec=this['editor'],_0x5b00e1=_0xea15ec['commands']['get']('undo');_0x5b00e1&&_0xea15ec['model']['on']('applyOperation',(_0x213937,_0x13fe45)=>{const _0x1a20ac=_0x13fe45[0x0];if(!_0x1a20ac['isDocumentOperation'])return;if('marker'!=_0x1a20ac['type']||!_0x1a20ac['name']['startsWith']('user:'))return;const _0x5f3a72=_0x1a20ac['batch'];_0x5b00e1['_createdBatches']['has'](_0x5f3a72)&&(_0x1a20ac['newRange']=_0x1a20ac['oldRange']?_0xea15ec['model']['createRange'](_0x1a20ac['oldRange']['start'],_0x1a20ac['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1c8d6e=this['editor'],_0x1a5c51=_0x1c8d6e['model']['document'],_0x418847=_0x1c8d6e['plugins']['get'](Y);_0x1c8d6e['model']['enqueueChange']({'isUndoable':!0x1},_0x273d46=>{const _0x3992b2='user:range:'+_0x418847['mySessionId'],_0x226a9a='user:position:'+_0x418847['mySessionId'],_0x209f34=_0x1c8d6e['model']['markers']['has'](_0x3992b2);_0x1c8d6e['editing']['view']['hasDomSelection']?J(_0x418847['mySessionId'],_0x1a5c51['selection']['getFirstRange'](),_0x1c8d6e['model'],_0x273d46):_0x209f34&&(_0x273d46['removeMarker'](_0x3992b2),_0x273d46['removeMarker'](_0x226a9a));});}}function J(_0x5978b7,_0x509277,_0x518d9b,_0xeb864c){const _0x5902a9='user:range:'+_0x5978b7,_0x4c147e='user:position:'+_0x5978b7,_0x540999=_0x509277['getContainedElement']();let _0x4478c8=_0x509277['start'];if(_0x540999&&_0x540999['is']('element','tableCell')){const _0x31b48c=function(_0x4f2ae8,_0x22d2f3){for(const _0x496971 of _0x4f2ae8['getPositions']())if(_0x22d2f3['schema']['checkChild'](_0x496971,'$text'))return _0x496971;}(_0x509277,_0x518d9b);_0x31b48c&&(_0x4478c8=_0x31b48c,_0x509277=_0xeb864c['createRange'](_0x4478c8));}const _0x2579f0=_0xeb864c['createRange'](_0x4478c8);_0x518d9b['markers']['has'](_0x5902a9)?(_0xeb864c['updateMarker'](_0x5902a9,{'range':_0x509277}),_0xeb864c['updateMarker'](_0x4c147e,{'range':_0x2579f0})):(_0xeb864c['addMarker'](_0x5902a9,{'range':_0x509277,'usingOperation':!0x0}),_0xeb864c['addMarker'](_0x4c147e,{'range':_0x2579f0,'usingOperation':!0x0}));}function Q(_0x14a8d7){return'--ck-user-color:'+_0x14a8d7['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x14a8d7['color']['getColorAlphaVariable']()+';';}function X(_0x4bba21,_0x4b7b61,_0x1b57b5){const _0x117707=_0x4bba21['t'],t=_0x4bba21['t'];switch(_0x4b7b61){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 _0x117707({'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'},_0x1b57b5);default:return'';}}let Z=0x1;class tt extends _0x512c3b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x456026)());['_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,_0x4c8145,_0x3847b0,_0x4edca5];}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 _0x73018=this['serverHistory']['getOperations']();for(let _0x446831=_0x73018['length']-0x1;_0x446831>=0x0;_0x446831--){const _0x1b9cc5=_0x73018[_0x446831];if(!this['_disconnectionOperations']['has'](_0x1b9cc5))return _0x1b9cc5['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5d4ca8){if(super(_0x5d4ca8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3e3e59(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5d88de('collaboration-missing-channelid',this);const _0x27e123=_0x5d4ca8['config']['get']('cloudServices.bundleVersion')||_0x3e5cdd;this['_service']=new tt['CollaborativeEditingService'](_0x27e123,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x77fc10(),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 _0x1ef5e9=this['editor'],_0x45b71b=_0x1ef5e9['plugins']['get'](_0x3847b0),_0xaca3e0=_0x1ef5e9['plugins']['get'](z);this['listenTo'](_0x45b71b,'getOperationAuthor',(_0x3cbf66,_0x5df583)=>{const _0x5773f0=_0x5df583[0x0];_0x5773f0['_authorId']&&(_0x3cbf66['return']=_0x45b71b['getUser'](_0x5773f0['_authorId']),_0x3cbf66['stop']()),null===_0x5773f0['_authorId']&&(_0x3cbf66['return']=null,_0x3cbf66['stop']());},{'priority':'high'}),this['listenTo'](_0x1ef5e9['model']['document']['selection'],'change:range',(_0x51fece,_0x8e5c03)=>{_0x8e5c03['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1ef5e9['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1ef5e9['model']['on']('applyOperation',(_0x3573d7,_0x3e158a)=>{const _0x5892a1=_0x3e158a[0x0];_0x5892a1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5892a1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xaca3e0,'state',this,'_hasSynchronizationProblem',(_0x32f65d,_0x41232c)=>'connected'===_0x32f65d&&!_0x41232c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1ef5e9['disableReadOnlyMode']('rtc-offline'):_0x1ef5e9['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1ef5e9['disableReadOnlyMode']('rtc-offline'):_0x1ef5e9['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x533105=this['editor']['plugins']['get'](Y),_0x541554=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x533105['unregister'](this['_channelId']);const _0x35c840=await this['_service']['reconnect'](_0x541554['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x35c840)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4cbf4b=await this['_service']['getConnectedSessions']();_0x533105['register'](this['_channelId'],_0x4cbf4b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2014f3){if(function(_0x4926bd){return'404'===_0x4926bd['code'];}(_0x2014f3)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x976e43){return'409'===_0x976e43['code'];}(_0x2014f3)){const _0x423a4a=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'](_0x423a4a);}else{if(!(_0x2014f3 instanceof et))throw _0x2014f3;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4b6c1d=this['editor']['plugins']['get'](z),_0x305050=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x305050['channelSessions']['has'](this['_channelId'])&&_0x305050['unregister'](this['_channelId']),_0x4b6c1d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5bc90f){if(this['sessionId']!==_0x5bc90f['sessionId']&&this['_lastSyncedOperationId']!==_0x5bc90f['lastOperationId'])throw new et();return this['sessionId']=_0x5bc90f['sessionId'],this['_handleServerResponse']([],{..._0x5bc90f,'wereChangesApplied':!0x1,'data':_0x5bc90f['data']},'reconnect');}async['_connectService'](_0x456b42,_0x5cac2f=!0x1){const {connection:_0x473f39}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x473f39,this['_channelId'])['then'](_0x4ce972=>this['_initSessionsHandling'](_0x4ce972))['catch'](_0x335014=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x335014);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1e4041,_0x4ab03a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4ab03a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x1c2366=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x456b42);this['_isPendingUpdate']=!0x0;const _0x268863=await this['_service']['connect'](_0x473f39,this['_compressOperations'](_0x456b42),_0x1c2366);if(this['sessionId']=_0x268863['sessionId'],_0x5cac2f){if(!_0x268863['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x268863['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x456b42,_0x268863,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x268863,_0x456b42);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xeaae7a=this['editor']['plugins']['get'](Y),_0x49f5d3=this['editor']['plugins']['get'](K),_0x3cfb76=_0xeaae7a['channelSessions']['get'](this['_channelId']);_0x3cfb76&&_0x3cfb76['length']>0x1?_0x49f5d3['createUserMarkerOperations']():this['listenTo'](_0xeaae7a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xeaae7a['channelSessions']['get'](this['_channelId'])['length']&&_0x49f5d3['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4d5d3b,_0x551d9c,_0x2445d9,_0x4748a2){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x551d9c){const _0x50dbe3=this['_decompressOperations'](_0x2445d9,_0x4748a2);await this['_fetchMissingUsers'](_0x50dbe3),this['_handleExternalOperations'](_0x50dbe3,_0x551d9c,_0x2445d9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a6454}=this['editor'];let _0x5a3455;try{_0x5a3455=await this['_service']['getDocumentDetails']();}catch{const _0x3cbd58=X(_0x3a6454,'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'](_0x3cbd58);}const _0x4f0364=_0x5a3455['currentDocumentSession']||_0x5a3455['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4f0364['lastOperationId']){const _0x4c095c=X(_0x3a6454,'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'](_0x4c095c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x10d02f){const _0x188df8=this['editor']['plugins']['get'](Y);this['listenTo'](_0x188df8,'sessionAdd:'+this['_channelId'],(_0x566e3b,{session:_0x116faa})=>{if(_0x116faa['id']===_0x188df8['mySessionId']){_0x566e3b['off']();const _0x4b59b1=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x21a657=_0x116faa['permissions'];_0x4b59b1&&_0x4b59b1['isEnabled']&&(_0x21a657=_0x21a657['filter'](_0x5b3303=>'document:write'!==_0x5b3303)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x21a657,this['_channelId']);}}),_0x188df8['register'](this['_channelId'],_0x10d02f);}['_initThrowingOnDataSet'](){const _0x3697df=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x17f72d)=>{if(!_0x17f72d[_0x17f72d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5d88de('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3697df['apply'](this['editor']['data'],_0x17f72d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x18d9da,[_0xd4916c])=>{if(this['_document']['version'])throw new _0x5d88de('realtimecollaborationclient-init-document-already-initialized',this);_0x18d9da['stop'](),this['_setPendingAction']();const _0x4115b8=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xcaa813])=>!_0xcaa813['lazyLoad'])['map'](([_0x586d7f,_0x4f5948])=>[_0x586d7f,_0x4f5948['modelAttributes']||{}])),_0x16332e=this['_getOperationsFromInitData'](_0xd4916c,_0x4115b8);0x0==_0x16332e['length']&&_0x16332e['push'](new _0xb173b1(0x0)),_0x18d9da['return']=this['_connectService'](_0x16332e)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1a445b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1a445b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xad156b,[_0x4656bf,_0xd64a06])=>{_0xad156b['stop']();const _0xfcb1da=this['editor']['model']['document']['getRoot'](_0x4656bf);if(!this['_knownRootNames']['has'](_0x4656bf)){const _0x5b2ebf=_0xd64a06&&_0xd64a06['data']?_0xd64a06['data']:'',_0x3d4477=_0xd64a06&&_0xd64a06['attributes']?_0xd64a06['attributes']:{};await this['_loadRoot'](_0x4656bf,_0x5b2ebf,_0x3d4477);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0xfcb1da['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0xfcb1da);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5ba2c7){const _0x1cf4dd=this['editor']['plugins']['get'](_0x3847b0),{connection:_0x1e0ed3}=this['editor']['plugins']['get'](z),_0x7f8e9a=new Set();for(const _0x4ea63f of _0x5ba2c7){const _0x286b37=_0x4ea63f['_authorId'];_0x286b37&&!_0x1cf4dd['getUser'](_0x286b37)&&_0x7f8e9a['add'](_0x286b37);}if(0x0===_0x7f8e9a['size'])return;const _0x2a1d5b=await _0x2c2031['getMany'](_0x1e0ed3,Array['from'](_0x7f8e9a));for(const _0x2b3a03 of _0x2a1d5b)_0x1cf4dd['getUser'](_0x2b3a03['id'])||_0x1cf4dd['addUser'](_0x2b3a03);}['_getOperationsFromInitData'](_0x5ae987,_0x580be0={}){const _0x32bdc7=this['editor']['model'],_0x4d6441=[];let _0x23b433=0x0;const _0x2cb80a='string'==typeof _0x5ae987?{'main':_0x5ae987}:_0x5ae987;for(const _0x2d5709 of Object['keys'](_0x2cb80a)){if(!this['_document']['roots']['has'](_0x2d5709))throw new _0x5d88de('realtimecollaborationclient-init-non-existent-root',this);const _0x7ee42=this['editor']['data']['parse'](_0x2cb80a[_0x2d5709]),_0x347fc2=this['_document']['getRoot'](_0x2d5709),_0x3f2066=new _0x5f5a5c(_0x32bdc7['createPositionAt'](_0x347fc2,0x0),_0x7ee42,_0x23b433++);_0x4d6441['push'](_0x3f2066);for(const [_0x2a0b20,_0x5b60a4]of _0x7ee42['markers']){const _0x2c0bbf=_0x32bdc7['createRange'](_0x32bdc7['createPositionFromPath'](_0x347fc2,_0x5b60a4['start']['path']['slice']()),_0x32bdc7['createPositionFromPath'](_0x347fc2,_0x5b60a4['end']['path']['slice']())),_0x4b01b9=new _0x561ae5(_0x2a0b20,null,_0x2c0bbf,_0x32bdc7['markers'],!0x0,_0x23b433++);_0x4d6441['push'](_0x4b01b9);}}if(_0x580be0)for(const [_0x817d7a,_0x14485e]of Object['entries'](_0x580be0)){const _0x16e0c2=_0x32bdc7['document']['getRoot'](_0x817d7a);if(!_0x16e0c2)throw new _0x5d88de('multi-root-editor-root-attributes-no-root',null);for(const [_0x31eb4f,_0x59fcf0]of Object['entries'](_0x14485e))if(null!==_0x59fcf0){const _0x4bb0d5=new _0x694689(_0x16e0c2,_0x31eb4f,null,_0x59fcf0,_0x23b433++);_0x4d6441['push'](_0x4bb0d5);}}return _0x4d6441;}async['_loadRoot'](_0x552810,_0x14189c,_0x13f9b9){this['_getOperationsFromInitData']({[_0x552810]:_0x14189c},{[_0x552810]:_0x13f9b9})['forEach']((_0x2a0f43,_0x5405be)=>{_0x2a0f43['baseVersion']=this['_document']['version']+_0x5405be,_0x2a0f43['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a0f43);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x22e3ad,_0x1c1812){let _0x41bd0a;this['_offset']=_0x22e3ad['offset'];const _0x2e8e66=_0x22e3ad['wereChangesApplied']&&!_0x22e3ad['initData'],_0x5dc819=_0x2e8e66?0x0:_0x22e3ad['data']['baseVersion'];if(_0x1c1812['forEach'](_0x38839d=>{_0x38839d['_isInit']=!0x0,_0x38839d['createdAt']=_0x22e3ad['sessionCreatedAt'],_0x38839d['_authorId']=null;}),_0x2e8e66)_0x41bd0a=_0x1c1812,this['_applyOperationsSet'](_0x41bd0a,_0x2e8e66);else{if(_0x22e3ad['initData']){const _0x50a2bc=this['_getOperationsFromInitData'](_0x22e3ad['initData']);this['_document']['history']['version']=-_0x50a2bc['length'],_0x50a2bc['forEach'](_0x343d9e=>{_0x343d9e['baseVersion']-=_0x50a2bc['length'],_0x343d9e['createdAt']=_0x22e3ad['sessionCreatedAt'],_0x343d9e['_isInit']=!0x0,_0x343d9e['_authorId']=null;}),this['_applyOperationsSet'](_0x50a2bc,!0x0),this['serverHistory']['version']=-_0x50a2bc['length']+this['_offset'],this['_updateServerHistory'](_0x50a2bc);}this['_document']['history']['version']=_0x5dc819,_0x41bd0a=this['_decompressOperations'](_0x22e3ad['data'],_0x22e3ad['metadata']),await this['_fetchMissingUsers'](_0x41bd0a),this['_applyOperationsSet'](_0x41bd0a,_0x2e8e66);}_0x22e3ad['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x41bd0a,_0x22e3ad['lastOperationId']),this['_lastSyncedOperationId']=_0x22e3ad['lastOperationId']),this['serverHistory']['version']=_0x5dc819+this['_offset'],this['_updateServerHistory'](_0x41bd0a),_0x1c1812['filter'](_0x1b2c1f=>{const _0x264622=this['_getAffectedRoot'](_0x1b2c1f);return _0x264622&&!this['_knownRootNames']['has'](_0x264622);})['forEach']((_0x210d99,_0x3320b4)=>{_0x210d99['baseVersion']=this['_document']['version']+_0x3320b4,this['_saveOperationInBuffer'](_0x210d99);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x29f190,_0x5b3fef){const _0x156c1d=_0x5b3fef&&_0x5b3fef['message'];if(_0x156c1d&&_0x156c1d['startsWith']('realtimecollaborationclient'))throw _0x5b3fef;const _0x3d7a98=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x3d7a98['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5d88de(_0x29f190,this['editor'],_0x156c1d?{'originalError':_0x156c1d}:void 0x0);}['_saveOperationInBuffer'](_0x78d4c3){this['_knownOperations']['has'](_0x78d4c3)||(this['_knownOperations']['add'](_0x78d4c3),this['_bufferedOperations']['push'](_0x78d4c3),this['_pendingAction']||'marker'==_0x78d4c3['type']&&!_0x78d4c3['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5c7df6=!0x1){!_0x5c7df6&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3c653d=>{_0x3c653d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xc3dbb0=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4ce7f8){return _0x4ce7f8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ce7f8['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4ce7f8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xc3dbb0)||this['_crash'](_0xc3dbb0['message'],_0xc3dbb0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2062ac=>{this['on']('change:_isPendingUpdate',()=>{_0x2062ac();});});}async['_sendBufferedOperations'](){const _0x170516=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x170516['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x16c0e5=[...this['_bufferedOperations']];for(const _0x2bc2e3 of _0x16c0e5)_0x2bc2e3['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2bc2e3);const _0x3bb2d5=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x16c0e5),_0xa37ffe=Z++,_0x3e3396=this['_compressOperations'](_0x16c0e5),_0x3daae7=await this['_service']['sendOperations'](_0x3e3396,_0x3e3396['baseVersion'],_0x3bb2d5);try{return await this['_handleServerResponse'](_0x16c0e5,_0x3daae7,_0xa37ffe);}catch(_0x533f3a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x533f3a);}}async['_handleServerResponse'](_0x6ff03e,_0x3e2d50,_0x3b7f58){if('error'in _0x3e2d50)throw _0x3e2d50['error'];let _0x1b05c3=!0x1;if(_0x3e2d50['wereChangesApplied']){_0x3e2d50['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3e2d50['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2c4c88=>!_0x6ff03e['includes'](_0x2c4c88));for(const _0x439f98 of _0x6ff03e)_0x439f98['createdAt']='lastOperationAcceptedAt'in _0x3e2d50&&_0x3e2d50['lastOperationAcceptedAt']||void 0x0;st(_0x6ff03e,_0x3e2d50['version']-_0x6ff03e['length']),this['_updateServerHistory'](_0x6ff03e);const _0x49d520=_0x6ff03e['filter'](_0x1ee65d=>{if(!_0x1ee65d['_isInit'])return!0x1;const _0x4b7191=this['_getAffectedRoot'](_0x1ee65d);return _0x4b7191&&!this['_knownRootNames']['has'](_0x4b7191);});st(_0x49d520,this['_document']['version']),this['_applyOperationsSet'](_0x49d520),_0x1b05c3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2a29f1=this['_decompressOperations'](_0x3e2d50['data'],_0x3e2d50['metadata'])['filter'](_0x55a924=>_0x55a924['baseVersion']>=this['_lastServerVersion']);_0x2a29f1['forEach'](_0x941bb8=>this['_addKnownRoot'](_0x941bb8)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x14be8f=>!_0x14be8f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x14be8f))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2a29f1),_0x1b05c3=this['_handleExternalOperations'](_0x2a29f1,_0x3e2d50['version'],_0x3e2d50['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1b05c3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3f9efa,_0x433541,_0x500628){try{const _0x588af8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4ab1f1,operationsB:_0x32339e,originalOperations:_0x2c305b}=_0x4a9acb(_0x3f9efa,this['_bufferedOperations'],_0x588af8);st(_0x4ab1f1,this['_document']['version']),st(_0x32339e,_0x433541);for(const _0x5cd31d of _0x4ab1f1){const _0x138f6b=_0x2c305b['get'](_0x5cd31d);_0x5cd31d['_authorId']=_0x138f6b?_0x138f6b['_authorId']:null;}_0x500628&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3f9efa,_0x500628),this['_lastSyncedOperationId']=_0x500628),this['_bufferedOperations']=[..._0x32339e],this['_applyOperationsSet'](_0x4ab1f1),this['_updateServerHistory'](_0x3f9efa);}catch(_0x191e71){return console['error'](_0x191e71),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3fafe5,_0x5b2647=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5d42ef=>{for(const _0x378bbc of _0x3fafe5)this['_knownOperations']['add'](_0x378bbc),this['_addKnownRoot'](_0x378bbc),_0x5d42ef['batch']['addOperation'](_0x378bbc),this['editor']['model']['applyOperation'](_0x378bbc);});}['_addKnownRoot'](_0x2bc3f5){const _0x1aa2df=this['_getAffectedRoot'](_0x2bc3f5);_0x1aa2df&&this['_knownRootNames']['add'](_0x1aa2df);}['_getAffectedRoot'](_0xc6b1a1){let _0x4a57b8,_0x15327b;switch(_0xc6b1a1['type']){case'insert':_0x4a57b8=_0xc6b1a1['position']['root'];break;case'marker':if(_0x15327b=_0xc6b1a1['newRange'],!_0x15327b)return null;_0x4a57b8=_0x15327b['root'];break;case'addRootAttribute':_0x4a57b8=_0xc6b1a1['root'];break;case'addRoot':_0x4a57b8=_0xc6b1a1['affectedSelectable'];break;case'move':_0x4a57b8=_0xc6b1a1['targetPosition']['root'];break;default:return null;}return _0x4a57b8['rootName'];}['_updateServerHistory'](_0x1e11d5){_0x1e11d5['forEach'](_0xa4766b=>{const _0x4c08a5=_0xa4766b['clone']();_0x4c08a5['_authorId']=_0xa4766b['_authorId'],_0x4c08a5['_isInit']=!!_0xa4766b['_isInit'],_0x4c08a5['createdAt']=_0xa4766b['createdAt'],_0x4c08a5['baseVersion']+=this['_offset'],_0xa4766b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4c08a5),this['serverHistory']['addOperation'](_0x4c08a5);});}['_handleReconnectionError'](_0x2ef540){const _0x479687=this['editor']['plugins']['get']('Notification'),_0x27540e=this['editor']['locale'];_0x2ef540||(_0x2ef540=X(_0x27540e,'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.')),_0x479687['showWarning'](_0x2ef540,{'title':X(_0x27540e,'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'](_0x4c8145)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4c8145)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x15c4a5){const _0x2b77d3=_0x15c4a5['map'](_0x354553=>_0x354553['toJSON']());return this['_compressor']['compress'](_0x2b77d3);}['_decompressOperations'](_0x8fb2d6,_0x5c06a6){return this['_compressor']['decompress'](_0x8fb2d6)['map']((_0x900be3,_0x339d0d)=>{const _0xf5348a='init'==_0x5c06a6[_0x339d0d]['type'];if('InsertOperation'==_0x900be3['__className']){const _0x27953e=_0x900be3['position']['root'];!this['_document']['getRoot'](_0x27953e)&&(this['_document']['createRoot']('$root',_0x27953e)['_isAttached']=!0x1);}const _0x134835=_0x350a65['fromJSON'](_0x900be3,this['_document']);return _0x134835['wasUndone']=_0x900be3['wasUndone'],_0x134835['_isInit']=_0xf5348a,_0x134835['_authorId']=_0xf5348a?null:_0x5c06a6[_0x339d0d]['userId'],_0x134835['_isDisconnection']='cs:removeUser'===_0x5c06a6[_0x339d0d]['type'],_0x134835['createdAt']=_0x5c06a6[_0x339d0d]['createdAt'],_0x134835;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x48d5db=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x48d5db&&_0x48d5db['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x2724bd,_0x4db783){for(const _0x291139 of _0x2724bd)_0x291139['baseVersion']=_0x4db783++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x2369b8){this['_ignoredOperations']=_0x2369b8,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3d0348){let _0xbb6fce=_0x3d0348['length'];for(;_0xbb6fce--;){const _0x54a885=_0x3d0348[_0xbb6fce];if(!this['_ignoredOperations']['has'](_0x54a885)){if(!this['_operationToId']['has'](_0x54a885)){const _0x3055a2=_0x487873()['slice'](0x1,0x12);this['_operationToId']['set'](_0x54a885,_0x3055a2);}return this['_operationToId']['get'](_0x54a885);}}}['setIdForTheLastOperation'](_0x31d9d5,_0x949e3f){if(!_0x949e3f)return;let _0x116531=_0x31d9d5['length'];for(;_0x116531--;){const _0x263d7f=_0x31d9d5[_0x116531];this['_ignoredOperations']['has'](_0x263d7f)||this['_operationToId']['set'](_0x263d7f,_0x949e3f);}}}class nt extends _0x512c3b{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x6b13bf{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0xad8fa8)());['_services'];static get['requires'](){return[z,_0x3cd3b6,Y,_0x3847b0];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5c4ddf){super(_0x5c4ddf),this['_services']=new Map();}async['init'](){const _0x3dcc62=this['context'],_0x1c386e=_0x3dcc62['plugins']['get'](_0x3cd3b6);if(_0x3dcc62['plugins']['get'](z)['addToReconnectionStack'](this),_0x1c386e['adapter']={'addCommentThread':async({channelId:_0x5dfe84,threadId:_0x598c0e,comments:_0x298e4c,resolvedAt:_0x371f6a,resolvedBy:_0x3c8d8a,context:_0x2d8a06,attributes:_0x4c8f8c})=>{const _0x552b6e=await this['_getService'](_0x5dfe84)['addCommentThread']({'commentThreadId':_0x598c0e,'comments':_0x298e4c['map'](_0x5e12eb=>function(_0x4e662f,_0xc583fd,_0x627792){return{'commentThreadId':_0x627792,'commentId':_0x4e662f['commentId'],'userId':_0x4e662f['authorId'],'content':_0x4e662f['content'],'documentId':_0xc583fd,'createdAt':_0x4e662f['createdAt'],'attributes':_0x4e662f['attributes']||{}};}(_0x5e12eb,_0x5dfe84,_0x598c0e)),'resolvedAt':_0x371f6a,'resolvedBy':_0x3c8d8a,'context':_0x2d8a06,'attributes':_0x4c8f8c})['catch'](ct);return{'threadId':_0x552b6e['commentThreadId'],'comments':_0x552b6e['comments']};},'getCommentThread':async({channelId:_0x10e99e,threadId:_0x17c838})=>{const _0x59fd01=await this['_getService'](_0x10e99e)['getCommentThread'](_0x17c838)['catch'](rt)['catch'](ct);return _0x59fd01?_0x59fd01['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x59fd01]),{'threadId':_0x59fd01['commentThreadId'],'comments':_0x59fd01['comments']['map'](at),'context':_0x59fd01['context'],'resolvedAt':_0x59fd01['resolvedAt'],'resolvedBy':_0x59fd01['resolvedBy'],'attributes':_0x59fd01['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x13afd8,threadId:_0x1e6747,context:_0x256521,unlinkedAt:_0x5f2050,attributes:_0x25e72d})=>this['_getService'](_0x13afd8)['updateCommentThread']({'commentThreadId':_0x1e6747,'context':_0x256521,'attributes':_0x25e72d,'unlinkedAt':_0x5f2050})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x13137f,threadId:_0x3993dd})=>{const _0x4fde2b=await this['_getService'](_0x13137f)['resolveCommentThread'](_0x3993dd)['catch'](rt)['catch'](ct);return{'threadId':_0x4fde2b['commentThreadId'],'resolvedAt':_0x4fde2b['resolvedAt'],'resolvedBy':_0x4fde2b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x367bb6,threadId:_0x2dc71f})=>this['_getService'](_0x367bb6)['reopenCommentThread'](_0x2dc71f)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x2df65a,threadId:_0x825ed})=>this['_getService'](_0x2df65a)['removeCommentThread'](_0x825ed)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x27e629,threadId:_0x1765ec,commentId:_0x470a84,content:_0x44a51b,attributes:_0x3f902b})=>this['_getService'](_0x27e629)['addComment'](_0x1765ec,_0x470a84,_0x44a51b,_0x3f902b)['catch'](ct),'updateComment':({channelId:_0x3da9f5,threadId:_0x3d2443,commentId:_0x98f0aa,content:_0x3b19c5,attributes:_0x2c71bb})=>this['_getService'](_0x3da9f5)['updateComment'](_0x3d2443,_0x98f0aa,_0x3b19c5,_0x2c71bb)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1b2cd1,threadId:_0xfaa39b,commentId:_0x2b470b})=>this['_getService'](_0x1b2cd1)['removeComment'](_0xfaa39b,_0x2b470b)['catch'](rt)['catch'](ct)},_0x3dcc62 instanceof _0x59ae87){const _0x70c9d4=_0x3dcc62['config']['get']('collaboration.channelId'),_0x3f2603=_0x3dcc62['plugins']['get'](Y);await this['_setUpService'](_0x70c9d4);const _0x704bb0=await this['_services']['get'](_0x70c9d4)['getConnectedSessions']();this['listenTo'](_0x3f2603,'sessionAdd:'+_0x70c9d4,(_0x47f32f,{session:_0x3321f3})=>{_0x3321f3['id']===_0x3f2603['mySessionId']&&(_0x47f32f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3321f3['permissions'],_0x70c9d4));}),_0x3f2603['register'](_0x70c9d4,_0x704bb0);}}async['_setUpService'](_0x325166){if(this['_services']['has'](_0x325166))throw new _0x5d88de('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x325166});const _0xe1cde2=this['context']['plugins']['get'](_0x3cd3b6),_0x504a94=new ot['CommentsService'](_0x325166);this['_services']['set'](_0x325166,_0x504a94),this['listenTo'](_0x504a94,'commentThreadAdded',(_0x802746,_0x15a65d)=>{const {commentThreadId:_0x3327d7,documentId:_0x393337,context:_0x5b0325,attributes:_0x23ca1a,resolvedAt:_0x62c378,resolvedBy:_0x44fa82,comments:_0x3acd26}=_0x15a65d;_0xe1cde2['getCommentThread'](_0x3327d7)||_0xe1cde2['addCommentThread']({'threadId':_0x3327d7,'channelId':_0x393337,'comments':_0x3acd26?_0x3acd26['map'](at):[],'context':_0x5b0325,'attributes':_0x23ca1a,'resolvedAt':_0x62c378,'resolvedBy':_0x44fa82,'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadUpdated',(_0x203457,{commentThreadId:_0x44bb69,documentId:_0x1685bd,context:_0x2da75a,unlinkedAt:_0x5549dc,attributes:_0x4ef39f})=>{_0xe1cde2['getCommentThread'](_0x44bb69)&&_0xe1cde2['updateCommentThread']({'threadId':_0x44bb69,'channelId':_0x1685bd,'context':_0x2da75a,'unlinkedAt':_0x5549dc,'attributes':_0x4ef39f,'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadResolved',(_0x4d0205,{commentThreadId:_0x1788b3,resolvedBy:_0xc10236,resolvedAt:_0x50a9ff})=>{const _0xfac38e=_0xe1cde2['getCommentThread'](_0x1788b3);_0xfac38e&&_0xfac38e['resolve']({'resolvedBy':_0xc10236,'resolvedAt':_0x50a9ff,'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadReopened',(_0x344d37,{commentThreadId:_0x9f8e5e})=>{const _0x298619=_0xe1cde2['getCommentThread'](_0x9f8e5e);_0x298619&&_0x298619['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadRemoved',(_0xe842a2,{commentThreadId:_0x3bd7eb})=>{const _0x495456=_0xe1cde2['getCommentThread'](_0x3bd7eb);_0x495456&&_0x495456['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentAdded',(_0x509e84,_0x19966d)=>{const _0x19a450=_0x19966d['commentThreadId'],_0x2057a0=_0xe1cde2['getCommentThread'](_0x19a450);_0x2057a0&&_0x2057a0['addComment']({...at(_0x19966d),'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentUpdated',(_0x5576ed,{commentThreadId:_0x3b9b7e,commentId:_0x3de5f2,content:_0x28f45c,attributes:_0x509ad2})=>{const _0x361186=_0xe1cde2['getCommentThread'](_0x3b9b7e);if(_0x361186){const _0x2ff72a=_0x361186['getComment'](_0x3de5f2);_0x2ff72a&&_0x2ff72a['update']({'content':_0x28f45c,'attributes':_0x509ad2,'isFromAdapter':!0x0});}}),this['listenTo'](_0x504a94,'commentRemoved',(_0x554c23,{commentThreadId:_0x333b19,commentId:_0x1c1491})=>{const _0x17c34f=_0xe1cde2['getCommentThread'](_0x333b19);if(_0x17c34f){const _0x299ac9=_0x17c34f['getComment'](_0x1c1491);_0x299ac9&&_0x299ac9['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x325166);}['destroy'](){if(this['context']instanceof _0x59ae87){const _0x16b577=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x16b577);}}['_terminateService'](_0x2dd875){if(!this['_services']['has'](_0x2dd875))throw new _0x5d88de('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2dd875});this['_getService'](_0x2dd875)['disconnect'](),this['_services']['delete'](_0x2dd875);}async['reconnect'](){for(const _0x37a94b of this['_services']['keys']())await this['_connectService'](_0x37a94b);if(this['context']instanceof _0x59ae87){const _0x2c71c7=this['context']['config']['get']('collaboration.channelId'),_0x25aaaa=this['context']['plugins']['get'](Y);_0x25aaaa['unregister'](_0x2c71c7);const _0xdaaaf4=await this['_services']['get'](_0x2c71c7)['getConnectedSessions']();_0x25aaaa['register'](_0x2c71c7,_0xdaaaf4);}}async['_connectService'](_0x37a534){const {connection:_0x399061}=this['context']['plugins']['get'](z),_0x36a3a4=this['context']['plugins']['get'](_0x3cd3b6),_0x22ff90=this['_services']['get'](_0x37a534),_0x163e2a=await _0x22ff90['connect'](_0x399061);await this['_fetchMissingUsersForThreads'](_0x163e2a);const _0x20e8fe=new Set(Array['from'](_0x36a3a4['getCommentThreads']({'channelId':_0x37a534}),_0x5876fc=>_0x5876fc['id']));for(const _0x3db496 of _0x163e2a)_0x3db496['deletedAt']||_0x20e8fe['delete'](_0x3db496['commentThreadId']);for(const _0x4e4fd5 of _0x20e8fe)_0x36a3a4['getCommentThread'](_0x4e4fd5)['remove']({'isFromAdapter':!0x0});for(const _0x1bef98 of _0x163e2a){let _0x19a04b=_0x36a3a4['getCommentThread'](_0x1bef98['commentThreadId']);const {commentThreadId:_0x3b3b0e,context:_0x518d92,attributes:_0x29c4cd,resolvedBy:_0x3897b4,resolvedAt:_0x4cb4cd,unlinkedAt:_0x30df95,deletedAt:_0x691c7}=_0x1bef98;if(_0x691c7)continue;_0x19a04b||(_0x19a04b=_0x36a3a4['addCommentThread']({'channelId':_0x37a534,'threadId':_0x3b3b0e,'context':_0x518d92,'attributes':_0x29c4cd||{},'resolvedBy':_0x3897b4,'resolvedAt':_0x4cb4cd,'unlinkedAt':_0x30df95,'isFromAdapter':!0x0}));const _0xf02a46=new Set(Array['from'](_0x19a04b['comments'],_0x1bad64=>_0x1bad64['id']));for(const _0x13cb1b of _0x1bef98['comments'])_0xf02a46['delete'](_0x13cb1b['commentId']);for(const _0x308ced of _0xf02a46)_0x19a04b['getComment'](_0x308ced)['remove']({'isFromAdapter':!0x0});for(const _0x1581f3 of _0x1bef98['comments']){const _0x121a0e=_0x19a04b['getComment'](_0x1581f3['commentId']);_0x121a0e?_0x121a0e['content']!==_0x1581f3['content']&&_0x121a0e['update']({'content':_0x1581f3['content'],'isFromAdapter':!0x0}):_0x19a04b['addComment'](Object['assign'](at(_0x1581f3),{'isFromAdapter':!0x0}));}}}['_getService'](_0x46827d){if(!this['_services']['has'](_0x46827d))throw new _0x5d88de('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x46827d});return this['_services']['get'](_0x46827d);}async['_fetchMissingUsersForThreads'](_0x5c8960){const _0x4e61f6=this['context']['plugins']['get'](_0x3847b0),{connection:_0x4cdd15}=this['context']['plugins']['get'](z),_0x75e353=new Set();for(const {resolvedBy:_0x526ff7,comments:_0x28b593}of _0x5c8960){_0x526ff7&&!_0x4e61f6['getUser'](_0x526ff7)&&_0x75e353['add'](_0x526ff7);for(const {userId:_0x592b9d}of _0x28b593)_0x4e61f6['getUser'](_0x592b9d)||_0x75e353['add'](_0x592b9d);}if(0x0===_0x75e353['size'])return;const _0x4e8d6e=await _0x2c2031['getMany'](_0x4cdd15,Array['from'](_0x75e353));for(const _0x57b0fa of _0x4e8d6e)_0x4e61f6['getUser'](_0x57b0fa['id'])||_0x4e61f6['addUser'](_0x57b0fa);}}async function rt(_0x20f27a){if('404'!==_0x20f27a['code'])throw _0x20f27a;}function ct(_0x7a925){if((_0x4ffc42=_0x7a925)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4ffc42['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ffc42['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4ffc42;throw _0x7a925;}function at(_0x532e4d){return{'threadId':_0x532e4d['commentThreadId'],'commentId':_0x532e4d['commentId'],'content':_0x532e4d['content'],'createdAt':_0x532e4d['createdAt'],'authorId':_0x532e4d['userId'],'attributes':_0x532e4d['attributes']||{}};}class ht extends _0x512c3b{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x5ba1eb)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x107d71,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ce86a){super(_0x5ce86a);const _0x205457=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x205457);}['init'](){const _0x1f9ae1=this['editor']['plugins']['get'](z),_0x151a7e=this['editor']['plugins']['get'](_0x107d71);return _0x151a7e['adapter']={'getSuggestion':async _0x579063=>{await this['_waitForServiceReady']();const _0x551ad7=await this['_trackChangesService']['get'](_0x579063)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x551ad7]),_0x551ad7;},'addSuggestion':async({id:_0x520c45,type:_0x559981,data:_0x2679f8,originalSuggestionId:_0x1d785d,attributes:_0x306af6})=>{await this['_waitForServiceReady']();const _0x4504c0={'id':_0x520c45,'type':_0x559981,'data':_0x2679f8,'originalSuggestionId':_0x1d785d,'attributes':_0x306af6},_0x43ef17=await this['_trackChangesService']['add'](_0x520c45,_0x559981,_0x2679f8,_0x1d785d,_0x306af6)['catch'](_0x356f23=>{if(dt(_0x356f23))return new Promise(_0x13f280=>{this['_bufferedRequests']['set'](_0x520c45,{'resolve':_0x13f280,'suggestionData':_0x4504c0});});throw _0x356f23;});return this['_bufferedRequests']['delete'](_0x520c45),_0x43ef17;},'updateSuggestion':async(_0x12e394,_0x292f1b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x292f1b['state'])return this['_trackChangesService']['update'](_0x12e394,_0x292f1b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4338fc,_0x350515)=>{_0x151a7e['hasSuggestion'](_0x350515['id'])&&(_0x151a7e['getSuggestion'](_0x350515['id'])['attributes']=_0x350515['attributes']);}),this['_trackChangesService']['connect'](_0x1f9ae1['connection'])['then'](_0x514c0c=>(_0x1f9ae1['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x514c0c)['then'](()=>{for(const _0x2bd81f of _0x514c0c){_0x151a7e['addSuggestionData'](_0x2bd81f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4cfeaf=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5d13aa}=this['editor']['plugins']['get'](z),_0x278c0f=await this['_trackChangesService']['connect'](_0x5d13aa);await this['_fetchMissingUsersForThreads'](_0x278c0f);for(const {suggestionData:_0x4ea93f,resolve:_0x25368c}of this['_bufferedRequests']['values']()){let _0x3a523f=_0x278c0f['find'](_0x440226=>_0x440226['id']===_0x4ea93f['id']);_0x3a523f||(_0x3a523f=await this['_trackChangesService']['add'](_0x4ea93f['id'],_0x4ea93f['type'],_0x4ea93f['data'],_0x4ea93f['originalSuggestionId'])),_0x25368c(_0x3a523f);}for(const _0x24bcea of _0x278c0f)_0x4cfeaf['hasSuggestion'](_0x24bcea['id'])||_0x4cfeaf['addSuggestionData'](_0x24bcea);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5cb72a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1b8342=>{_0x1b8342['off'](),_0x5cb72a();});});}async['_fetchMissingUsersForThreads'](_0x42ccbc){const _0x4839f9=this['editor']['plugins']['get'](_0x3847b0),{connection:_0x883927}=this['editor']['plugins']['get'](z),_0x26909f=new Set();for(const {authorId:_0x1ae63b}of _0x42ccbc)_0x4839f9['getUser'](_0x1ae63b)||_0x26909f['add'](_0x1ae63b);if(0x0===_0x26909f['size'])return;const _0x44f6c7=await _0x2c2031['getMany'](_0x883927,Array['from'](_0x26909f));for(const _0x329e77 of _0x44f6c7)_0x4839f9['getUser'](_0x329e77['id'])||_0x4839f9['addUser'](_0x329e77);}}function lt(_0x2fa80b){if(dt(_0x2fa80b))return new Promise(()=>{});throw _0x2fa80b;}function dt(_0x2474d0){return _0x2474d0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2474d0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x512c3b{static get['requires'](){return[_0x380a1c,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1ed3dd=this['editor']['plugins']['get'](z),_0x44cf69=this['editor']['plugins']['get'](_0x204e01),_0x38ba9b=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1ed3dd,'change:state',(_0x1f0d59,_0x4aac29,_0x6883cf)=>{_0x44cf69['isThreadsLoadingPaused']='connected'!==_0x6883cf;});}),this['listenTo'](_0x1ed3dd,'change:state',(_0x1ee79b,_0x40892f,_0x28756a)=>{this['editor']['plugins']['get'](_0x3cd3b6)['switchReadOnly']('connected'!==_0x28756a);}),_0x38ba9b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x512c3b{static get['requires'](){return[ut,ht,_0x26b3cc];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x512c3b{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x1e91e1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x523413,Y,_0x3847b0];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x38e81d){super(_0x38e81d);const _0x28d6c0=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x28d6c0);}async['init'](){const _0x413542=this['editor']['plugins']['get'](tt),_0x2876d8=_0x413542['serverHistory'],_0x581099=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x2876d8,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x413542['sessionId']});const _0x3b5397=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3e5cdd,_0xd8a4b6=await _0x19bfcd['isBundleUploaded'](_0x581099['connection'],_0x3b5397);this['editor']['plugins']['get'](_0x523413)['adapter']={'getRevision':async({revisionId:_0x4fac8a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4fac8a)),'updateRevisions':async _0x10fcc2=>{await this['_waitForServiceReady']();const _0x32dcb6=this['_revisionTracker']['currentRevision'];if(_0xd8a4b6&&0x1===_0x10fcc2['length']&&_0x10fcc2[0x0]['id']===_0x32dcb6['id'])return _0x10fcc2;for(const _0x143e38 of _0x10fcc2)_0x143e38['id']===_0x32dcb6['id']&&(_0x143e38['isEmptyCurrent']=_0x143e38['fromVersion']===_0x143e38['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x10fcc2,this['_lastRequestId'])['then'](_0x790a56=>(this['_lastRequestId']=_0x790a56,_0x10fcc2))['catch'](_0x53910b=>{if(pt(_0x53910b)||'400'===_0x53910b['code']&&void 0x0!==_0x53910b['data']['wrongRequestId']){for(const _0xdbf56 of _0x10fcc2){!this['_revisionTracker']['repository']['getRevision'](_0xdbf56['id'])||this['_revisionTracker']['_bufferUpdate'](_0xdbf56['id'],_0xdbf56,!0x1);}if(pt(_0x53910b))throw _0x53910b;return _0x10fcc2;}throw _0x53910b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d3a2b,{revisionsData:_0xf43b11,requestId:_0x4b6fe4})=>{Math['max'](..._0xf43b11['map'](_0x15d511=>_0x15d511['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xf43b11,_0x4b6fe4);}):this['_handleRevisionsUpdate'](_0xf43b11,_0x4b6fe4);});const {revisions:_0x48246f,requestId:_0x35b5ab}=await this['_revisionHistoryService']['connect'](_0x581099['connection']);_0x581099['addToReconnectionStack'](this),this['_lastRequestId']=_0x35b5ab,await this['_fetchMissingUsers'](_0x48246f);for(const _0x2ac4b6 of _0x48246f)this['_revisionTracker']['addRevisionData'](_0x2ac4b6);this['listenTo'](_0x413542,'change:_isConnected',(_0x3c203b,_0x2dfff7,_0x5687d6)=>{_0x5687d6&&(this['_oldOffset']=_0x413542['_offset'],_0x3c203b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x581099,'state',_0x149818=>_0x149818===_0x4f3cbc['CONNECTED']);}async['reconnect'](){const _0x5c9962=this['editor']['plugins']['get'](z),_0x40b9f6=this['editor']['plugins']['get'](tt),_0x1cafed=async()=>{const _0x3487ec=this['_revisionTracker']['currentRevision'],_0x17d05c=_0x3487ec['id'],_0x44de4b=_0x17d05c!==_0x40b9f6['sessionId'];if(_0x44de4b){const _0x57d783=_0x40b9f6['_offset']-this['_oldOffset'],_0x4cf3e6=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3487ec['toVersion']+_0x57d783!==_0x4cf3e6){const _0x51e63d=_0x3487ec['fromVersion']+_0x57d783,_0x21c971=this['editor']['plugins']['get'](_0x3847b0),_0x18eb19=this['_revisionTracker']['buildRevisionData']({'revision':_0x3487ec,'from':_0x51e63d,'to':_0x4cf3e6});_0x18eb19['id']=_0x3487ec['id'];const _0x4c3a00=_0x18eb19['authorsIds']['map'](_0x272c96=>_0x21c971['getUser'](_0x272c96));_0x3487ec['_update']({..._0x18eb19,'authors':_0x4c3a00},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3487ec['id'],_0x18eb19,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4cf3e6,(_0x3487ec['toVersion']===_0x3487ec['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x17d05c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x17d05c),this['_revisionTracker']['_createCurrentRevision'](_0x4cf3e6));}const {revisions:_0x54c761,requestId:_0x14a636}=await this['_revisionHistoryService']['reconnect'](_0x5c9962['connection'],this['_lastRequestId']);_0x44de4b&&_0x54c761['length']>0x0?_0x40b9f6['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x54c761),this['_handleRevisionsUpdate'](_0x54c761,_0x14a636),this['_revisionTracker']['sendBufferedUpdates']());};return _0x40b9f6['_isConnected']?_0x1cafed():new Promise((_0x9cbcb9,_0x183548)=>{_0x40b9f6['once']('change:_isConnected',()=>{_0x1cafed()['then'](_0x9cbcb9)['catch'](_0x183548);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x12ce66=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x39fed6=>{_0x39fed6['off'](),_0x12ce66();});});}['_getLatestVersionFromServerOperations'](){const _0x44cab0=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4e3e8c of _0x44cab0)if('marker'!==_0x4e3e8c['type']||_0x4e3e8c['affectsData'])return _0x4e3e8c['baseVersion']+0x1;}['_getLatestVersion'](){const _0x148913=this['editor']['plugins']['get'](tt);return new Promise(_0xa7dd87=>{_0x148913['_isPendingUpdate']?_0x148913['once']('change:_isPendingUpdate',()=>{_0xa7dd87(this['_getLatestVersionFromServerOperations']());}):_0xa7dd87(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5bb390,_0x7c4af1){const _0x528773=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x7c4af1;for(const _0x41aa37 of _0x5bb390){const _0x1d8ad4=_0x528773['getRevision'](_0x41aa37['id']);if(_0x1d8ad4){if((_0x41aa37['fromVersion']||_0x41aa37['toVersion'])&&(_0x41aa37['diffData']=null),_0x1d8ad4===this['_revisionTracker']['currentRevision']){const _0x112868=Math['max'](_0x1d8ad4['toVersion'],_0x41aa37['toVersion']),_0x26153f=Math['max'](_0x1d8ad4['fromVersion'],_0x41aa37['fromVersion']);let _0x53d69c;_0x1d8ad4['toVersion']===_0x41aa37['toVersion']&&_0x1d8ad4['fromVersion']===_0x41aa37['fromVersion']?(_0x53d69c=!0x0,this['_preventResendingRevisionData'](_0x41aa37)):_0x41aa37['toVersion']===_0x112868&&_0x41aa37['fromVersion']===_0x26153f?_0x53d69c=!0x1:(_0x1d8ad4['toVersion']===_0x112868&&_0x1d8ad4['fromVersion']===_0x26153f||this['_fixRevision']({'revision':_0x1d8ad4,'from':_0x26153f,'to':_0x112868}),_0x53d69c=!0x0),_0x53d69c&&(delete _0x41aa37['fromVersion'],delete _0x41aa37['toVersion'],delete _0x41aa37['diffData'],delete _0x41aa37['createdAt'],delete _0x41aa37['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x41aa37),this['_preventResendingRevisionData'](_0x41aa37);}else this['_revisionTracker']['addRevisionData'](_0x41aa37);}const _0x5cc87b=_0x528773['getRevisions']();_0x5cc87b['reverse']();for(let _0x638914=0x0;_0x638914<_0x5cc87b['length']-0x1;_0x638914++){const _0x2677d4=_0x5cc87b[_0x638914],_0x46443c=_0x5cc87b[_0x638914+0x1];if(_0x2677d4['fromVersion']<_0x46443c['toVersion']){const _0x437099=_0x46443c['toVersion'],_0x4b5176=Math['max'](_0x437099,_0x2677d4['toVersion']);this['_fixRevision']({'revision':_0x2677d4,'from':_0x437099,'to':_0x4b5176});}}}['_fixRevision']({revision:_0x388b1e,from:_0x535a97,to:_0x23a9f9}={}){const _0x1283f0=this['editor']['plugins']['get'](_0x3847b0),_0x1cd26e=this['_revisionTracker']['buildRevisionData']({'revision':_0x388b1e,'from':_0x535a97,'to':_0x23a9f9});_0x1cd26e['authors']=_0x1cd26e['authorsIds']['map'](_0x18c34a=>_0x1283f0['getUser'](_0x18c34a)),_0x388b1e['_update'](_0x1cd26e);}['_preventResendingRevisionData'](_0xd002c4){const _0x17530f={};_0x17530f['id']=_0xd002c4['id'];for(const _0x2baf76 of Object['keys'](_0xd002c4))'id'!==_0x2baf76&&(_0x17530f[_0x2baf76]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x17530f['id'],_0x17530f,!0x0);}async['_fetchMissingUsers'](_0x4c97c0){const _0x35b2b4=this['editor']['plugins']['get'](_0x3847b0),{connection:_0x4f8f1d}=this['editor']['plugins']['get'](z),_0x17285e=new Set();for(const _0x11eb8d of _0x4c97c0){for(const _0x2c905b of _0x11eb8d['authorsIds'])_0x3375e7(_0x2c905b);_0x11eb8d['creatorId']&&_0x3375e7(_0x11eb8d['creatorId']);}if(0x0===_0x17285e['size'])return;const _0x123db5=await _0x2c2031['getMany'](_0x4f8f1d,Array['from'](_0x17285e));for(const _0x5d1ed0 of _0x123db5)_0x35b2b4['getUser'](_0x5d1ed0['id'])||_0x35b2b4['addUser'](_0x5d1ed0);function _0x3375e7(_0x1a7bd7){_0x35b2b4['getUser'](_0x1a7bd7)||_0x17285e['add'](_0x1a7bd7);}}}function pt(_0x1edc5c){return _0x1edc5c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1edc5c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1edc5c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x512c3b{static get['requires'](){return[_0x523413,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x45d855{['_collapseAt'];constructor(_0xd56965,_0x3ef29c=0x6){super(_0xd56965);const _0x168758=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3ef29c,this['bind']('isHidden')['to'](this,'usersCount',_0x20cc79=>_0x20cc79<_0x3ef29c),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x168758['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':_0x168758['to']('usersCount',_0x331015=>'+'+(_0x331015-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x45d855{['items'];['keystrokes'];constructor(_0x37e997){super(_0x37e997);const _0x4352d3=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2864f3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4352d3['if']('hasPopup'),'aria-expanded':_0x4352d3['to']('isExpanded',_0x15ec66=>this['hasPopup']&&String(_0x15ec66)),'aria-label':_0x4352d3['to']('hasPopup',_0x3cf0c3=>X(_0x37e997,_0x3cf0c3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4352d3['to']('hasPopup',_0x215da6=>!!_0x215da6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4352d3['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4352d3['to'](_0x136ac4=>{const _0xe12994=_0x136ac4,_0x39ae0d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x107ac6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x39ae0d?.['contains'](_0xe12994['relatedTarget'])||_0x107ac6?.['contains'](_0xe12994['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x50e52d,_0x42e258,_0x566caf)=>{this['element']&&(_0x566caf?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x45d855{['counterView'];['inlineListView'];constructor(_0x1a66ce,_0x278cec=0x6){super(_0x1a66ce);const _0x229e3f=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x278cec),this['inlineListView']=new vt(_0x1a66ce),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x115077 of this['inlineListView']['items'])_0x115077['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',_0x229e3f['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x45d855{['listWrapperView'];constructor(_0x526067,_0x3fa2d0){super(_0x526067);const _0x581c3e=this['bindTemplate'];this['listWrapperView']=new bt(_0x526067,_0x3fa2d0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x526067,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x581c3e['to'](_0x12034b=>{const _0x3d4736=_0x12034b,_0x26f854=document['querySelector']('.ck-presence-list__list'),_0x803e2f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x26f854?.['contains'](_0x3d4736['relatedTarget'])||_0x803e2f?.['contains'](_0x3d4736['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x28fa98{constructor(_0x37b7c6,_0x105d26){super(_0x37b7c6);const _0x1a9165=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x105d26?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1a9165['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1a9165['to']('role'),'aria-label':_0x1a9165['to']('ariaLabel'),'aria-labelledby':_0x1a9165['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x57454e['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x414d20=this['element'];_0x414d20&&(this['_isScrollable']=Math['max'](_0x414d20['scrollHeight'],_0x414d20['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0xbb6ce2{['userView'];constructor(_0x269aec,_0x229d9f,_0x23f61e){super(_0x269aec);const _0x5e237e=this['bindTemplate'];this['userView']=new _0x35e11e(_0x269aec,_0x229d9f);const _0x3e7d2a={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x229d9f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x229d9f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x229d9f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x229d9f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x229d9f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x23f61e&&(_0x3e7d2a['tag']='button',_0x3e7d2a['on']={'click':_0x5e237e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e7d2a);}['focus'](){this['element']['focus']();}}class It extends _0x45d855{['userView'];['markerView'];constructor(_0x5cd014,_0x6762c1,_0x1a7569){super(_0x5cd014);const _0x367fd8=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x35e11e(_0x5cd014,_0x6762c1),this['markerView']=new St(_0x5cd014,_0x6762c1);const _0x130387=new _0x2db3b4(_0x5cd014);_0x130387['template']['tag']='span',_0x130387['text']=_0x6762c1['name'];const _0x475f54={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x367fd8['to']('isFocusable',_0xbd07f1=>!!_0xbd07f1&&0x0),'aria-labelledby':_0x130387['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x367fd8['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x367fd8['to']('hasTooltip',_0x16046b=>!_0x16046b),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x130387]};_0x1a7569&&(_0x475f54['tag']='button',_0x475f54['on']={'click':_0x367fd8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x475f54);}}class St extends _0x45d855{constructor(_0x44d41d,_0x33d467){super(_0x44d41d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x33d467['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x33d467['color']['getColorVariable'](),'--ck-user-color-alpha':_0x33d467['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x6b13bf{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5dbf44){super(_0x5dbf44),this['context']['config']['define']('presenceList',Tt);const _0x2d1dd9=_0x5dbf44['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2d1dd9)throw new _0x5d88de('presencelist-collapseat-invalid-format',this);if(_0x2d1dd9<0x1)throw new _0x5d88de('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x37a42c(),this['balloonPanelView']=new _0x246412(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1783ac of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1783ac);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4ada7a,_0x4d884f)=>{this['_handleUserAdd'](_0x4d884f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x16b241,_0x582664)=>{this['_handleUserRemove'](_0x582664);});}['_createView'](){const _0x3741a6=this['context'],_0x144dfd=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x56659a=this['balloonPanelView'];if(!_0xf133dc(_0x3741a6['config']['get']('presenceList.container')))throw new _0x5d88de('presencelist-missing-container',this);return _0x144dfd['counterView']['bind']('usersCount')['to'](this),_0x144dfd['bind']('isCollapsed')['to'](this,'usersCount',_0x5cb8b4=>{const {collapseAt:_0x24b28a}=_0x3741a6['config']['get']('presenceList'),_0x32103c=_0x5cb8b4>=_0x24b28a;if(_0x32103c&&!_0x144dfd['inlineListView']['items']['find'](_0x170cda=>_0x170cda instanceof wt)){const _0x25a168=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x25a168&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x144dfd['inlineListView']['items']['add'](_0x144dfd['counterView']);}return _0x32103c||this['hideDropdown'](),_0x32103c;}),_0x144dfd['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x246cf7=>{const _0x37017=_0x3741a6['config']['get']('presenceList'),_0x1b8b6e=new It(_0x3741a6['locale'],_0x246cf7,!!_0x37017['onClick']);return _0x1b8b6e['bind']('hasTooltip')['to'](_0x144dfd,'isCollapsed',_0x225615=>!_0x225615),_0x1b8b6e['bind']('isFocusable')['to'](_0x144dfd,'isCollapsed',_0x5771a9=>!_0x5771a9),_0x37017['onClick']&&this['listenTo'](_0x1b8b6e,'execute',()=>{this['view']['isCollapsed']||_0x37017['onClick'](_0x246cf7,_0x1b8b6e['element']);}),_0x1b8b6e;}),this['listenTo'](_0x144dfd['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x144dfd['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x144dfd['inlineListView']['keystrokes']['set']('Enter',(_0xe625cf,_0x27acda)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x27acda());}),_0x144dfd['render'](),_0x56659a['render'](),_0x429dd3({'emitter':_0x144dfd,'activator':()=>_0x56659a['isVisible'],'contextElements':[_0x56659a['element'],_0x144dfd['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3741a6['config']['get']('presenceList.container')['appendChild'](_0x144dfd['element']),this['_bodyCollection']=new _0x3c32f1(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x144dfd;}['_handleUserAdd'](_0x2620c0){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2620c0['isMe'])return;const _0x35bb20=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x35bb20-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x519a7b=_0x2620c0['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2620c0,_0x519a7b);}['_handleUserRemove'](_0x3a211b){this['usersCount']--;const {collapseAt:_0x5e77f4}=this['context']['config']['get']('presenceList'),_0x445265=this['usersCount']>=_0x5e77f4;if(this['currentDisplayedUsers']['get'](_0x3a211b['id']))this['currentDisplayedUsers']['remove'](_0x3a211b['id']);else{if(_0x445265&&this['currentDisplayedUsers']['length']+0x1===_0x5e77f4-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x445265?0x1:0x0)<this['usersCount']){for(const _0x7fb32a of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x7fb32a['id'])&&(this['currentDisplayedUsers']['add'](_0x7fb32a,Math['min'](this['currentDisplayedUsers']['length']-(_0x445265?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x445265?0x1:0x0)===_0x5e77f4-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4ca0a1=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4ca0a1['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3155a3}=this['presenceDropdownView'];_0x3155a3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2a7613=>{if(!_0x4ca0a1['displayMe']&&_0x2a7613['isMe'])return null;const _0x1bf6fc=new kt(this['context']['locale'],_0x2a7613,!!_0x4ca0a1['onClick']);return _0x4ca0a1['onClick']&&this['listenTo'](_0x1bf6fc,'execute',()=>{_0x4ca0a1['onClick'](_0x2a7613,_0x1bf6fc['element']);}),_0x1bf6fc;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3155a3['focus'](),_0x3155a3['checkIfScrollable']();const _0x4602be=(_0x1b1ccb,_0x479604)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x479604();};_0x3155a3['keystrokes']['set']('Esc',_0x4602be),_0x3155a3['keystrokes']['set']('Shift+Tab',_0x4602be),_0x3155a3['keystrokes']['set']('Tab',(_0x4b88e1,_0x119558)=>{!function(_0x5579d0){const _0x45015b=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x54adce=>_0x54adce+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x466cd9=[...document['body']['querySelectorAll'](_0x45015b)]['filter'](_0x5464ee=>_0x5464ee===document['activeElement']||_0x5464ee['offsetWidth']+_0x5464ee['offsetHeight']>0x0)['sort']((_0x441e38,_0x170445)=>(_0x441e38['tabIndex']||0x0)-(_0x170445['tabIndex']||0x0)),_0x5d50ac=_0x466cd9['indexOf'](_0x5579d0),_0x4509b4=_0x466cd9[(_0x5d50ac+0x1)%_0x466cd9['length']];_0x4509b4&&_0x4509b4['focus']();}(this['view']['element']),this['hideDropdown'](),_0x119558();}),_0x3155a3['focusTracker']['add'](this['view']['element']),_0x3155a3['focusTracker']['on']('change:isFocused',(_0xb86f65,_0x1e3a96,_0x33101b)=>{_0x33101b||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x6b13bf{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{ContextPlugin as _0xef80a1,Plugin as _0x281793,PendingActions as _0x5e8c5f,Context as _0x5407be}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x28dffe,CKEditorError as _0xe32300,Collection as _0x2c5641,global as _0x28e582,version as _0x5909bb,uid as _0x494522,KeystrokeHandler as _0x42e44d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x516d46,View as _0x1a3fd9,ListView as _0x37da38,ListItemView as _0x2c00f3,LabelView as _0x35c56a,BalloonPanelView as _0x553bc5,clickOutsideHandler as _0x360bc9,BodyCollection as _0x447c29}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2c3be1,History as _0x28c39a,NoOperation as _0x270f4f,InsertOperation as _0x570df8,MarkerOperation as _0x191477,RootAttributeOperation as _0x37805c,transformOperationSets as _0x704f48,OperationFactory as _0xf2f158}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x4774f2}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2419ba,WEB_SOCKET_GATEWAY_STATES as _0x353716,CollaborativeEditingService as _0x296a21,User as _0x381d6e,CommentsService as _0x79be79,TrackChangesService as _0x46718a,RevisionHistoryService as _0x1279c1,EditorService as _0x33edb5}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x4c102a,UserView as _0x2d3ca6}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x3150b1}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x539b66,TrackChanges as _0xadf793}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5be5e5,Comments as _0x186826,CommentsEditing as _0x59426b}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x4a2d92}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x1ed9b4}from'es-toolkit/compat';class z extends _0xef80a1{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x2419ba)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x4774f2,_0x516d46];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5eb208){super(_0x5eb208),this['set']('state',_0x353716['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x28dffe())();}['init'](){const _0x403ce1=this['context'],_0x346d0b=_0x403ce1['plugins']['get'](_0x4774f2),_0x515cb4=_0x403ce1['plugins']['get'](_0x516d46);if(!_0x346d0b['token'])throw new _0xe32300('websocketgateway-missing-token',this);if(!_0x346d0b['webSocketUrl'])throw new _0xe32300('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x346d0b['token'],_0x346d0b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1efd6e=>{if(this['connection']=_0x1efd6e,this['bind']('state')['to'](_0x1efd6e,'state',this,'_isBrowserOffline',(_0x1bb660,_0x5e3c9f)=>('connected'!==_0x1bb660&&(this['_shouldPluginsReconnect']=!0x0),_0x5e3c9f||_0x1bb660!==_0x353716['CONNECTED']?_0x353716['DISCONNECTED']:this['state']==_0x353716['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x353716['CONNECTING']):_0x353716['CONNECTED'])),this['connection']['on']('error',(_0x25023a,_0x4f3265)=>{if('limitExceeded'!==_0x4f3265['code'])throw console['error'](_0x4f3265),new _0xe32300('cloudservices-init',null,{'originalError':_0x4f3265});_0x515cb4['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'});}),!_0x1efd6e['me'])return new Promise(_0x2b3055=>_0x1efd6e['on']('change:me',_0x2b3055));})['catch'](_0x42b5d4=>{throw console['error'](_0x42b5d4),new _0xe32300('cloudservices-init',null,{'originalError':_0x42b5d4});});}['addToReconnectionStack'](_0x83ed33){if('function'!=typeof _0x83ed33['reconnect'])throw new _0xe32300('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x83ed33))throw new _0xe32300('websocketgateway-plugin-already-registered',this,{'name':_0x83ed33['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x83ed33);}['removeFromReconnectionStack'](_0xbc0eee){this['_reconnectionStack']['delete'](_0xbc0eee);}['isInReconnectionStack'](_0x134406){return this['_reconnectionStack']['has'](_0x134406);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x526361=>_0x526361['reconnect']())))['then'](()=>this['state']=_0x353716['CONNECTED'])['catch'](_0x2bc9de=>{throw console['error'](_0x2bc9de),new _0xe32300('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x353716['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xef80a1{['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,_0x4c102a];}constructor(_0x246c74){super(_0x246c74),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c5641(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4c102a);}['init'](){const _0x121bbf=this['context']['plugins']['get'](z);this['listenTo'](_0x121bbf,'change:state',(_0x44ea40,_0x3be196,_0x3e5ab1)=>{if('connected'!==_0x3e5ab1)this['channelSessions']['forEach'](_0x33ace3=>_0x33ace3['clear']()),this['channelConnectedUsers']['forEach'](_0x5e294d=>_0x5e294d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1764b0,_0x344637]of this['_registeredSessions'])for(const _0x29164f of _0x344637)this['_handleSessionAdd'](_0x1764b0,_0x29164f);}}),this['_createUser'](_0x121bbf['connection']['me'],!0x0);}['register'](_0xb79e7e,_0x5bb8a5){if(this['_registeredSessions']['has'](_0xb79e7e))throw new _0xe32300('sessions-register-already-registered',null,{'channelId':_0xb79e7e});this['_registeredSessions']['set'](_0xb79e7e,_0x5bb8a5),this['channelSessions']['set'](_0xb79e7e,new _0x2c5641()),this['channelConnectedUsers']['set'](_0xb79e7e,new _0x2c5641()),this['listenTo'](_0x5bb8a5,'add',(_0x4ade1f,_0x1aabc1)=>this['_handleSessionAdd'](_0xb79e7e,_0x1aabc1)),this['listenTo'](_0x5bb8a5,'remove',(_0x419a2a,_0x54c9a2)=>this['_handleSessionRemove'](_0xb79e7e,_0x54c9a2));for(const _0x3105b7 of _0x5bb8a5)this['_handleSessionAdd'](_0xb79e7e,_0x3105b7);}['unregister'](_0x221098){if(!this['_registeredSessions']['has'](_0x221098))throw new _0xe32300('sessions-unregister-not-exist',null,{'channelId':_0x221098});const _0x207db3=this['_registeredSessions']['get'](_0x221098);this['stopListening'](_0x207db3);for(const _0x5ecb21 of _0x207db3)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x221098,_0x5ecb21);this['_registeredSessions']['delete'](_0x221098),this['channelSessions']['delete'](_0x221098),this['channelConnectedUsers']['delete'](_0x221098);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x35bd1e){for(const _0x1325ad of this['channelSessions']['values']())for(const _0x170577 of _0x1325ad)if(_0x170577['id']===_0x35bd1e)return _0x170577['user'];}['getUserSessions'](_0x1fae80,_0x52875e){const _0x1b7f07=_0x52875e?[this['channelSessions']['get'](_0x52875e)]:this['channelSessions']['values'](),_0x422ee7=new Set();for(const _0x30f771 of _0x1b7f07)for(const _0x462ac0 of _0x30f771)_0x462ac0['user']['id']===_0x1fae80['id']&&_0x422ee7['add'](_0x462ac0['id']);return _0x422ee7;}['getUserRole'](_0x31aaf3){for(const _0x59c1f4 of this['channelSessions']['values']())for(const _0x26ce58 of _0x59c1f4)if(_0x26ce58['user']===_0x31aaf3)return _0x26ce58['role'];}['_handleSessionAdd'](_0xb8b81c,_0x5cff72){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x240fd0=_0x5cff72['user'],_0x467409=this['_users']['getUser'](_0x240fd0['id'])||this['_createUser'](_0x240fd0),_0x4b68d9=Object['assign']({},_0x5cff72,{'user':_0x467409});if(this['channelSessions']['get'](_0xb8b81c)['add'](_0x4b68d9),!_0x240fd0['hiddenInPresenceList']){const _0x5ba577=this['channelConnectedUsers']['get'](_0xb8b81c);_0x5ba577['has'](_0x467409['id'])||_0x5ba577['add'](_0x467409),this['allConnectedUsers']['has'](_0x467409['id'])||_0x240fd0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x467409,_0x467409['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0xb8b81c,{'channelId':_0xb8b81c,'session':_0x4b68d9});}['_handleSessionRemove'](_0x34e19f,_0x1c4f74){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3a7b59=this['channelConnectedUsers']['get'](_0x34e19f),_0x3329a3=_0x1c4f74['user'];_0x3329a3['id']&&(this['channelSessions']['get'](_0x34e19f)['remove'](_0x1c4f74['id']),_0x3a7b59['has'](_0x3329a3['id'])&&!this['getUserSessions'](_0x3329a3,_0x34e19f)['size']&&_0x3a7b59['remove'](_0x3329a3['id']),this['allConnectedUsers']['get'](_0x3329a3['id'])&&!this['getUserSessions'](_0x3329a3)['size']&&this['allConnectedUsers']['remove'](_0x3329a3['id']));}['_createUser'](_0x29deff,_0x43dcf3){const _0x406188=this['_users']['addUser'](_0x29deff);return _0x43dcf3&&this['_users']['defineMe'](_0x29deff['id']),_0x406188['orderNumber']=this['_uniqueUsersCount']++,_0x406188;}}class K extends _0x281793{['_domEmitter']=new(_0x28dffe())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1f88ab=this['editor'],_0x49fdc1=_0x1f88ab['plugins']['get'](Y);_0x1f88ab['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x400c98,{writer:_0xa30bbb})=>function(_0x135134,_0x5d0d28,_0x2f0178,_0x635826){const _0x2a3738=_0x135134['markerName']['split'](':')[0x2],_0x431733=_0x2f0178['getUserBySessionId'](_0x2a3738);if(!_0x431733||_0x2a3738===_0x2f0178['mySessionId'])return;if(!_0x635826['model']['schema']['checkChild'](_0x135134['markerRange']['start'],'$text'))return;const _0x23785c={'class':'ck-user__marker\x20'+_0x431733['color']['getMarkerClass'](),'style':Q(_0x431733),'data-name':_0x431733['name'],'data-session-id':_0x2a3738},_0x146be4=_0x635826['model']['markers']['get'](_0x135134['markerName']),_0x3069e2=_0x146be4['getStart'](),_0x132e37=_0x3069e2['nodeAfter'],_0x329f6f=_0x635826['model']['schema'];if(_0x132e37&&_0x329f6f['isObject'](_0x132e37)&&_0x329f6f['isInline'](_0x132e37)&&!_0x635826['model']['markers']['get']('user:range:'+_0x2a3738)['getRange']()['isCollapsed'])return;const _0x16a870=_0x3069e2['parent'];return _0x635826['model']['schema']['isLimit'](_0x16a870)&&!_0x635826['model']['hasContent'](_0x16a870)&&(_0x23785c['contenteditable']=!0x1),function(_0x887a11,_0x108de1,_0x5b88b7){const _0x45df7a=_0x887a11['createUIElement']('span',_0x108de1);return _0x887a11['setCustomProperty']('userPositionMarker',!0x0,_0x45df7a),_0x45df7a['render']=function(_0x110c7a){const _0x47e37c=this['toDomElement'](_0x110c7a),_0x262b4c=document['createElement']('span');return _0x262b4c['classList']['add']('ck-user__marker-tooltip'),_0x262b4c['setAttribute']('contenteditable','false'),_0x262b4c['setAttribute']('spellcheck','false'),_0x262b4c['textContent']=_0x5b88b7['name'],_0x47e37c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x262b4c['outerHTML']+'⁠',_0x47e37c['addEventListener']('mouseenter',()=>{_0x47e37c['classList']['add']('ck-user__marker_hovered');}),_0x47e37c['addEventListener']('mouseleave',()=>{_0x47e37c['classList']['remove']('ck-user__marker_hovered');}),_0x47e37c;},_0x45df7a['isSimilar']=function(_0x5add46){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5add46['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5add46['getAttribute']('data-session-id'));},_0x45df7a;}(_0x5d0d28,_0x23785c,_0x431733);}(_0x400c98,_0xa30bbb,_0x49fdc1,_0x1f88ab)}),_0x1f88ab['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x546475=>function(_0x2241ca,_0x4f827b){const _0x438d2f=_0x2241ca['markerName']['split'](':')[0x2];if(_0x438d2f===_0x4f827b['mySessionId'])return null;const _0x21c718=_0x4f827b['getUserBySessionId'](_0x438d2f);if(!_0x21c718)return{'id':_0x438d2f,'classes':[]};return{'id':_0x438d2f,'classes':['ck-user__selection',_0x21c718['color']['getSelectionClass']()],'attributes':{'style':Q(_0x21c718),'data-session-id':_0x438d2f},'priority':0x7d0+_0x21c718['orderNumber']};}(_0x546475,_0x49fdc1)}),function(_0x3ed81d){const _0x27362e=_0x3ed81d['model'],_0x18fa98=new Map(),_0x35e73a=_0x3ed81d['plugins']['get'](Y);_0x27362e['markers']['on']('update:user:range',(_0x2a976f,_0x4615b7,_0x5d2f9f,_0x546039)=>{if(!_0x546039&&_0x18fa98['get'](_0x4615b7['name']))return _0x18fa98['get'](_0x4615b7['name'])['detach'](),void _0x18fa98['delete'](_0x4615b7['name']);const _0x384521=_0x4615b7['name']['split'](':')[0x2];if(_0x384521===_0x35e73a['mySessionId'])return;const _0x5f26ab='user:position:'+_0x384521;_0x27362e['markers']['has'](_0x5f26ab)&&_0x3ed81d['editing']['reconvertMarker'](_0x5f26ab),_0x4615b7['on']('change:range',(_0x592b91,_0x409254,_0x344281)=>{if('$graveyard'!=_0x409254['root']['rootName']&&'$graveyard'==_0x4615b7['getRange']()['root']['rootName']&&!_0x18fa98['has'](_0x4615b7['name'])){const _0x4b0f3e=_0x27362e['schema']['getNearestSelectionRange'](_0x344281['deletionPosition']);if(_0x4b0f3e){const _0x214220=_0x2c3be1['fromRange'](_0x4b0f3e);_0x18fa98['set'](_0x4615b7['name'],_0x214220),_0x214220['on']('change:range',(_0x44708b,_0xdbb591,_0x213c0c)=>{if('$graveyard'==_0x214220['root']['rootName']){const _0x4ae024=_0x27362e['schema']['getNearestSelectionRange'](_0x213c0c['deletionPosition']);_0x4ae024?(_0x214220['start']=_0x4ae024['start'],_0x214220['end']=_0x4ae024['end']):(_0x18fa98['delete'](_0x4615b7['name']),_0x214220['detach']());}});}}});}),_0x27362e['document']['on']('change',()=>{_0x18fa98['size']>0x0&&_0x27362e['enqueueChange']({'isUndoable':!0x1},_0x9246c1=>{for(const [_0xf623c6,_0x5bc823]of _0x18fa98)'$graveyard'==_0x27362e['markers']['get'](_0xf623c6)['getRange']()['root']['rootName']&&(J(_0xf623c6['split'](':')[0x2],_0x5bc823['toRange'](),_0x27362e,_0x9246c1),_0x5bc823['detach']());_0x18fa98['clear']();});});}(_0x1f88ab),this['_domEmitter']['listenTo'](_0x28e582['document'],'keydown',(_0x3a0278,{key:_0x33678c})=>{'Escape'===_0x33678c&&function(_0x115d4b){_0x115d4b['editing']['view']['change'](_0xe4007d=>{for(const _0x365374 of _0x115d4b['model']['markers']){if(!_0x365374['name']['startsWith']('user:position'))continue;const _0x3d0267=_0x115d4b['editing']['mapper']['markerNameToElements'](_0x365374['name']);if(_0x3d0267){for(const _0x3fa9c1 of _0x3d0267)_0xe4007d['removeClass']('ck-user__marker_hovered',_0x3fa9c1);}}});}(_0x1f88ab);},{'useCapture':!0x0});}['afterInit'](){const _0x2d6ae6=this['editor'],_0x395196=_0x2d6ae6['commands']['get']('undo');_0x395196&&_0x2d6ae6['model']['on']('applyOperation',(_0x1e998c,_0x24044e)=>{const _0x1a1895=_0x24044e[0x0];if(!_0x1a1895['isDocumentOperation'])return;if('marker'!=_0x1a1895['type']||!_0x1a1895['name']['startsWith']('user:'))return;const _0x37ae92=_0x1a1895['batch'];_0x395196['_createdBatches']['has'](_0x37ae92)&&(_0x1a1895['newRange']=_0x1a1895['oldRange']?_0x2d6ae6['model']['createRange'](_0x1a1895['oldRange']['start'],_0x1a1895['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x6e288=this['editor'],_0x2115c9=_0x6e288['model']['document'],_0xd5a2f1=_0x6e288['plugins']['get'](Y);_0x6e288['model']['enqueueChange']({'isUndoable':!0x1},_0x2eb053=>{const _0x203be3='user:range:'+_0xd5a2f1['mySessionId'],_0x564ad4='user:position:'+_0xd5a2f1['mySessionId'],_0x512cfd=_0x6e288['model']['markers']['has'](_0x203be3);_0x6e288['editing']['view']['hasDomSelection']?J(_0xd5a2f1['mySessionId'],_0x2115c9['selection']['getFirstRange'](),_0x6e288['model'],_0x2eb053):_0x512cfd&&(_0x2eb053['removeMarker'](_0x203be3),_0x2eb053['removeMarker'](_0x564ad4));});}}function J(_0x2fe993,_0x14e0a4,_0x41d9cb,_0x347495){const _0x1e314d='user:range:'+_0x2fe993,_0xef5825='user:position:'+_0x2fe993,_0x23c8de=_0x14e0a4['getContainedElement']();let _0x2a848e=_0x14e0a4['start'];if(_0x23c8de&&_0x23c8de['is']('element','tableCell')){const _0x44b64f=function(_0x89feb9,_0x212f81){for(const _0x287f3f of _0x89feb9['getPositions']())if(_0x212f81['schema']['checkChild'](_0x287f3f,'$text'))return _0x287f3f;}(_0x14e0a4,_0x41d9cb);_0x44b64f&&(_0x2a848e=_0x44b64f,_0x14e0a4=_0x347495['createRange'](_0x2a848e));}const _0x5cb381=_0x347495['createRange'](_0x2a848e);_0x41d9cb['markers']['has'](_0x1e314d)?(_0x347495['updateMarker'](_0x1e314d,{'range':_0x14e0a4}),_0x347495['updateMarker'](_0xef5825,{'range':_0x5cb381})):(_0x347495['addMarker'](_0x1e314d,{'range':_0x14e0a4,'usingOperation':!0x0}),_0x347495['addMarker'](_0xef5825,{'range':_0x5cb381,'usingOperation':!0x0}));}function Q(_0x28cac3){return'--ck-user-color:'+_0x28cac3['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x28cac3['color']['getColorAlphaVariable']()+';';}function X(_0x232819,_0x1dd0c1,_0x2ae089){const _0x586495=_0x232819['t'],t=_0x232819['t'];switch(_0x1dd0c1){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 _0x586495({'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'},_0x2ae089);default:return'';}}let Z=0x1;class tt extends _0x281793{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x296a21)());['_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,_0x5e8c5f,_0x4c102a,_0x516d46];}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 _0x24358b=this['serverHistory']['getOperations']();for(let _0x223bd1=_0x24358b['length']-0x1;_0x223bd1>=0x0;_0x223bd1--){const _0x2d6e4a=_0x24358b[_0x223bd1];if(!this['_disconnectionOperations']['has'](_0x2d6e4a))return _0x2d6e4a['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xa70e3f){if(super(_0xa70e3f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x28c39a(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xe32300('collaboration-missing-channelid',this);const _0x4d3805=_0xa70e3f['config']['get']('cloudServices.bundleVersion')||_0x5909bb;this['_service']=new tt['CollaborativeEditingService'](_0x4d3805,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3150b1(),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 _0x593cf1=this['editor'],_0x510c1c=_0x593cf1['plugins']['get'](_0x4c102a),_0x19dca9=_0x593cf1['plugins']['get'](z);this['listenTo'](_0x510c1c,'getOperationAuthor',(_0x619091,_0x5ed097)=>{const _0xe1e939=_0x5ed097[0x0];_0xe1e939['_authorId']&&(_0x619091['return']=_0x510c1c['getUser'](_0xe1e939['_authorId']),_0x619091['stop']()),null===_0xe1e939['_authorId']&&(_0x619091['return']=null,_0x619091['stop']());},{'priority':'high'}),this['listenTo'](_0x593cf1['model']['document']['selection'],'change:range',(_0x3119d6,_0x8439d8)=>{_0x8439d8['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x593cf1['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x593cf1['model']['on']('applyOperation',(_0x4288f9,_0x9887fb)=>{const _0xdcc168=_0x9887fb[0x0];_0xdcc168['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xdcc168),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x19dca9,'state',this,'_hasSynchronizationProblem',(_0x530923,_0x41c86e)=>'connected'===_0x530923&&!_0x41c86e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x593cf1['disableReadOnlyMode']('rtc-offline'):_0x593cf1['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x593cf1['disableReadOnlyMode']('rtc-offline'):_0x593cf1['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x16ff7c=this['editor']['plugins']['get'](Y),_0x5d94ed=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x16ff7c['unregister'](this['_channelId']);const _0x4d2027=await this['_service']['reconnect'](_0x5d94ed['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4d2027)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x50ad0d=await this['_service']['getConnectedSessions']();_0x16ff7c['register'](this['_channelId'],_0x50ad0d),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x59ca7b){if(function(_0x274690){return'404'===_0x274690['code'];}(_0x59ca7b)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x36113c){return'409'===_0x36113c['code'];}(_0x59ca7b)){const _0x48484d=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'](_0x48484d);}else{if(!(_0x59ca7b instanceof et))throw _0x59ca7b;this['_handleReconnectionError']();}}}}['destroy'](){const _0x298ecc=this['editor']['plugins']['get'](z),_0x4af420=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4af420['channelSessions']['has'](this['_channelId'])&&_0x4af420['unregister'](this['_channelId']),_0x298ecc['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x59e0db){if(this['sessionId']!==_0x59e0db['sessionId']&&this['_lastSyncedOperationId']!==_0x59e0db['lastOperationId'])throw new et();return this['sessionId']=_0x59e0db['sessionId'],this['_handleServerResponse']([],{..._0x59e0db,'wereChangesApplied':!0x1,'data':_0x59e0db['data']},'reconnect');}async['_connectService'](_0x48e3bb,_0x2bafa7=!0x1){const {connection:_0x586cd5}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x586cd5,this['_channelId'])['then'](_0xd518ab=>this['_initSessionsHandling'](_0xd518ab))['catch'](_0xb5d3ea=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xb5d3ea);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x230ec7,_0x50c7e4)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x50c7e4);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x13b551=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x48e3bb);this['_isPendingUpdate']=!0x0;const _0x59c85d=await this['_service']['connect'](_0x586cd5,this['_compressOperations'](_0x48e3bb),_0x13b551);if(this['sessionId']=_0x59c85d['sessionId'],_0x2bafa7){if(!_0x59c85d['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x59c85d['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x48e3bb,_0x59c85d,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x59c85d,_0x48e3bb);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xc48654=this['editor']['plugins']['get'](Y),_0x45b07d=this['editor']['plugins']['get'](K),_0x4c1f56=_0xc48654['channelSessions']['get'](this['_channelId']);_0x4c1f56&&_0x4c1f56['length']>0x1?_0x45b07d['createUserMarkerOperations']():this['listenTo'](_0xc48654,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xc48654['channelSessions']['get'](this['_channelId'])['length']&&_0x45b07d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x539aa3,_0x29bb7e,_0x1d0d0b,_0x5d5fc7){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x29bb7e){const _0x28fbc8=this['_decompressOperations'](_0x1d0d0b,_0x5d5fc7);await this['_fetchMissingUsers'](_0x28fbc8),this['_handleExternalOperations'](_0x28fbc8,_0x29bb7e,_0x1d0d0b['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x282e26}=this['editor'];let _0x3a5b2d;try{_0x3a5b2d=await this['_service']['getDocumentDetails']();}catch{const _0x2d1987=X(_0x282e26,'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'](_0x2d1987);}const _0x2c88d2=_0x3a5b2d['currentDocumentSession']||_0x3a5b2d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2c88d2['lastOperationId']){const _0x410b96=X(_0x282e26,'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'](_0x410b96);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x307c59){const _0x12bba9=this['editor']['plugins']['get'](Y);this['listenTo'](_0x12bba9,'sessionAdd:'+this['_channelId'],(_0x43a05a,{session:_0x51a003})=>{if(_0x51a003['id']===_0x12bba9['mySessionId']){_0x43a05a['off']();const _0x28d616=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1291a0=_0x51a003['permissions'];_0x28d616&&_0x28d616['isEnabled']&&(_0x1291a0=_0x1291a0['filter'](_0x410ac9=>'document:write'!==_0x410ac9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1291a0,this['_channelId']);}}),_0x12bba9['register'](this['_channelId'],_0x307c59);}['_initThrowingOnDataSet'](){const _0x4ccd21=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a61ae)=>{if(!_0x5a61ae[_0x5a61ae['length']-0x1]['suppressErrorInCollaboration'])throw new _0xe32300('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4ccd21['apply'](this['editor']['data'],_0x5a61ae);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x410cd2,[_0x320471])=>{if(this['_document']['version'])throw new _0xe32300('realtimecollaborationclient-init-document-already-initialized',this);_0x410cd2['stop'](),this['_setPendingAction']();const _0x4f9f15=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x456312])=>!_0x456312['lazyLoad'])['map'](([_0x3237f3,_0x2ec41c])=>[_0x3237f3,_0x2ec41c['modelAttributes']||{}])),_0x2556f2=this['_getOperationsFromInitData'](_0x320471,_0x4f9f15);0x0==_0x2556f2['length']&&_0x2556f2['push'](new _0x270f4f(0x0)),_0x410cd2['return']=this['_connectService'](_0x2556f2)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xef8ebe=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xef8ebe))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x527f90,[_0x53d849,_0x5a6af9])=>{_0x527f90['stop']();const _0x4871ae=this['editor']['model']['document']['getRoot'](_0x53d849);if(!this['_knownRootNames']['has'](_0x53d849)){const _0xfd0f76=_0x5a6af9&&_0x5a6af9['data']?_0x5a6af9['data']:'',_0x2f653c=_0x5a6af9&&_0x5a6af9['attributes']?_0x5a6af9['attributes']:{};await this['_loadRoot'](_0x53d849,_0xfd0f76,_0x2f653c);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4871ae['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4871ae);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x31b212){const _0x344f1a=this['editor']['plugins']['get'](_0x4c102a),{connection:_0x21400a}=this['editor']['plugins']['get'](z),_0x51aa15=new Set();for(const _0x476f67 of _0x31b212){const _0x144cd9=_0x476f67['_authorId'];_0x144cd9&&!_0x344f1a['getUser'](_0x144cd9)&&_0x51aa15['add'](_0x144cd9);}if(0x0===_0x51aa15['size'])return;const _0x362fe1=await _0x381d6e['getMany'](_0x21400a,Array['from'](_0x51aa15));for(const _0x469ec0 of _0x362fe1)_0x344f1a['getUser'](_0x469ec0['id'])||_0x344f1a['addUser'](_0x469ec0);}['_getOperationsFromInitData'](_0xc1777a,_0x22c2a6={}){const _0x3a9dd5=this['editor']['model'],_0x1acfc0=[];let _0x28285c=0x0;const _0x58c28a='string'==typeof _0xc1777a?{'main':_0xc1777a}:_0xc1777a;for(const _0x2985c7 of Object['keys'](_0x58c28a)){if(!this['_document']['roots']['has'](_0x2985c7))throw new _0xe32300('realtimecollaborationclient-init-non-existent-root',this);const _0x1da57d=this['editor']['data']['parse'](_0x58c28a[_0x2985c7]),_0x41a2a2=this['_document']['getRoot'](_0x2985c7),_0x3ce651=new _0x570df8(_0x3a9dd5['createPositionAt'](_0x41a2a2,0x0),_0x1da57d,_0x28285c++);_0x1acfc0['push'](_0x3ce651);for(const [_0xc4f590,_0x4d3994]of _0x1da57d['markers']){const _0x32c222=_0x3a9dd5['createRange'](_0x3a9dd5['createPositionFromPath'](_0x41a2a2,_0x4d3994['start']['path']['slice']()),_0x3a9dd5['createPositionFromPath'](_0x41a2a2,_0x4d3994['end']['path']['slice']())),_0x21f08f=new _0x191477(_0xc4f590,null,_0x32c222,_0x3a9dd5['markers'],!0x0,_0x28285c++);_0x1acfc0['push'](_0x21f08f);}}if(_0x22c2a6)for(const [_0x4db17d,_0x364ad9]of Object['entries'](_0x22c2a6)){const _0xf02fd2=_0x3a9dd5['document']['getRoot'](_0x4db17d);if(!_0xf02fd2)throw new _0xe32300('multi-root-editor-root-attributes-no-root',null);for(const [_0x2d164,_0x133933]of Object['entries'](_0x364ad9))if(null!==_0x133933){const _0x525a08=new _0x37805c(_0xf02fd2,_0x2d164,null,_0x133933,_0x28285c++);_0x1acfc0['push'](_0x525a08);}}return _0x1acfc0;}async['_loadRoot'](_0x168bfe,_0x2813fd,_0x3be367){this['_getOperationsFromInitData']({[_0x168bfe]:_0x2813fd},{[_0x168bfe]:_0x3be367})['forEach']((_0x5bb41f,_0x1fa2ed)=>{_0x5bb41f['baseVersion']=this['_document']['version']+_0x1fa2ed,_0x5bb41f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5bb41f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x559f84,_0x187697){let _0x152c86;this['_offset']=_0x559f84['offset'];const _0x4a6b19=_0x559f84['wereChangesApplied']&&!_0x559f84['initData'],_0x41d0bf=_0x4a6b19?0x0:_0x559f84['data']['baseVersion'];if(_0x187697['forEach'](_0x2d4576=>{_0x2d4576['_isInit']=!0x0,_0x2d4576['createdAt']=_0x559f84['sessionCreatedAt'],_0x2d4576['_authorId']=null;}),_0x4a6b19)_0x152c86=_0x187697,this['_applyOperationsSet'](_0x152c86,_0x4a6b19);else{if(_0x559f84['initData']){const _0x4c4a7e=this['_getOperationsFromInitData'](_0x559f84['initData']);this['_document']['history']['version']=-_0x4c4a7e['length'],_0x4c4a7e['forEach'](_0x341ed4=>{_0x341ed4['baseVersion']-=_0x4c4a7e['length'],_0x341ed4['createdAt']=_0x559f84['sessionCreatedAt'],_0x341ed4['_isInit']=!0x0,_0x341ed4['_authorId']=null;}),this['_applyOperationsSet'](_0x4c4a7e,!0x0),this['serverHistory']['version']=-_0x4c4a7e['length']+this['_offset'],this['_updateServerHistory'](_0x4c4a7e);}this['_document']['history']['version']=_0x41d0bf,_0x152c86=this['_decompressOperations'](_0x559f84['data'],_0x559f84['metadata']),await this['_fetchMissingUsers'](_0x152c86),this['_applyOperationsSet'](_0x152c86,_0x4a6b19);}_0x559f84['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x152c86,_0x559f84['lastOperationId']),this['_lastSyncedOperationId']=_0x559f84['lastOperationId']),this['serverHistory']['version']=_0x41d0bf+this['_offset'],this['_updateServerHistory'](_0x152c86),_0x187697['filter'](_0x2744a6=>{const _0x20e5d7=this['_getAffectedRoot'](_0x2744a6);return _0x20e5d7&&!this['_knownRootNames']['has'](_0x20e5d7);})['forEach']((_0x1d00d0,_0x470a89)=>{_0x1d00d0['baseVersion']=this['_document']['version']+_0x470a89,this['_saveOperationInBuffer'](_0x1d00d0);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x226ccc,_0x5e6157){const _0x23ee6b=_0x5e6157&&_0x5e6157['message'];if(_0x23ee6b&&_0x23ee6b['startsWith']('realtimecollaborationclient'))throw _0x5e6157;const _0x257abc=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x257abc['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xe32300(_0x226ccc,this['editor'],_0x23ee6b?{'originalError':_0x23ee6b}:void 0x0);}['_saveOperationInBuffer'](_0x57ec03){this['_knownOperations']['has'](_0x57ec03)||(this['_knownOperations']['add'](_0x57ec03),this['_bufferedOperations']['push'](_0x57ec03),this['_pendingAction']||'marker'==_0x57ec03['type']&&!_0x57ec03['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5b49c0=!0x1){!_0x5b49c0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xbf1abf=>{_0xbf1abf&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5f0a28=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2558af){return _0x2558af['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2558af['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2558af['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5f0a28)||this['_crash'](_0x5f0a28['message'],_0x5f0a28);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x26d595=>{this['on']('change:_isPendingUpdate',()=>{_0x26d595();});});}async['_sendBufferedOperations'](){const _0x2750a5=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2750a5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x265e6f=[...this['_bufferedOperations']];for(const _0x2b8bf5 of _0x265e6f)_0x2b8bf5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2b8bf5);const _0x3aae54=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x265e6f),_0x490ff4=Z++,_0x4130a8=this['_compressOperations'](_0x265e6f),_0x4b65bb=await this['_service']['sendOperations'](_0x4130a8,_0x4130a8['baseVersion'],_0x3aae54);try{return await this['_handleServerResponse'](_0x265e6f,_0x4b65bb,_0x490ff4);}catch(_0xd3a286){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xd3a286);}}async['_handleServerResponse'](_0x40f905,_0x2d7609,_0x105607){if('error'in _0x2d7609)throw _0x2d7609['error'];let _0x283576=!0x1;if(_0x2d7609['wereChangesApplied']){_0x2d7609['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2d7609['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x583128=>!_0x40f905['includes'](_0x583128));for(const _0x4ca1e4 of _0x40f905)_0x4ca1e4['createdAt']='lastOperationAcceptedAt'in _0x2d7609&&_0x2d7609['lastOperationAcceptedAt']||void 0x0;st(_0x40f905,_0x2d7609['version']-_0x40f905['length']),this['_updateServerHistory'](_0x40f905);const _0x58ea54=_0x40f905['filter'](_0x101873=>{if(!_0x101873['_isInit'])return!0x1;const _0x59da68=this['_getAffectedRoot'](_0x101873);return _0x59da68&&!this['_knownRootNames']['has'](_0x59da68);});st(_0x58ea54,this['_document']['version']),this['_applyOperationsSet'](_0x58ea54),_0x283576=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x171707=this['_decompressOperations'](_0x2d7609['data'],_0x2d7609['metadata'])['filter'](_0x36302a=>_0x36302a['baseVersion']>=this['_lastServerVersion']);_0x171707['forEach'](_0xe5dfd1=>this['_addKnownRoot'](_0xe5dfd1)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x546edc=>!_0x546edc['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x546edc))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x171707),_0x283576=this['_handleExternalOperations'](_0x171707,_0x2d7609['version'],_0x2d7609['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x283576?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x41eb8c,_0x5cb972,_0xe7236a){try{const _0x5c0e29={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2a8cb0,operationsB:_0x449961,originalOperations:_0x26f3c6}=_0x704f48(_0x41eb8c,this['_bufferedOperations'],_0x5c0e29);st(_0x2a8cb0,this['_document']['version']),st(_0x449961,_0x5cb972);for(const _0x2ce8a9 of _0x2a8cb0){const _0x4d7c19=_0x26f3c6['get'](_0x2ce8a9);_0x2ce8a9['_authorId']=_0x4d7c19?_0x4d7c19['_authorId']:null;}_0xe7236a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x41eb8c,_0xe7236a),this['_lastSyncedOperationId']=_0xe7236a),this['_bufferedOperations']=[..._0x449961],this['_applyOperationsSet'](_0x2a8cb0),this['_updateServerHistory'](_0x41eb8c);}catch(_0x530fad){return console['error'](_0x530fad),!0x1;}return!0x0;}['_applyOperationsSet'](_0x235348,_0x976b55=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x50bfd7=>{for(const _0x3989cb of _0x235348)this['_knownOperations']['add'](_0x3989cb),this['_addKnownRoot'](_0x3989cb),_0x50bfd7['batch']['addOperation'](_0x3989cb),this['editor']['model']['applyOperation'](_0x3989cb);});}['_addKnownRoot'](_0x545069){const _0x211d16=this['_getAffectedRoot'](_0x545069);_0x211d16&&this['_knownRootNames']['add'](_0x211d16);}['_getAffectedRoot'](_0x2f69bc){let _0x31ae32,_0x4ce046;switch(_0x2f69bc['type']){case'insert':_0x31ae32=_0x2f69bc['position']['root'];break;case'marker':if(_0x4ce046=_0x2f69bc['newRange'],!_0x4ce046)return null;_0x31ae32=_0x4ce046['root'];break;case'addRootAttribute':_0x31ae32=_0x2f69bc['root'];break;case'addRoot':_0x31ae32=_0x2f69bc['affectedSelectable'];break;case'move':_0x31ae32=_0x2f69bc['targetPosition']['root'];break;default:return null;}return _0x31ae32['rootName'];}['_updateServerHistory'](_0x4e3399){_0x4e3399['forEach'](_0x3b3bea=>{const _0x40e770=_0x3b3bea['clone']();_0x40e770['_authorId']=_0x3b3bea['_authorId'],_0x40e770['_isInit']=!!_0x3b3bea['_isInit'],_0x40e770['createdAt']=_0x3b3bea['createdAt'],_0x40e770['baseVersion']+=this['_offset'],_0x3b3bea['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x40e770),this['serverHistory']['addOperation'](_0x40e770);});}['_handleReconnectionError'](_0x114631){const _0x4f4c21=this['editor']['plugins']['get']('Notification'),_0x395985=this['editor']['locale'];_0x114631||(_0x114631=X(_0x395985,'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.')),_0x4f4c21['showWarning'](_0x114631,{'title':X(_0x395985,'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'](_0x5e8c5f)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5e8c5f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x49914b){const _0x5a8498=_0x49914b['map'](_0x563aec=>_0x563aec['toJSON']());return this['_compressor']['compress'](_0x5a8498);}['_decompressOperations'](_0x25e0ca,_0x37b01f){return this['_compressor']['decompress'](_0x25e0ca)['map']((_0x1a80a3,_0x4aa49b)=>{const _0xcb57a2='init'==_0x37b01f[_0x4aa49b]['type'];if('InsertOperation'==_0x1a80a3['__className']){const _0x15b7d4=_0x1a80a3['position']['root'];!this['_document']['getRoot'](_0x15b7d4)&&(this['_document']['createRoot']('$root',_0x15b7d4)['_isAttached']=!0x1);}const _0x589a83=_0xf2f158['fromJSON'](_0x1a80a3,this['_document']);return _0x589a83['wasUndone']=_0x1a80a3['wasUndone'],_0x589a83['_isInit']=_0xcb57a2,_0x589a83['_authorId']=_0xcb57a2?null:_0x37b01f[_0x4aa49b]['userId'],_0x589a83['_isDisconnection']='cs:removeUser'===_0x37b01f[_0x4aa49b]['type'],_0x589a83['createdAt']=_0x37b01f[_0x4aa49b]['createdAt'],_0x589a83;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x946976=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x946976&&_0x946976['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x402d66,_0x337bfc){for(const _0x53579b of _0x402d66)_0x53579b['baseVersion']=_0x337bfc++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x19d132){this['_ignoredOperations']=_0x19d132,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4478a0){let _0x45bf7b=_0x4478a0['length'];for(;_0x45bf7b--;){const _0x4220e1=_0x4478a0[_0x45bf7b];if(!this['_ignoredOperations']['has'](_0x4220e1)){if(!this['_operationToId']['has'](_0x4220e1)){const _0x984ee9=_0x494522()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4220e1,_0x984ee9);}return this['_operationToId']['get'](_0x4220e1);}}}['setIdForTheLastOperation'](_0x377fb2,_0x4481a8){if(!_0x4481a8)return;let _0x18255c=_0x377fb2['length'];for(;_0x18255c--;){const _0x4c23f2=_0x377fb2[_0x18255c];this['_ignoredOperations']['has'](_0x4c23f2)||this['_operationToId']['set'](_0x4c23f2,_0x4481a8);}}}class nt extends _0x281793{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xef80a1{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x79be79)());['_services'];static get['requires'](){return[z,_0x5be5e5,Y,_0x4c102a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x315847){super(_0x315847),this['_services']=new Map();}async['init'](){const _0x114fc6=this['context'],_0x4cf224=_0x114fc6['plugins']['get'](_0x5be5e5);if(_0x114fc6['plugins']['get'](z)['addToReconnectionStack'](this),_0x4cf224['adapter']={'addCommentThread':async({channelId:_0x2d1d60,threadId:_0x34e003,comments:_0x11c99a,resolvedAt:_0x283ac7,resolvedBy:_0x5c02a,context:_0x15c445,attributes:_0x1b5809})=>{const _0x2d0cc0=await this['_getService'](_0x2d1d60)['addCommentThread']({'commentThreadId':_0x34e003,'comments':_0x11c99a['map'](_0x21f76c=>function(_0x252588,_0x5ec92d,_0x37f98e){return{'commentThreadId':_0x37f98e,'commentId':_0x252588['commentId'],'userId':_0x252588['authorId'],'content':_0x252588['content'],'documentId':_0x5ec92d,'createdAt':_0x252588['createdAt'],'attributes':_0x252588['attributes']||{}};}(_0x21f76c,_0x2d1d60,_0x34e003)),'resolvedAt':_0x283ac7,'resolvedBy':_0x5c02a,'context':_0x15c445,'attributes':_0x1b5809})['catch'](ct);return{'threadId':_0x2d0cc0['commentThreadId'],'comments':_0x2d0cc0['comments']};},'getCommentThread':async({channelId:_0x4c85c8,threadId:_0x25e721})=>{const _0x16142c=await this['_getService'](_0x4c85c8)['getCommentThread'](_0x25e721)['catch'](rt)['catch'](ct);return _0x16142c?_0x16142c['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x16142c]),{'threadId':_0x16142c['commentThreadId'],'comments':_0x16142c['comments']['map'](at),'context':_0x16142c['context'],'resolvedAt':_0x16142c['resolvedAt'],'resolvedBy':_0x16142c['resolvedBy'],'attributes':_0x16142c['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5aee4,threadId:_0x2a9109,context:_0x52faba,unlinkedAt:_0x16133d,attributes:_0x3ca8f9})=>this['_getService'](_0x5aee4)['updateCommentThread']({'commentThreadId':_0x2a9109,'context':_0x52faba,'attributes':_0x3ca8f9,'unlinkedAt':_0x16133d})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x1ba3fb,threadId:_0x53cd89})=>{const _0x2b44b2=await this['_getService'](_0x1ba3fb)['resolveCommentThread'](_0x53cd89)['catch'](rt)['catch'](ct);return{'threadId':_0x2b44b2['commentThreadId'],'resolvedAt':_0x2b44b2['resolvedAt'],'resolvedBy':_0x2b44b2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x864210,threadId:_0x1014af})=>this['_getService'](_0x864210)['reopenCommentThread'](_0x1014af)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3363e6,threadId:_0x570995})=>this['_getService'](_0x3363e6)['removeCommentThread'](_0x570995)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x394f71,threadId:_0x2eb9d6,commentId:_0x52d4c2,content:_0x3e670c,attributes:_0x138212})=>this['_getService'](_0x394f71)['addComment'](_0x2eb9d6,_0x52d4c2,_0x3e670c,_0x138212)['catch'](ct),'updateComment':({channelId:_0x264878,threadId:_0x8a28c3,commentId:_0x1644fc,content:_0x4a4b1c,attributes:_0x406907})=>this['_getService'](_0x264878)['updateComment'](_0x8a28c3,_0x1644fc,_0x4a4b1c,_0x406907)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x2c0a10,threadId:_0x5d761b,commentId:_0x1d94fe})=>this['_getService'](_0x2c0a10)['removeComment'](_0x5d761b,_0x1d94fe)['catch'](rt)['catch'](ct)},_0x114fc6 instanceof _0x5407be){const _0x1053d3=_0x114fc6['config']['get']('collaboration.channelId'),_0x5d5f5b=_0x114fc6['plugins']['get'](Y);await this['_setUpService'](_0x1053d3);const _0x5d999f=await this['_services']['get'](_0x1053d3)['getConnectedSessions']();this['listenTo'](_0x5d5f5b,'sessionAdd:'+_0x1053d3,(_0xfb2ddf,{session:_0x517302})=>{_0x517302['id']===_0x5d5f5b['mySessionId']&&(_0xfb2ddf['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x517302['permissions'],_0x1053d3));}),_0x5d5f5b['register'](_0x1053d3,_0x5d999f);}}async['_setUpService'](_0x576fe3){if(this['_services']['has'](_0x576fe3))throw new _0xe32300('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x576fe3});const _0x3697f8=this['context']['plugins']['get'](_0x5be5e5),_0x13e1ef=new ot['CommentsService'](_0x576fe3);this['_services']['set'](_0x576fe3,_0x13e1ef),this['listenTo'](_0x13e1ef,'commentThreadAdded',(_0xca40,_0x79c679)=>{const {commentThreadId:_0x23828d,documentId:_0x1d7849,context:_0x2f8618,attributes:_0x1dd513,resolvedAt:_0x32db7e,resolvedBy:_0x52934f,comments:_0x1c319a}=_0x79c679;_0x3697f8['getCommentThread'](_0x23828d)||_0x3697f8['addCommentThread']({'threadId':_0x23828d,'channelId':_0x1d7849,'comments':_0x1c319a?_0x1c319a['map'](at):[],'context':_0x2f8618,'attributes':_0x1dd513,'resolvedAt':_0x32db7e,'resolvedBy':_0x52934f,'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadUpdated',(_0x585ed8,{commentThreadId:_0x584e77,documentId:_0x5a9e07,context:_0x595ba4,unlinkedAt:_0xa56c15,attributes:_0x15bf31})=>{_0x3697f8['getCommentThread'](_0x584e77)&&_0x3697f8['updateCommentThread']({'threadId':_0x584e77,'channelId':_0x5a9e07,'context':_0x595ba4,'unlinkedAt':_0xa56c15,'attributes':_0x15bf31,'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadResolved',(_0x370493,{commentThreadId:_0x184db6,resolvedBy:_0x3c0fc4,resolvedAt:_0x343b0f})=>{const _0x14b2a6=_0x3697f8['getCommentThread'](_0x184db6);_0x14b2a6&&_0x14b2a6['resolve']({'resolvedBy':_0x3c0fc4,'resolvedAt':_0x343b0f,'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadReopened',(_0x2add94,{commentThreadId:_0x5165aa})=>{const _0x11b002=_0x3697f8['getCommentThread'](_0x5165aa);_0x11b002&&_0x11b002['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadRemoved',(_0x14ac90,{commentThreadId:_0x19f224})=>{const _0x134af1=_0x3697f8['getCommentThread'](_0x19f224);_0x134af1&&_0x134af1['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentAdded',(_0x5aee0f,_0x3f35fa)=>{const _0x155b1b=_0x3f35fa['commentThreadId'],_0x70837b=_0x3697f8['getCommentThread'](_0x155b1b);_0x70837b&&_0x70837b['addComment']({...at(_0x3f35fa),'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentUpdated',(_0x3f40a7,{commentThreadId:_0x30651c,commentId:_0x2b4cca,content:_0x3fbbf0,attributes:_0x344bd})=>{const _0x34bbc4=_0x3697f8['getCommentThread'](_0x30651c);if(_0x34bbc4){const _0x31714e=_0x34bbc4['getComment'](_0x2b4cca);_0x31714e&&_0x31714e['update']({'content':_0x3fbbf0,'attributes':_0x344bd,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13e1ef,'commentRemoved',(_0x2eecc1,{commentThreadId:_0xa67bd4,commentId:_0x544ec2})=>{const _0x35fec6=_0x3697f8['getCommentThread'](_0xa67bd4);if(_0x35fec6){const _0x30bd80=_0x35fec6['getComment'](_0x544ec2);_0x30bd80&&_0x30bd80['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x576fe3);}['destroy'](){if(this['context']instanceof _0x5407be){const _0x17e50b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x17e50b);}}['_terminateService'](_0xf5151){if(!this['_services']['has'](_0xf5151))throw new _0xe32300('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xf5151});this['_getService'](_0xf5151)['disconnect'](),this['_services']['delete'](_0xf5151);}async['reconnect'](){for(const _0x4cae68 of this['_services']['keys']())await this['_connectService'](_0x4cae68);if(this['context']instanceof _0x5407be){const _0x1289a2=this['context']['config']['get']('collaboration.channelId'),_0x21da19=this['context']['plugins']['get'](Y);_0x21da19['unregister'](_0x1289a2);const _0x330d35=await this['_services']['get'](_0x1289a2)['getConnectedSessions']();_0x21da19['register'](_0x1289a2,_0x330d35);}}async['_connectService'](_0x5aeb53){const {connection:_0x28ba69}=this['context']['plugins']['get'](z),_0x5a5681=this['context']['plugins']['get'](_0x5be5e5),_0x336038=this['_services']['get'](_0x5aeb53),_0x250de1=await _0x336038['connect'](_0x28ba69);await this['_fetchMissingUsersForThreads'](_0x250de1);const _0x483632=new Set(Array['from'](_0x5a5681['getCommentThreads']({'channelId':_0x5aeb53}),_0x5bb9b1=>_0x5bb9b1['id']));for(const _0x48a61c of _0x250de1)_0x48a61c['deletedAt']||_0x483632['delete'](_0x48a61c['commentThreadId']);for(const _0x43007c of _0x483632)_0x5a5681['getCommentThread'](_0x43007c)['remove']({'isFromAdapter':!0x0});for(const _0x632af9 of _0x250de1){let _0x38c566=_0x5a5681['getCommentThread'](_0x632af9['commentThreadId']);const {commentThreadId:_0x4490a6,context:_0x1c092e,attributes:_0x5ab3cf,resolvedBy:_0x46546a,resolvedAt:_0x3df113,unlinkedAt:_0x125eac,deletedAt:_0x39caa7}=_0x632af9;if(_0x39caa7)continue;_0x38c566||(_0x38c566=_0x5a5681['addCommentThread']({'channelId':_0x5aeb53,'threadId':_0x4490a6,'context':_0x1c092e,'attributes':_0x5ab3cf||{},'resolvedBy':_0x46546a,'resolvedAt':_0x3df113,'unlinkedAt':_0x125eac,'isFromAdapter':!0x0}));const _0x6f9c11=new Set(Array['from'](_0x38c566['comments'],_0x2fd450=>_0x2fd450['id']));for(const _0x1c1304 of _0x632af9['comments'])_0x6f9c11['delete'](_0x1c1304['commentId']);for(const _0x31f8cc of _0x6f9c11)_0x38c566['getComment'](_0x31f8cc)['remove']({'isFromAdapter':!0x0});for(const _0x2293b2 of _0x632af9['comments']){const _0x1e41d9=_0x38c566['getComment'](_0x2293b2['commentId']);_0x1e41d9?_0x1e41d9['content']!==_0x2293b2['content']&&_0x1e41d9['update']({'content':_0x2293b2['content'],'isFromAdapter':!0x0}):_0x38c566['addComment'](Object['assign'](at(_0x2293b2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4176ac){if(!this['_services']['has'](_0x4176ac))throw new _0xe32300('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4176ac});return this['_services']['get'](_0x4176ac);}async['_fetchMissingUsersForThreads'](_0x2ab6d5){const _0x6949bc=this['context']['plugins']['get'](_0x4c102a),{connection:_0x1c0f42}=this['context']['plugins']['get'](z),_0x3bf999=new Set();for(const {resolvedBy:_0x514cb8,comments:_0x57b70a}of _0x2ab6d5){_0x514cb8&&!_0x6949bc['getUser'](_0x514cb8)&&_0x3bf999['add'](_0x514cb8);for(const {userId:_0x16329e}of _0x57b70a)_0x6949bc['getUser'](_0x16329e)||_0x3bf999['add'](_0x16329e);}if(0x0===_0x3bf999['size'])return;const _0xdea67a=await _0x381d6e['getMany'](_0x1c0f42,Array['from'](_0x3bf999));for(const _0x3f6de9 of _0xdea67a)_0x6949bc['getUser'](_0x3f6de9['id'])||_0x6949bc['addUser'](_0x3f6de9);}}async function rt(_0x5969bd){if('404'!==_0x5969bd['code'])throw _0x5969bd;}function ct(_0x4885e0){if((_0x1ead34=_0x4885e0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1ead34['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1ead34['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1ead34;throw _0x4885e0;}function at(_0x35d293){return{'threadId':_0x35d293['commentThreadId'],'commentId':_0x35d293['commentId'],'content':_0x35d293['content'],'createdAt':_0x35d293['createdAt'],'authorId':_0x35d293['userId'],'attributes':_0x35d293['attributes']||{}};}class ht extends _0x281793{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x46718a)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x539b66,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x287059){super(_0x287059);const _0xd34248=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0xd34248);}['init'](){const _0x151b68=this['editor']['plugins']['get'](z),_0x146423=this['editor']['plugins']['get'](_0x539b66);return _0x146423['adapter']={'getSuggestion':async _0x31e13f=>{await this['_waitForServiceReady']();const _0x27a790=await this['_trackChangesService']['get'](_0x31e13f)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x27a790]),_0x27a790;},'addSuggestion':async({id:_0x40cb19,type:_0x8ae60d,data:_0x434081,originalSuggestionId:_0x34a135,attributes:_0x3ef200})=>{await this['_waitForServiceReady']();const _0x2edbdf={'id':_0x40cb19,'type':_0x8ae60d,'data':_0x434081,'originalSuggestionId':_0x34a135,'attributes':_0x3ef200},_0x2b0c94=await this['_trackChangesService']['add'](_0x40cb19,_0x8ae60d,_0x434081,_0x34a135,_0x3ef200)['catch'](_0x5c64af=>{if(dt(_0x5c64af))return new Promise(_0x10bf5c=>{this['_bufferedRequests']['set'](_0x40cb19,{'resolve':_0x10bf5c,'suggestionData':_0x2edbdf});});throw _0x5c64af;});return this['_bufferedRequests']['delete'](_0x40cb19),_0x2b0c94;},'updateSuggestion':async(_0x429215,_0x287c8a)=>{if(await this['_waitForServiceReady'](),'open'!==_0x287c8a['state'])return this['_trackChangesService']['update'](_0x429215,_0x287c8a)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x20d642,_0x4fcdce)=>{_0x146423['hasSuggestion'](_0x4fcdce['id'])&&(_0x146423['getSuggestion'](_0x4fcdce['id'])['attributes']=_0x4fcdce['attributes']);}),this['_trackChangesService']['connect'](_0x151b68['connection'])['then'](_0x20139e=>(_0x151b68['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x20139e)['then'](()=>{for(const _0x48a7f0 of _0x20139e){_0x146423['addSuggestionData'](_0x48a7f0)['_saved']=!0x0;}})));}async['reconnect'](){const _0xfa26b8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4b1282}=this['editor']['plugins']['get'](z),_0x59fffd=await this['_trackChangesService']['connect'](_0x4b1282);await this['_fetchMissingUsersForThreads'](_0x59fffd);for(const {suggestionData:_0x2a2d33,resolve:_0x3e1082}of this['_bufferedRequests']['values']()){let _0x5ecbef=_0x59fffd['find'](_0x37cc6e=>_0x37cc6e['id']===_0x2a2d33['id']);_0x5ecbef||(_0x5ecbef=await this['_trackChangesService']['add'](_0x2a2d33['id'],_0x2a2d33['type'],_0x2a2d33['data'],_0x2a2d33['originalSuggestionId'])),_0x3e1082(_0x5ecbef);}for(const _0x25cb15 of _0x59fffd)_0xfa26b8['hasSuggestion'](_0x25cb15['id'])||_0xfa26b8['addSuggestionData'](_0x25cb15);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x158f6c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x19a360=>{_0x19a360['off'](),_0x158f6c();});});}async['_fetchMissingUsersForThreads'](_0x2f47a4){const _0x288996=this['editor']['plugins']['get'](_0x4c102a),{connection:_0xb6fc8c}=this['editor']['plugins']['get'](z),_0x4a8882=new Set();for(const {authorId:_0x3d1822}of _0x2f47a4)_0x288996['getUser'](_0x3d1822)||_0x4a8882['add'](_0x3d1822);if(0x0===_0x4a8882['size'])return;const _0x2b3585=await _0x381d6e['getMany'](_0xb6fc8c,Array['from'](_0x4a8882));for(const _0x2c3196 of _0x2b3585)_0x288996['getUser'](_0x2c3196['id'])||_0x288996['addUser'](_0x2c3196);}}function lt(_0x4c2b5c){if(dt(_0x4c2b5c))return new Promise(()=>{});throw _0x4c2b5c;}function dt(_0x4295f0){return _0x4295f0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4295f0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x281793{static get['requires'](){return[_0x186826,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2a4f3a=this['editor']['plugins']['get'](z),_0xc7a8bb=this['editor']['plugins']['get'](_0x59426b),_0x51a8c7=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2a4f3a,'change:state',(_0x2c16d8,_0x1fde6a,_0x1eca1d)=>{_0xc7a8bb['isThreadsLoadingPaused']='connected'!==_0x1eca1d;});}),this['listenTo'](_0x2a4f3a,'change:state',(_0x1e86ea,_0x5e1c65,_0x5c03a0)=>{this['editor']['plugins']['get'](_0x5be5e5)['switchReadOnly']('connected'!==_0x5c03a0);}),_0x51a8c7['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x281793{static get['requires'](){return[ut,ht,_0xadf793];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x281793{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x1279c1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x4a2d92,Y,_0x4c102a];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x45d2d4){super(_0x45d2d4);const _0x2c68fa=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x2c68fa);}async['init'](){const _0x1f2c60=this['editor']['plugins']['get'](tt),_0x3f5c18=_0x1f2c60['serverHistory'],_0x270837=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3f5c18,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1f2c60['sessionId']});const _0x199c0b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5909bb,_0x9cd8e2=await _0x33edb5['isBundleUploaded'](_0x270837['connection'],_0x199c0b);this['editor']['plugins']['get'](_0x4a2d92)['adapter']={'getRevision':async({revisionId:_0xb7c13b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xb7c13b)),'updateRevisions':async _0x12f76c=>{await this['_waitForServiceReady']();const _0x63ac8d=this['_revisionTracker']['currentRevision'];if(_0x9cd8e2&&0x1===_0x12f76c['length']&&_0x12f76c[0x0]['id']===_0x63ac8d['id'])return _0x12f76c;for(const _0x10ec33 of _0x12f76c)_0x10ec33['id']===_0x63ac8d['id']&&(_0x10ec33['isEmptyCurrent']=_0x10ec33['fromVersion']===_0x10ec33['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x12f76c,this['_lastRequestId'])['then'](_0x2f6725=>(this['_lastRequestId']=_0x2f6725,_0x12f76c))['catch'](_0x45ff86=>{if(pt(_0x45ff86)||'400'===_0x45ff86['code']&&void 0x0!==_0x45ff86['data']['wrongRequestId']){for(const _0x30642a of _0x12f76c){!this['_revisionTracker']['repository']['getRevision'](_0x30642a['id'])||this['_revisionTracker']['_bufferUpdate'](_0x30642a['id'],_0x30642a,!0x1);}if(pt(_0x45ff86))throw _0x45ff86;return _0x12f76c;}throw _0x45ff86;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xae9868,{revisionsData:_0x30c160,requestId:_0x4b245b})=>{Math['max'](..._0x30c160['map'](_0x188d0f=>_0x188d0f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x30c160,_0x4b245b);}):this['_handleRevisionsUpdate'](_0x30c160,_0x4b245b);});const {revisions:_0x334f68,requestId:_0x3b187e}=await this['_revisionHistoryService']['connect'](_0x270837['connection']);_0x270837['addToReconnectionStack'](this),this['_lastRequestId']=_0x3b187e,await this['_fetchMissingUsers'](_0x334f68);for(const _0x229eb8 of _0x334f68)this['_revisionTracker']['addRevisionData'](_0x229eb8);this['listenTo'](_0x1f2c60,'change:_isConnected',(_0x5b3e39,_0x4fce2e,_0x3f518b)=>{_0x3f518b&&(this['_oldOffset']=_0x1f2c60['_offset'],_0x5b3e39['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x270837,'state',_0x3300eb=>_0x3300eb===_0x353716['CONNECTED']);}async['reconnect'](){const _0x2c1d2a=this['editor']['plugins']['get'](z),_0x35e547=this['editor']['plugins']['get'](tt),_0x42c32e=async()=>{const _0xfa4f20=this['_revisionTracker']['currentRevision'],_0x2dedc2=_0xfa4f20['id'],_0x3d20e1=_0x2dedc2!==_0x35e547['sessionId'];if(_0x3d20e1){const _0x116c8a=_0x35e547['_offset']-this['_oldOffset'],_0x4a14ca=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xfa4f20['toVersion']+_0x116c8a!==_0x4a14ca){const _0x44cdc4=_0xfa4f20['fromVersion']+_0x116c8a,_0x377c44=this['editor']['plugins']['get'](_0x4c102a),_0x195b01=this['_revisionTracker']['buildRevisionData']({'revision':_0xfa4f20,'from':_0x44cdc4,'to':_0x4a14ca});_0x195b01['id']=_0xfa4f20['id'];const _0xca04ce=_0x195b01['authorsIds']['map'](_0x1203cd=>_0x377c44['getUser'](_0x1203cd));_0xfa4f20['_update']({..._0x195b01,'authors':_0xca04ce},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xfa4f20['id'],_0x195b01,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4a14ca,(_0xfa4f20['toVersion']===_0xfa4f20['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2dedc2)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2dedc2),this['_revisionTracker']['_createCurrentRevision'](_0x4a14ca));}const {revisions:_0x163434,requestId:_0x58eee0}=await this['_revisionHistoryService']['reconnect'](_0x2c1d2a['connection'],this['_lastRequestId']);_0x3d20e1&&_0x163434['length']>0x0?_0x35e547['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x163434),this['_handleRevisionsUpdate'](_0x163434,_0x58eee0),this['_revisionTracker']['sendBufferedUpdates']());};return _0x35e547['_isConnected']?_0x42c32e():new Promise((_0x8b30c3,_0xc32b27)=>{_0x35e547['once']('change:_isConnected',()=>{_0x42c32e()['then'](_0x8b30c3)['catch'](_0xc32b27);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x16a3cb=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x310cf6=>{_0x310cf6['off'](),_0x16a3cb();});});}['_getLatestVersionFromServerOperations'](){const _0xa91e2a=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x557281 of _0xa91e2a)if('marker'!==_0x557281['type']||_0x557281['affectsData'])return _0x557281['baseVersion']+0x1;}['_getLatestVersion'](){const _0x30b834=this['editor']['plugins']['get'](tt);return new Promise(_0x5bf8e1=>{_0x30b834['_isPendingUpdate']?_0x30b834['once']('change:_isPendingUpdate',()=>{_0x5bf8e1(this['_getLatestVersionFromServerOperations']());}):_0x5bf8e1(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x241055,_0x57d473){const _0x1a4a08=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x57d473;for(const _0x4b0cc9 of _0x241055){const _0x1d22c9=_0x1a4a08['getRevision'](_0x4b0cc9['id']);if(_0x1d22c9){if((_0x4b0cc9['fromVersion']||_0x4b0cc9['toVersion'])&&(_0x4b0cc9['diffData']=null),_0x1d22c9===this['_revisionTracker']['currentRevision']){const _0x4f58d7=Math['max'](_0x1d22c9['toVersion'],_0x4b0cc9['toVersion']),_0x35afc4=Math['max'](_0x1d22c9['fromVersion'],_0x4b0cc9['fromVersion']);let _0x2344b7;_0x1d22c9['toVersion']===_0x4b0cc9['toVersion']&&_0x1d22c9['fromVersion']===_0x4b0cc9['fromVersion']?(_0x2344b7=!0x0,this['_preventResendingRevisionData'](_0x4b0cc9)):_0x4b0cc9['toVersion']===_0x4f58d7&&_0x4b0cc9['fromVersion']===_0x35afc4?_0x2344b7=!0x1:(_0x1d22c9['toVersion']===_0x4f58d7&&_0x1d22c9['fromVersion']===_0x35afc4||this['_fixRevision']({'revision':_0x1d22c9,'from':_0x35afc4,'to':_0x4f58d7}),_0x2344b7=!0x0),_0x2344b7&&(delete _0x4b0cc9['fromVersion'],delete _0x4b0cc9['toVersion'],delete _0x4b0cc9['diffData'],delete _0x4b0cc9['createdAt'],delete _0x4b0cc9['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4b0cc9),this['_preventResendingRevisionData'](_0x4b0cc9);}else this['_revisionTracker']['addRevisionData'](_0x4b0cc9);}const _0x1b3a49=_0x1a4a08['getRevisions']();_0x1b3a49['reverse']();for(let _0x7bbf3d=0x0;_0x7bbf3d<_0x1b3a49['length']-0x1;_0x7bbf3d++){const _0xd39329=_0x1b3a49[_0x7bbf3d],_0x409c0b=_0x1b3a49[_0x7bbf3d+0x1];if(_0xd39329['fromVersion']<_0x409c0b['toVersion']){const _0xdc2963=_0x409c0b['toVersion'],_0x1db7ea=Math['max'](_0xdc2963,_0xd39329['toVersion']);this['_fixRevision']({'revision':_0xd39329,'from':_0xdc2963,'to':_0x1db7ea});}}}['_fixRevision']({revision:_0x4292bd,from:_0x5ce29c,to:_0x4d0549}={}){const _0x435611=this['editor']['plugins']['get'](_0x4c102a),_0x1ac3c2=this['_revisionTracker']['buildRevisionData']({'revision':_0x4292bd,'from':_0x5ce29c,'to':_0x4d0549});_0x1ac3c2['authors']=_0x1ac3c2['authorsIds']['map'](_0x216f27=>_0x435611['getUser'](_0x216f27)),_0x4292bd['_update'](_0x1ac3c2);}['_preventResendingRevisionData'](_0x25fbe2){const _0x3fa6ee={};_0x3fa6ee['id']=_0x25fbe2['id'];for(const _0x5d39b0 of Object['keys'](_0x25fbe2))'id'!==_0x5d39b0&&(_0x3fa6ee[_0x5d39b0]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3fa6ee['id'],_0x3fa6ee,!0x0);}async['_fetchMissingUsers'](_0x5813e3){const _0x25ac5c=this['editor']['plugins']['get'](_0x4c102a),{connection:_0x525774}=this['editor']['plugins']['get'](z),_0x6a5e47=new Set();for(const _0x20e311 of _0x5813e3){for(const _0x451af0 of _0x20e311['authorsIds'])_0x308b0a(_0x451af0);_0x20e311['creatorId']&&_0x308b0a(_0x20e311['creatorId']);}if(0x0===_0x6a5e47['size'])return;const _0x3dced9=await _0x381d6e['getMany'](_0x525774,Array['from'](_0x6a5e47));for(const _0x30fd18 of _0x3dced9)_0x25ac5c['getUser'](_0x30fd18['id'])||_0x25ac5c['addUser'](_0x30fd18);function _0x308b0a(_0x4a1533){_0x25ac5c['getUser'](_0x4a1533)||_0x6a5e47['add'](_0x4a1533);}}}function pt(_0x13ce86){return _0x13ce86['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x13ce86['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x13ce86['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x281793{static get['requires'](){return[_0x4a2d92,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1a3fd9{['_collapseAt'];constructor(_0x35b08f,_0x36ca70=0x6){super(_0x35b08f);const _0x2cf073=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x36ca70,this['bind']('isHidden')['to'](this,'usersCount',_0x1a7a5e=>_0x1a7a5e<_0x36ca70),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2cf073['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':_0x2cf073['to']('usersCount',_0xc90901=>'+'+(_0xc90901-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1a3fd9{['items'];['keystrokes'];constructor(_0x2d89ac){super(_0x2d89ac);const _0xad72b6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x42e44d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xad72b6['if']('hasPopup'),'aria-expanded':_0xad72b6['to']('isExpanded',_0x4f53f9=>this['hasPopup']&&String(_0x4f53f9)),'aria-label':_0xad72b6['to']('hasPopup',_0xc7ff6a=>X(_0x2d89ac,_0xc7ff6a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xad72b6['to']('hasPopup',_0x26bbed=>!!_0x26bbed&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xad72b6['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xad72b6['to'](_0x38eab4=>{const _0x223d05=_0x38eab4,_0x390e29=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5476b7=document['querySelector']('.ck-balloon-panel_with-arrow');_0x390e29?.['contains'](_0x223d05['relatedTarget'])||_0x5476b7?.['contains'](_0x223d05['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4703b7,_0x1f2a49,_0x17336d)=>{this['element']&&(_0x17336d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x1a3fd9{['counterView'];['inlineListView'];constructor(_0x1407a1,_0x261bcd=0x6){super(_0x1407a1);const _0x1c5a79=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x261bcd),this['inlineListView']=new vt(_0x1407a1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x545649 of this['inlineListView']['items'])_0x545649['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',_0x1c5a79['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1a3fd9{['listWrapperView'];constructor(_0xd5ff0b,_0x3a2419){super(_0xd5ff0b);const _0x5ab109=this['bindTemplate'];this['listWrapperView']=new bt(_0xd5ff0b,_0x3a2419),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xd5ff0b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5ab109['to'](_0x210488=>{const _0x511fc1=_0x210488,_0x24c26c=document['querySelector']('.ck-presence-list__list'),_0xcbcaa3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x24c26c?.['contains'](_0x511fc1['relatedTarget'])||_0xcbcaa3?.['contains'](_0x511fc1['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x37da38{constructor(_0x19a2d9,_0x4ff1d0){super(_0x19a2d9);const _0x403eb3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4ff1d0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x403eb3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x403eb3['to']('role'),'aria-label':_0x403eb3['to']('ariaLabel'),'aria-labelledby':_0x403eb3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x28e582['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x28d823=this['element'];_0x28d823&&(this['_isScrollable']=Math['max'](_0x28d823['scrollHeight'],_0x28d823['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x2c00f3{['userView'];constructor(_0xcd8f4c,_0x37dcaf,_0x316a62){super(_0xcd8f4c);const _0x571214=this['bindTemplate'];this['userView']=new _0x2d3ca6(_0xcd8f4c,_0x37dcaf);const _0x42bf6c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x37dcaf['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x37dcaf['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x37dcaf['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x37dcaf['color']['getColorVariable'](),'--ck-user-color-alpha':_0x37dcaf['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x316a62&&(_0x42bf6c['tag']='button',_0x42bf6c['on']={'click':_0x571214['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x42bf6c);}['focus'](){this['element']['focus']();}}class It extends _0x1a3fd9{['userView'];['markerView'];constructor(_0x1a621b,_0x5d9a3d,_0x30ef91){super(_0x1a621b);const _0x2c245c=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x2d3ca6(_0x1a621b,_0x5d9a3d),this['markerView']=new St(_0x1a621b,_0x5d9a3d);const _0x2fc1b0=new _0x35c56a(_0x1a621b);_0x2fc1b0['template']['tag']='span',_0x2fc1b0['text']=_0x5d9a3d['name'];const _0x5097a3={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2c245c['to']('isFocusable',_0x258d5a=>!!_0x258d5a&&0x0),'aria-labelledby':_0x2fc1b0['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2c245c['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2c245c['to']('hasTooltip',_0x1fbb69=>!_0x1fbb69),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2fc1b0]};_0x30ef91&&(_0x5097a3['tag']='button',_0x5097a3['on']={'click':_0x2c245c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5097a3);}}class St extends _0x1a3fd9{constructor(_0x433b5a,_0x484420){super(_0x433b5a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x484420['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x484420['color']['getColorVariable'](),'--ck-user-color-alpha':_0x484420['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xef80a1{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5d78a7){super(_0x5d78a7),this['context']['config']['define']('presenceList',Tt);const _0x1cd169=_0x5d78a7['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1cd169)throw new _0xe32300('presencelist-collapseat-invalid-format',this);if(_0x1cd169<0x1)throw new _0xe32300('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c5641(),this['balloonPanelView']=new _0x553bc5(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x359c9c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x359c9c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3657cc,_0x1155a2)=>{this['_handleUserAdd'](_0x1155a2);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x28fd30,_0x157ead)=>{this['_handleUserRemove'](_0x157ead);});}['_createView'](){const _0x1f3cc9=this['context'],_0x3dcd4f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4188e2=this['balloonPanelView'];if(!_0x1ed9b4(_0x1f3cc9['config']['get']('presenceList.container')))throw new _0xe32300('presencelist-missing-container',this);return _0x3dcd4f['counterView']['bind']('usersCount')['to'](this),_0x3dcd4f['bind']('isCollapsed')['to'](this,'usersCount',_0x1d197d=>{const {collapseAt:_0x26442f}=_0x1f3cc9['config']['get']('presenceList'),_0x1959ca=_0x1d197d>=_0x26442f;if(_0x1959ca&&!_0x3dcd4f['inlineListView']['items']['find'](_0x244959=>_0x244959 instanceof wt)){const _0x319aee=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x319aee&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3dcd4f['inlineListView']['items']['add'](_0x3dcd4f['counterView']);}return _0x1959ca||this['hideDropdown'](),_0x1959ca;}),_0x3dcd4f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x28cb65=>{const _0x1e88a8=_0x1f3cc9['config']['get']('presenceList'),_0x759fd1=new It(_0x1f3cc9['locale'],_0x28cb65,!!_0x1e88a8['onClick']);return _0x759fd1['bind']('hasTooltip')['to'](_0x3dcd4f,'isCollapsed',_0x5448fe=>!_0x5448fe),_0x759fd1['bind']('isFocusable')['to'](_0x3dcd4f,'isCollapsed',_0x518fab=>!_0x518fab),_0x1e88a8['onClick']&&this['listenTo'](_0x759fd1,'execute',()=>{this['view']['isCollapsed']||_0x1e88a8['onClick'](_0x28cb65,_0x759fd1['element']);}),_0x759fd1;}),this['listenTo'](_0x3dcd4f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3dcd4f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3dcd4f['inlineListView']['keystrokes']['set']('Enter',(_0x3affd5,_0x4410b8)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4410b8());}),_0x3dcd4f['render'](),_0x4188e2['render'](),_0x360bc9({'emitter':_0x3dcd4f,'activator':()=>_0x4188e2['isVisible'],'contextElements':[_0x4188e2['element'],_0x3dcd4f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1f3cc9['config']['get']('presenceList.container')['appendChild'](_0x3dcd4f['element']),this['_bodyCollection']=new _0x447c29(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3dcd4f;}['_handleUserAdd'](_0x4fad99){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4fad99['isMe'])return;const _0x4c52ee=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4c52ee-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1c81a6=_0x4fad99['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4fad99,_0x1c81a6);}['_handleUserRemove'](_0x33e018){this['usersCount']--;const {collapseAt:_0xb3a644}=this['context']['config']['get']('presenceList'),_0x4e2259=this['usersCount']>=_0xb3a644;if(this['currentDisplayedUsers']['get'](_0x33e018['id']))this['currentDisplayedUsers']['remove'](_0x33e018['id']);else{if(_0x4e2259&&this['currentDisplayedUsers']['length']+0x1===_0xb3a644-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4e2259?0x1:0x0)<this['usersCount']){for(const _0xa03de2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xa03de2['id'])&&(this['currentDisplayedUsers']['add'](_0xa03de2,Math['min'](this['currentDisplayedUsers']['length']-(_0x4e2259?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4e2259?0x1:0x0)===_0xb3a644-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x760448=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x760448['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x59ef9d}=this['presenceDropdownView'];_0x59ef9d['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x417cd3=>{if(!_0x760448['displayMe']&&_0x417cd3['isMe'])return null;const _0x37833c=new kt(this['context']['locale'],_0x417cd3,!!_0x760448['onClick']);return _0x760448['onClick']&&this['listenTo'](_0x37833c,'execute',()=>{_0x760448['onClick'](_0x417cd3,_0x37833c['element']);}),_0x37833c;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x59ef9d['focus'](),_0x59ef9d['checkIfScrollable']();const _0x516eb4=(_0x2a42c2,_0x59928a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x59928a();};_0x59ef9d['keystrokes']['set']('Esc',_0x516eb4),_0x59ef9d['keystrokes']['set']('Shift+Tab',_0x516eb4),_0x59ef9d['keystrokes']['set']('Tab',(_0x5f1f47,_0x4f9882)=>{!function(_0x5be3be){const _0x47f71f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x40cab5=>_0x40cab5+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x502756=[...document['body']['querySelectorAll'](_0x47f71f)]['filter'](_0x1cf7a8=>_0x1cf7a8===document['activeElement']||_0x1cf7a8['offsetWidth']+_0x1cf7a8['offsetHeight']>0x0)['sort']((_0x43ab33,_0x5b9a5a)=>(_0x43ab33['tabIndex']||0x0)-(_0x5b9a5a['tabIndex']||0x0)),_0x427d16=_0x502756['indexOf'](_0x5be3be),_0x3c1bc3=_0x502756[(_0x427d16+0x1)%_0x502756['length']];_0x3c1bc3&&_0x3c1bc3['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4f9882();}),_0x59ef9d['focusTracker']['add'](this['view']['element']),_0x59ef9d['focusTracker']['on']('change:isFocused',(_0x5985c9,_0x2d35fe,_0x53120b)=>{_0x53120b||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0xef80a1{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x1b5eb6=>0x1!=_0x1b5eb6}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x1efd53=>0x1!=_0x1efd53}};