@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.2 → 48.3.0-alpha.4

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{Context as _0x2d03f6,ContextPlugin as _0x198b15,PendingActions as _0x1664fe,Plugin as _0x55f077}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x247b99,Collection as _0x306590,DomEmitterMixin as _0x128a5f,KeystrokeHandler as _0x8e2249,global as _0x3de184,uid as _0x15a4eb,version as _0x43a572}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x40139a,BodyCollection as _0x34295a,LabelView as _0x4b0e72,ListItemView as _0x81bb6c,ListView as _0x41f256,Notification as _0x3aba24,View as _0x734c23,clickOutsideHandler as _0x955340}from'@ckeditor/ckeditor5-ui';import{History as _0x3b9cfe,InsertOperation as _0x1e623b,MarkerOperation as _0x2b7f21,ModelLiveRange as _0x537809,NoOperation as _0x506b04,OperationFactory as _0x23d9fa,RootAttributeOperation as _0x530ebb,transformOperationSets as _0x367266}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1d1225}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x56bfe2,CommentsService as _0x25de81,EditorService as _0x5e4875,RevisionHistoryService as _0xb0619e,TrackChangesService as _0x504e78,User as _0x3fdc75,WEB_SOCKET_GATEWAY_STATES as _0xbe46e2,WebSocketGateway as _0x3197df}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x111a61,Users as _0x2c4aec}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x307d8e}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x348130,TrackChangesEditing as _0x21a4e2}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x5ddb33,CommentsEditing as _0x4a2cc1,CommentsRepository as _0x557678}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x278f20}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x368f5b}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x198b15{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x3197df)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d1225,_0x3aba24];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3462ac){super(_0x3462ac),this['set']('state',_0xbe46e2['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x128a5f())();}['init'](){const _0x2e711c=this['context'],_0x3db06c=_0x2e711c['plugins']['get'](_0x1d1225),_0x3706e2=_0x2e711c['plugins']['get'](_0x3aba24);if(!_0x3db06c['token'])throw new _0x247b99('websocketgateway-missing-token',this);if(!_0x3db06c['webSocketUrl'])throw new _0x247b99('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x3db06c['token'],_0x3db06c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x41e0b5=>{if(this['connection']=_0x41e0b5,this['bind']('state')['to'](_0x41e0b5,'state',this,'_isBrowserOffline',(_0x4632a2,_0x15ccb0)=>('connected'!==_0x4632a2&&(this['_shouldPluginsReconnect']=!0x0),_0x15ccb0||_0x4632a2!==_0xbe46e2['CONNECTED']?_0xbe46e2['DISCONNECTED']:this['state']==_0xbe46e2['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xbe46e2['CONNECTING']):_0xbe46e2['CONNECTED'])),this['connection']['on']('error',(_0x20e359,_0x1f0206)=>{if('limitExceeded'!==_0x1f0206['code'])throw console['error'](_0x1f0206),new _0x247b99('cloudservices-init',null,{'originalError':_0x1f0206});_0x3706e2['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'});}),!_0x41e0b5['me'])return new Promise(_0x12509a=>_0x41e0b5['on']('change:me',_0x12509a));})['catch'](_0x3b5220=>{throw console['error'](_0x3b5220),new _0x247b99('cloudservices-init',null,{'originalError':_0x3b5220});});}['addToReconnectionStack'](_0x1baca3){if('function'!=typeof _0x1baca3['reconnect'])throw new _0x247b99('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1baca3))throw new _0x247b99('websocketgateway-plugin-already-registered',this,{'name':_0x1baca3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1baca3);}['removeFromReconnectionStack'](_0x1ed928){this['_reconnectionStack']['delete'](_0x1ed928);}['isInReconnectionStack'](_0x33be3b){return this['_reconnectionStack']['has'](_0x33be3b);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xeb7e3b=>_0xeb7e3b['reconnect']())))['then'](()=>this['state']=_0xbe46e2['CONNECTED'])['catch'](_0x2b4fcc=>{throw console['error'](_0x2b4fcc),new _0x247b99('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xbe46e2['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x198b15{['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,_0x2c4aec];}constructor(_0x438c58){super(_0x438c58),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x306590(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2c4aec);}['init'](){const _0x5c897b=this['context']['plugins']['get'](z);this['listenTo'](_0x5c897b,'change:state',(_0x17f0a5,_0x21a04f,_0x4ad1e5)=>{if('connected'!==_0x4ad1e5)this['channelSessions']['forEach'](_0x635b1a=>_0x635b1a['clear']()),this['channelConnectedUsers']['forEach'](_0x2a1a2e=>_0x2a1a2e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x693cbe,_0x35f46c]of this['_registeredSessions'])for(const _0x11ad98 of _0x35f46c)this['_handleSessionAdd'](_0x693cbe,_0x11ad98);}}),this['_createUser'](_0x5c897b['connection']['me'],!0x0);}['register'](_0x22a626,_0x1e793d){if(this['_registeredSessions']['has'](_0x22a626))throw new _0x247b99('sessions-register-already-registered',null,{'channelId':_0x22a626});this['_registeredSessions']['set'](_0x22a626,_0x1e793d),this['channelSessions']['set'](_0x22a626,new _0x306590()),this['channelConnectedUsers']['set'](_0x22a626,new _0x306590()),this['listenTo'](_0x1e793d,'add',(_0x472e02,_0x169d72)=>this['_handleSessionAdd'](_0x22a626,_0x169d72)),this['listenTo'](_0x1e793d,'remove',(_0x4f1ddd,_0x3b7916)=>this['_handleSessionRemove'](_0x22a626,_0x3b7916));for(const _0x794a02 of _0x1e793d)this['_handleSessionAdd'](_0x22a626,_0x794a02);}['unregister'](_0x3a0c9a){if(!this['_registeredSessions']['has'](_0x3a0c9a))throw new _0x247b99('sessions-unregister-not-exist',null,{'channelId':_0x3a0c9a});const _0x1eae91=this['_registeredSessions']['get'](_0x3a0c9a);this['stopListening'](_0x1eae91);for(const _0x5b225b of _0x1eae91)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3a0c9a,_0x5b225b);this['_registeredSessions']['delete'](_0x3a0c9a),this['channelSessions']['delete'](_0x3a0c9a),this['channelConnectedUsers']['delete'](_0x3a0c9a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x3ac32e){for(const _0x2d28ac of this['channelSessions']['values']())for(const _0x407ac2 of _0x2d28ac)if(_0x407ac2['id']===_0x3ac32e)return _0x407ac2['user'];}['getUserSessions'](_0x4a3424,_0x481da4){const _0x15758c=_0x481da4?[this['channelSessions']['get'](_0x481da4)]:this['channelSessions']['values'](),_0x5666ce=new Set();for(const _0x5dd310 of _0x15758c)for(const _0x337701 of _0x5dd310)_0x337701['user']['id']===_0x4a3424['id']&&_0x5666ce['add'](_0x337701['id']);return _0x5666ce;}['getUserRole'](_0x317586){for(const _0x174598 of this['channelSessions']['values']())for(const _0x554da3 of _0x174598)if(_0x554da3['user']===_0x317586)return _0x554da3['role'];}['_handleSessionAdd'](_0x455c4a,_0x5b614a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3e74a5=_0x5b614a['user'],_0x31eadb=this['_users']['getUser'](_0x3e74a5['id'])||this['_createUser'](_0x3e74a5),_0x1f289c=Object['assign']({},_0x5b614a,{'user':_0x31eadb});if(this['channelSessions']['get'](_0x455c4a)['add'](_0x1f289c),!_0x3e74a5['hiddenInPresenceList']){const _0x56697e=this['channelConnectedUsers']['get'](_0x455c4a);_0x56697e['has'](_0x31eadb['id'])||_0x56697e['add'](_0x31eadb),this['allConnectedUsers']['has'](_0x31eadb['id'])||_0x3e74a5['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x31eadb,_0x31eadb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x455c4a,{'channelId':_0x455c4a,'session':_0x1f289c});}['_handleSessionRemove'](_0x738f87,_0x1500ed){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4327ca=this['channelConnectedUsers']['get'](_0x738f87),_0x3ecbc6=_0x1500ed['user'];_0x3ecbc6['id']&&(this['channelSessions']['get'](_0x738f87)['remove'](_0x1500ed['id']),_0x4327ca['has'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6,_0x738f87)['size']&&_0x4327ca['remove'](_0x3ecbc6['id']),this['allConnectedUsers']['get'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6)['size']&&this['allConnectedUsers']['remove'](_0x3ecbc6['id']));}['_createUser'](_0x137c15,_0x3ef584){const _0x22a60a=this['_users']['addUser'](_0x137c15);return _0x3ef584&&this['_users']['defineMe'](_0x137c15['id']),_0x22a60a['orderNumber']=this['_uniqueUsersCount']++,_0x22a60a;}},K=class extends _0x55f077{['_domEmitter']=new(_0x128a5f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xf8ab14=this['editor'],_0x3e256c=_0xf8ab14['plugins']['get'](Y);_0xf8ab14['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xcc8eae,{writer:_0x3fce45})=>function(_0x202683,_0x1a9b25,_0x51edd5,_0x39fbd5){const _0xaea4cc=_0x202683['markerName']['split'](':')[0x2],_0x5920e6=_0x51edd5['getUserBySessionId'](_0xaea4cc);if(!_0x5920e6||_0xaea4cc===_0x51edd5['mySessionId'])return;if(!_0x39fbd5['model']['schema']['checkChild'](_0x202683['markerRange']['start'],'$text'))return;const _0x1ae736={'class':'ck-user__marker\x20'+_0x5920e6['color']['getMarkerClass'](),'style':Q(_0x5920e6),'data-name':_0x5920e6['name'],'data-session-id':_0xaea4cc},_0x75f1e1=_0x39fbd5['model']['markers']['get'](_0x202683['markerName'])['getStart'](),_0x54a056=_0x75f1e1['nodeAfter'],_0x53d722=_0x39fbd5['model']['schema'];if(_0x54a056&&_0x53d722['isObject'](_0x54a056)&&_0x53d722['isInline'](_0x54a056)&&!_0x39fbd5['model']['markers']['get']('user:range:'+_0xaea4cc)['getRange']()['isCollapsed'])return;const _0x1cca80=_0x75f1e1['parent'];return _0x39fbd5['model']['schema']['isLimit'](_0x1cca80)&&!_0x39fbd5['model']['hasContent'](_0x1cca80)&&(_0x1ae736['contenteditable']=!0x1),function(_0x500c73,_0x3312fb,_0x47ce0b){const _0x2a0a3c=_0x500c73['createUIElement']('span',_0x3312fb);return _0x500c73['setCustomProperty']('userPositionMarker',!0x0,_0x2a0a3c),_0x2a0a3c['render']=function(_0xd40a0e){const _0x5b2231=this['toDomElement'](_0xd40a0e),_0x5017de=document['createElement']('span');return _0x5017de['classList']['add']('ck-user__marker-tooltip'),_0x5017de['setAttribute']('contenteditable','false'),_0x5017de['setAttribute']('spellcheck','false'),_0x5017de['textContent']=_0x47ce0b['name'],_0x5b2231['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5017de['outerHTML']+'⁠',_0x5b2231['addEventListener']('mouseenter',()=>{_0x5b2231['classList']['add']('ck-user__marker_hovered');}),_0x5b2231['addEventListener']('mouseleave',()=>{_0x5b2231['classList']['remove']('ck-user__marker_hovered');}),_0x5b2231;},_0x2a0a3c['isSimilar']=function(_0x93968e){return!(!this['getCustomProperty']('userPositionMarker')||!_0x93968e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x93968e['getAttribute']('data-session-id'));},_0x2a0a3c;}(_0x1a9b25,_0x1ae736,_0x5920e6);}(_0xcc8eae,_0x3fce45,_0x3e256c,_0xf8ab14)}),_0xf8ab14['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x9cbf31=>function(_0x58d334,_0x16d6f4){const _0x24eef1=_0x58d334['markerName']['split'](':')[0x2];if(_0x24eef1===_0x16d6f4['mySessionId'])return null;const _0x2829bf=_0x16d6f4['getUserBySessionId'](_0x24eef1);return _0x2829bf?{'id':_0x24eef1,'classes':['ck-user__selection',_0x2829bf['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2829bf),'data-session-id':_0x24eef1},'priority':0x7d0+_0x2829bf['orderNumber']}:{'id':_0x24eef1,'classes':[]};}(_0x9cbf31,_0x3e256c)}),function(_0x3edfa5){const _0x147445=_0x3edfa5['model'],_0x21bdeb=new Map(),_0x4f869c=_0x3edfa5['plugins']['get'](Y);_0x147445['markers']['on']('update:user:range',(_0x5516b1,_0x19b7a3,_0xf6fc61,_0x554f9d)=>{if(!_0x554f9d&&_0x21bdeb['get'](_0x19b7a3['name']))return _0x21bdeb['get'](_0x19b7a3['name'])['detach'](),void _0x21bdeb['delete'](_0x19b7a3['name']);const _0x5d8981=_0x19b7a3['name']['split'](':')[0x2];if(_0x5d8981===_0x4f869c['mySessionId'])return;const _0x29caff='user:position:'+_0x5d8981;_0x147445['markers']['has'](_0x29caff)&&_0x3edfa5['editing']['reconvertMarker'](_0x29caff),_0x19b7a3['on']('change:range',(_0x225aa3,_0x15f62d,_0xb87a4a)=>{if('$graveyard'!=_0x15f62d['root']['rootName']&&'$graveyard'==_0x19b7a3['getRange']()['root']['rootName']&&!_0x21bdeb['has'](_0x19b7a3['name'])){const _0x562c3b=_0x147445['schema']['getNearestSelectionRange'](_0xb87a4a['deletionPosition']);if(_0x562c3b){const _0x528df6=_0x537809['fromRange'](_0x562c3b);_0x21bdeb['set'](_0x19b7a3['name'],_0x528df6),_0x528df6['on']('change:range',(_0x5c0393,_0x38921b,_0x5ce3c9)=>{if('$graveyard'==_0x528df6['root']['rootName']){const _0x565665=_0x147445['schema']['getNearestSelectionRange'](_0x5ce3c9['deletionPosition']);_0x565665?(_0x528df6['start']=_0x565665['start'],_0x528df6['end']=_0x565665['end']):(_0x21bdeb['delete'](_0x19b7a3['name']),_0x528df6['detach']());}});}}});}),_0x147445['document']['on']('change',()=>{_0x21bdeb['size']>0x0&&_0x147445['enqueueChange']({'isUndoable':!0x1},_0x4da494=>{for(const [_0x344ae2,_0x25c67a]of _0x21bdeb)'$graveyard'==_0x147445['markers']['get'](_0x344ae2)['getRange']()['root']['rootName']&&(J(_0x344ae2['split'](':')[0x2],_0x25c67a['toRange'](),_0x147445,_0x4da494),_0x25c67a['detach']());_0x21bdeb['clear']();});});}(_0xf8ab14),this['_domEmitter']['listenTo'](_0x3de184['document'],'keydown',(_0x201010,{key:_0x2208d6})=>{'Escape'===_0x2208d6&&function(_0xdcc4fc){_0xdcc4fc['editing']['view']['change'](_0x5cfc62=>{for(const _0x29df6d of _0xdcc4fc['model']['markers']){if(!_0x29df6d['name']['startsWith']('user:position'))continue;const _0x873309=_0xdcc4fc['editing']['mapper']['markerNameToElements'](_0x29df6d['name']);if(_0x873309){for(const _0x21a3ad of _0x873309)_0x5cfc62['removeClass']('ck-user__marker_hovered',_0x21a3ad);}}});}(_0xf8ab14);},{'useCapture':!0x0});}['afterInit'](){const _0x133824=this['editor'],_0x25e23d=_0x133824['commands']['get']('undo');_0x25e23d&&_0x133824['model']['on']('applyOperation',(_0x903e41,_0xf89f34)=>{const _0x5e3318=_0xf89f34[0x0];if(!_0x5e3318['isDocumentOperation'])return;if('marker'!=_0x5e3318['type']||!_0x5e3318['name']['startsWith']('user:'))return;const _0x36cd93=_0x5e3318['batch'];_0x25e23d['_createdBatches']['has'](_0x36cd93)&&(_0x5e3318['newRange']=_0x5e3318['oldRange']?_0x133824['model']['createRange'](_0x5e3318['oldRange']['start'],_0x5e3318['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2939be=this['editor'],_0x15b234=_0x2939be['model']['document'],_0x4cf68e=_0x2939be['plugins']['get'](Y);_0x2939be['model']['enqueueChange']({'isUndoable':!0x1},_0x5d5e79=>{const _0x32a869='user:range:'+_0x4cf68e['mySessionId'],_0x135e0b='user:position:'+_0x4cf68e['mySessionId'],_0x37168c=_0x2939be['model']['markers']['has'](_0x32a869);_0x2939be['editing']['view']['hasDomSelection']?J(_0x4cf68e['mySessionId'],_0x15b234['selection']['getFirstRange'](),_0x2939be['model'],_0x5d5e79):_0x37168c&&(_0x5d5e79['removeMarker'](_0x32a869),_0x5d5e79['removeMarker'](_0x135e0b));});}};function J(_0x5d6205,_0x4167a4,_0xcc5ac3,_0x258df7){const _0x21012e='user:range:'+_0x5d6205,_0x398941='user:position:'+_0x5d6205,_0x10c64f=_0x4167a4['getContainedElement']();let _0x57dcde=_0x4167a4['start'];if(_0x10c64f&&_0x10c64f['is']('element','tableCell')){const _0x6ba8b2=function(_0x1c55d2,_0x4cf1dd){for(const _0x418734 of _0x1c55d2['getPositions']())if(_0x4cf1dd['schema']['checkChild'](_0x418734,'$text'))return _0x418734;}(_0x4167a4,_0xcc5ac3);_0x6ba8b2&&(_0x57dcde=_0x6ba8b2,_0x4167a4=_0x258df7['createRange'](_0x57dcde));}const _0x4ec9d9=_0x258df7['createRange'](_0x57dcde);_0xcc5ac3['markers']['has'](_0x21012e)?(_0x258df7['updateMarker'](_0x21012e,{'range':_0x4167a4}),_0x258df7['updateMarker'](_0x398941,{'range':_0x4ec9d9})):(_0x258df7['addMarker'](_0x21012e,{'range':_0x4167a4,'usingOperation':!0x0}),_0x258df7['addMarker'](_0x398941,{'range':_0x4ec9d9,'usingOperation':!0x0}));}function Q(_0x57ef86){return'--ck-user-color:'+_0x57ef86['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x57ef86['color']['getColorAlphaVariable']()+';';}function X(_0x530142,_0x14f333,_0x2dae1f){const _0x36232a=_0x530142['t'],t=_0x530142['t'];switch(_0x14f333){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 _0x36232a({'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'},_0x2dae1f);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55f077{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x56bfe2)());['_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,_0x1664fe,_0x2c4aec,_0x3aba24];}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 _0x387526=this['serverHistory']['getOperations']();for(let _0x13be41=_0x387526['length']-0x1;_0x13be41>=0x0;_0x13be41--){const _0x196c0f=_0x387526[_0x13be41];if(!this['_disconnectionOperations']['has'](_0x196c0f))return _0x196c0f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4b1491){if(super(_0x4b1491),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3b9cfe(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x247b99('collaboration-missing-channelid',this);const _0x10fd95=_0x4b1491['config']['get']('cloudServices.bundleVersion')||_0x43a572;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x10fd95,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x307d8e(),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 _0x3c5cb3=this['editor'],_0x52d793=_0x3c5cb3['plugins']['get'](_0x2c4aec),_0x5aa1c8=_0x3c5cb3['plugins']['get'](z);this['listenTo'](_0x52d793,'getOperationAuthor',(_0x356bd3,_0x3779e0)=>{const _0x338986=_0x3779e0[0x0];_0x338986['_authorId']&&(_0x356bd3['return']=_0x52d793['getUser'](_0x338986['_authorId']),_0x356bd3['stop']()),null===_0x338986['_authorId']&&(_0x356bd3['return']=null,_0x356bd3['stop']());},{'priority':'high'}),this['listenTo'](_0x3c5cb3['model']['document']['selection'],'change:range',(_0x56fda7,_0x1809a0)=>{_0x1809a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3c5cb3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3c5cb3['model']['on']('applyOperation',(_0x3afeec,_0x4e69e1)=>{const _0x27d9f1=_0x4e69e1[0x0];_0x27d9f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x27d9f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5aa1c8,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x321a47,_0x5ba8d3,_0x26c543)=>'connected'===_0x321a47&&!_0x5ba8d3&&!_0x26c543),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x50b4cb=this['editor']['plugins']['get'](Y),_0x2457cb=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x50b4cb['unregister'](this['_channelId']);const _0x5039f5=await this['_service']['reconnect'](_0x2457cb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5039f5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x479ee9=await this['_service']['getConnectedSessions']();_0x50b4cb['register'](this['_channelId'],_0x479ee9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2340cb){if(function(_0x10813d){return'404'===_0x10813d['code'];}(_0x2340cb)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2ceccc){return'409'===_0x2ceccc['code'];}(_0x2340cb)){const _0x38c187=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'](_0x38c187);}else{if(!(_0x2340cb instanceof et))throw _0x2340cb;this['_handleReconnectionError']();}}}}['destroy'](){const _0x531712=this['editor']['plugins']['get'](z),_0x55a1e4=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x55a1e4['channelSessions']['has'](this['_channelId'])&&_0x55a1e4['unregister'](this['_channelId']),_0x531712['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x567414){if(this['sessionId']!==_0x567414['sessionId']&&this['_lastSyncedOperationId']!==_0x567414['lastOperationId'])throw new et();return this['sessionId']=_0x567414['sessionId'],this['_handleServerResponse']([],{..._0x567414,'wereChangesApplied':!0x1,'data':_0x567414['data']},'reconnect');}async['_connectService'](_0x14f28d,_0x438022=!0x1){const {connection:_0x392605}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x392605,this['_channelId'])['then'](_0x2dc7ba=>this['_initSessionsHandling'](_0x2dc7ba))['catch'](_0x4d995b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4d995b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x59bf40,_0x688884)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x688884);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5efd14=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x14f28d);this['_isPendingUpdate']=!0x0;const _0x28d416=await this['_service']['connect'](_0x392605,this['_compressOperations'](_0x14f28d),_0x5efd14);if(this['sessionId']=_0x28d416['sessionId'],_0x438022){if(!_0x28d416['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x28d416['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x14f28d,_0x28d416,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x28d416,_0x14f28d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x13fc90=this['editor']['plugins']['get'](Y),_0x1b280d=this['editor']['plugins']['get'](K),_0x1cccec=_0x13fc90['channelSessions']['get'](this['_channelId']);_0x1cccec&&_0x1cccec['length']>0x1?_0x1b280d['createUserMarkerOperations']():this['listenTo'](_0x13fc90,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x13fc90['channelSessions']['get'](this['_channelId'])['length']&&_0x1b280d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x400c04,_0x34e242,_0x560ec2,_0x25b211){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x34e242){const _0x20a981=this['_decompressOperations'](_0x560ec2,_0x25b211);await this['_fetchMissingUsers'](_0x20a981),this['_handleExternalOperations'](_0x20a981,_0x34e242,_0x560ec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a86e3}=this['editor'];let _0x53b307;try{_0x53b307=await this['_service']['getDocumentDetails']();}catch{const _0x42ca3f=X(_0x3a86e3,'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'](_0x42ca3f);}const _0x46b586=_0x53b307['currentDocumentSession']||_0x53b307['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x46b586['lastOperationId']){const _0x2e0879=X(_0x3a86e3,'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'](_0x2e0879);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2ec208=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2ec208['connection']||'connected'!==_0x2ec208['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x27dbd3=this['editor']['plugins']['get'](Y);_0x27dbd3['channelSessions']['has'](this['_channelId'])&&_0x27dbd3['unregister'](this['_channelId']),_0x2ec208['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x26803f){const _0x5763a5=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5763a5,'sessionAdd:'+this['_channelId'],(_0x4199be,{session:_0x3fb7b3})=>{if(_0x3fb7b3['id']===_0x5763a5['mySessionId']){_0x4199be['off']();const _0x52c1d8=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x16075a=_0x3fb7b3['permissions'];_0x52c1d8&&_0x52c1d8['isEnabled']&&(_0x16075a=_0x16075a['filter'](_0x37c924=>'document:write'!==_0x37c924)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x16075a,this['_channelId']);}}),_0x5763a5['register'](this['_channelId'],_0x26803f);}['_initThrowingOnDataSet'](){const _0x8a206e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56eae2)=>{if(!_0x56eae2[_0x56eae2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x247b99('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x8a206e['apply'](this['editor']['data'],_0x56eae2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2d56a8,[_0x4236b7])=>{if(this['_document']['version'])throw new _0x247b99('realtimecollaborationclient-init-document-already-initialized',this);_0x2d56a8['stop'](),this['_setPendingAction']();const _0x490ac4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xc55c06])=>!_0xc55c06['lazyLoad'])['map'](([_0x216b84,_0x332897])=>[_0x216b84,_0x332897['modelAttributes']||{}])),_0xf8fc1f=this['_getOperationsFromInitData'](_0x4236b7,_0x490ac4);0x0==_0xf8fc1f['length']&&_0xf8fc1f['push'](new _0x506b04(0x0)),_0x2d56a8['return']=this['_connectService'](_0xf8fc1f)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5e2d7b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5e2d7b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x91c735,[_0x2942ae,_0x3a98c4])=>{_0x91c735['stop']();const _0x2f3e19=this['editor']['model']['document']['getRoot'](_0x2942ae);if(!this['_knownRootNames']['has'](_0x2942ae)){const _0x3c72ea=_0x3a98c4&&_0x3a98c4['data']?_0x3a98c4['data']:'',_0x4bd1b3=_0x3a98c4&&_0x3a98c4['attributes']?_0x3a98c4['attributes']:{};await this['_loadRoot'](_0x2942ae,_0x3c72ea,_0x4bd1b3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2f3e19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2f3e19);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x35894e){const _0x488497=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x30453a}=this['editor']['plugins']['get'](z),_0x3827f2=new Set();for(const _0x3f66b6 of _0x35894e){const _0x2055ee=_0x3f66b6['_authorId'];_0x2055ee&&!_0x488497['getUser'](_0x2055ee)&&_0x3827f2['add'](_0x2055ee);}if(0x0===_0x3827f2['size'])return;const _0x450b4e=await _0x3fdc75['getMany'](_0x30453a,Array['from'](_0x3827f2));for(const _0x34fcde of _0x450b4e)_0x488497['getUser'](_0x34fcde['id'])||_0x488497['addUser'](_0x34fcde);}['_getOperationsFromInitData'](_0x4a40af,_0x333075={}){const _0x2d761d=this['editor']['model'],_0x32d939=[];let _0x2a4550=0x0;const _0x11d752='string'==typeof _0x4a40af?{'main':_0x4a40af}:_0x4a40af;for(const _0x4d3bab of Object['keys'](_0x11d752)){if(!this['_document']['roots']['has'](_0x4d3bab))throw new _0x247b99('realtimecollaborationclient-init-non-existent-root',this);const _0xaa7742=this['_document']['getRoot'](_0x4d3bab),_0x70c5a3=this['editor']['data']['parse'](_0x11d752[_0x4d3bab],_0xaa7742),_0x3051bb=new _0x1e623b(_0x2d761d['createPositionAt'](_0xaa7742,0x0),_0x70c5a3,_0x2a4550++);_0x32d939['push'](_0x3051bb);for(const [_0x2a4f1c,_0x4a1444]of _0x70c5a3['markers']){const _0x5d040d=new _0x2b7f21(_0x2a4f1c,null,_0x2d761d['createRange'](_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['start']['path']['slice']()),_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['end']['path']['slice']())),_0x2d761d['markers'],!0x0,_0x2a4550++);_0x32d939['push'](_0x5d040d);}}if(_0x333075)for(const [_0x10f51f,_0x3d9780]of Object['entries'](_0x333075)){const _0xae09d3=_0x2d761d['document']['getRoot'](_0x10f51f);if(!_0xae09d3)throw new _0x247b99('multi-root-editor-root-attributes-no-root',null);for(const [_0x401ed6,_0x2ae0f3]of Object['entries'](_0x3d9780))if(null!==_0x2ae0f3){const _0x523524=new _0x530ebb(_0xae09d3,_0x401ed6,null,_0x2ae0f3,_0x2a4550++);_0x32d939['push'](_0x523524);}}return _0x32d939;}async['_loadRoot'](_0x25fa80,_0x3e2359,_0x2f8abc){this['_getOperationsFromInitData']({[_0x25fa80]:_0x3e2359},{[_0x25fa80]:_0x2f8abc})['forEach']((_0x2a5ae9,_0x1468b1)=>{_0x2a5ae9['baseVersion']=this['_document']['version']+_0x1468b1,_0x2a5ae9['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a5ae9);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2e9ada,_0xedc5b2){let _0x158834;this['_offset']=_0x2e9ada['offset'];const _0x512f13=_0x2e9ada['wereChangesApplied']&&!_0x2e9ada['initData'],_0x5b59a0=_0x512f13?0x0:_0x2e9ada['data']['baseVersion'];if(_0xedc5b2['forEach'](_0x476687=>{_0x476687['_isInit']=!0x0,_0x476687['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x476687['_authorId']=null;}),_0x512f13)_0x158834=_0xedc5b2,this['_applyOperationsSet'](_0x158834,_0x512f13);else{if(_0x2e9ada['initData']){const _0x9724a9=this['_getOperationsFromInitData'](_0x2e9ada['initData']);this['_document']['history']['version']=-_0x9724a9['length'],_0x9724a9['forEach'](_0x45aefa=>{_0x45aefa['baseVersion']-=_0x9724a9['length'],_0x45aefa['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x45aefa['_isInit']=!0x0,_0x45aefa['_authorId']=null;}),this['_applyOperationsSet'](_0x9724a9,!0x0),this['serverHistory']['version']=-_0x9724a9['length']+this['_offset'],this['_updateServerHistory'](_0x9724a9);}this['_document']['history']['version']=_0x5b59a0,_0x158834=this['_decompressOperations'](_0x2e9ada['data'],_0x2e9ada['metadata']),await this['_fetchMissingUsers'](_0x158834),this['_applyOperationsSet'](_0x158834,_0x512f13);}_0x2e9ada['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x158834,_0x2e9ada['lastOperationId']),this['_lastSyncedOperationId']=_0x2e9ada['lastOperationId']),this['serverHistory']['version']=_0x5b59a0+this['_offset'],this['_updateServerHistory'](_0x158834),_0xedc5b2['filter'](_0x175ba6=>{const _0x37a466=this['_getAffectedRoot'](_0x175ba6);return _0x37a466&&!this['_knownRootNames']['has'](_0x37a466);})['forEach']((_0xd4502f,_0x3d59b7)=>{_0xd4502f['baseVersion']=this['_document']['version']+_0x3d59b7,this['_saveOperationInBuffer'](_0xd4502f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5c81ab,_0x1d1420){const _0xc25ef2=_0x1d1420&&_0x1d1420['message'];if(_0xc25ef2&&_0xc25ef2['startsWith']('realtimecollaborationclient'))throw _0x1d1420;const _0x2f5495=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2f5495['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x247b99(_0x5c81ab,this['editor'],_0xc25ef2?{'originalError':_0xc25ef2}:void 0x0);}['_saveOperationInBuffer'](_0x56b497){this['_knownOperations']['has'](_0x56b497)||(this['_knownOperations']['add'](_0x56b497),this['_bufferedOperations']['push'](_0x56b497),this['_pendingAction']||'marker'==_0x56b497['type']&&!_0x56b497['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xc23f51=!0x1){!_0xc23f51&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3ec373=>{_0x3ec373&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x706406=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xdfbea4){return _0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x706406)||this['_crash'](_0x706406['message'],_0x706406);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x28d860=>{this['on']('change:_isPendingUpdate',()=>{_0x28d860();});});}async['_sendBufferedOperations'](){const _0x1c5b98=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x1c5b98['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1c8329=[...this['_bufferedOperations']];for(const _0x25a654 of _0x1c8329)_0x25a654['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25a654);const _0x244535=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1c8329),_0x55ecab=Z++,_0x5d4f3a=this['_compressOperations'](_0x1c8329),_0x394096=await this['_service']['sendOperations'](_0x5d4f3a,_0x5d4f3a['baseVersion'],_0x244535);try{return await this['_handleServerResponse'](_0x1c8329,_0x394096,_0x55ecab);}catch(_0x18aea2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x18aea2);}}async['_handleServerResponse'](_0x45dc36,_0x2bdbcf,_0x3b69d2){if('error'in _0x2bdbcf)throw _0x2bdbcf['error'];let _0x588830=!0x1;if(_0x2bdbcf['wereChangesApplied']){_0x2bdbcf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2bdbcf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41a16b=>!_0x45dc36['includes'](_0x41a16b));for(const _0x5be202 of _0x45dc36)_0x5be202['createdAt']='lastOperationAcceptedAt'in _0x2bdbcf&&_0x2bdbcf['lastOperationAcceptedAt']||void 0x0;st(_0x45dc36,_0x2bdbcf['version']-_0x45dc36['length']),this['_updateServerHistory'](_0x45dc36);const _0x2f4594=_0x45dc36['filter'](_0x267ba6=>{if(!_0x267ba6['_isInit'])return!0x1;const _0x42f205=this['_getAffectedRoot'](_0x267ba6);return _0x42f205&&!this['_knownRootNames']['has'](_0x42f205);});st(_0x2f4594,this['_document']['version']),this['_applyOperationsSet'](_0x2f4594),_0x588830=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10bf07=this['_decompressOperations'](_0x2bdbcf['data'],_0x2bdbcf['metadata'])['filter'](_0xa1aea7=>_0xa1aea7['baseVersion']>=this['_lastServerVersion']);_0x10bf07['forEach'](_0x62ae8a=>this['_addKnownRoot'](_0x62ae8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2b3ff9=>!_0x2b3ff9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2b3ff9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10bf07),_0x588830=this['_handleExternalOperations'](_0x10bf07,_0x2bdbcf['version'],_0x2bdbcf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x588830?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x298af5,_0xd6c1f7,_0xd1ad45){try{const _0x21fdf8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x231e74,operationsB:_0x5e985c,originalOperations:_0x9e2da9}=_0x367266(_0x298af5,this['_bufferedOperations'],_0x21fdf8);st(_0x231e74,this['_document']['version']),st(_0x5e985c,_0xd6c1f7);for(const _0x36abc5 of _0x231e74){const _0x22137b=_0x9e2da9['get'](_0x36abc5);_0x22137b?(_0x36abc5['_authorId']=_0x22137b['_authorId'],'noop'!==_0x36abc5['type']&&(_0x36abc5['_aiSource']=_0x22137b['_aiSource'])):_0x36abc5['_authorId']=null;}for(const _0x9a9ddf of _0x5e985c)'noop'!==_0x9a9ddf['type']&&(_0x9a9ddf['_aiSource']=_0x9e2da9['get'](_0x9a9ddf)?.['_aiSource']);_0xd1ad45&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x298af5,_0xd1ad45),this['_lastSyncedOperationId']=_0xd1ad45),this['_bufferedOperations']=[..._0x5e985c],this['_applyOperationsSet'](_0x231e74),this['_updateServerHistory'](_0x298af5);}catch(_0x57389b){return console['error'](_0x57389b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x54390a,_0x373260=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1cb66a=>{for(const _0x33f6de of _0x54390a)this['_knownOperations']['add'](_0x33f6de),this['_addKnownRoot'](_0x33f6de),_0x1cb66a['batch']['addOperation'](_0x33f6de),this['editor']['model']['applyOperation'](_0x33f6de);});}['_addKnownRoot'](_0x4b3a5c){const _0x4c936c=this['_getAffectedRoot'](_0x4b3a5c);_0x4c936c&&this['_knownRootNames']['add'](_0x4c936c);}['_getAffectedRoot'](_0x28542c){let _0x129d2f,_0x5e5c7a;switch(_0x28542c['type']){case'insert':_0x129d2f=_0x28542c['position']['root'];break;case'marker':if(_0x5e5c7a=_0x28542c['newRange'],!_0x5e5c7a)return null;_0x129d2f=_0x5e5c7a['root'];break;case'addRootAttribute':_0x129d2f=_0x28542c['root'];break;case'addRoot':_0x129d2f=_0x28542c['affectedSelectable'];break;case'move':_0x129d2f=_0x28542c['targetPosition']['root'];break;default:return null;}return _0x129d2f['rootName'];}['_updateServerHistory'](_0x53dede){_0x53dede['forEach'](_0x5d4c4a=>{const _0x5ddaf6=_0x5d4c4a['clone']();_0x5ddaf6['_authorId']=_0x5d4c4a['_authorId'],_0x5ddaf6['_isInit']=!!_0x5d4c4a['_isInit'],_0x5ddaf6['_aiSource']=_0x5d4c4a['_aiSource'],_0x5ddaf6['createdAt']=_0x5d4c4a['createdAt'],_0x5ddaf6['baseVersion']+=this['_offset'],_0x5d4c4a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ddaf6),this['serverHistory']['addOperation'](_0x5ddaf6);});}['_handleReconnectionError'](_0x35d979){const _0x4ca5fb=this['editor']['plugins']['get']('Notification'),_0x289024=this['editor']['locale'];_0x35d979||(_0x35d979=X(_0x289024,'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.')),_0x4ca5fb['showWarning'](_0x35d979,{'title':X(_0x289024,'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'](_0x1664fe)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1664fe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x242e60){const _0x5719f3=_0x242e60['map'](_0x4dd81c=>_0x4dd81c['toJSON']());return this['_compressor']['compress'](_0x5719f3);}['_decompressOperations'](_0x4089eb,_0x4c7799){return this['_compressor']['decompress'](_0x4089eb)['map']((_0x2be7dc,_0x577ab3)=>{const _0x530401='init'==_0x4c7799[_0x577ab3]['type'];if('InsertOperation'==_0x2be7dc['__className']){const _0x166bea=_0x2be7dc['position']['root'];!this['_document']['getRoot'](_0x166bea)&&(this['_document']['createRoot']('$unknown',_0x166bea)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2be7dc['__className']){const _0x315d3c=this['_document']['getRoot'](_0x2be7dc['rootName']);_0x315d3c&&'$unknown'==_0x315d3c['name']&&_0x2be7dc['elementName']!=_0x315d3c['name']&&(_0x315d3c['name']=_0x2be7dc['elementName']);}}const _0x21eddb=_0x23d9fa['fromJSON'](_0x2be7dc,this['_document']);return _0x21eddb['wasUndone']=_0x2be7dc['wasUndone'],_0x21eddb['_isInit']=_0x530401,_0x21eddb['_authorId']=_0x530401?null:_0x4c7799[_0x577ab3]['userId'],_0x21eddb['_isDisconnection']='cs:removeUser'===_0x4c7799[_0x577ab3]['type'],_0x21eddb['_aiSource']=_0x2be7dc['_aiSource']||void 0x0,_0x21eddb['createdAt']=_0x4c7799[_0x577ab3]['createdAt'],_0x21eddb;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xeb95f8=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xeb95f8&&_0xeb95f8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x4fbf92,_0x2dc436){for(const _0x5e237b of _0x4fbf92)_0x5e237b['baseVersion']=_0x2dc436++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x7bbafd){this['_ignoredOperations']=_0x7bbafd,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2e1231){let _0x44bb60=_0x2e1231['length'];for(;_0x44bb60--;){const _0x5ae877=_0x2e1231[_0x44bb60];if(!this['_ignoredOperations']['has'](_0x5ae877)){if(!this['_operationToId']['has'](_0x5ae877)){const _0x617309=_0x15a4eb()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5ae877,_0x617309);}return this['_operationToId']['get'](_0x5ae877);}}}['setIdForTheLastOperation'](_0x562749,_0x4ab16c){if(!_0x4ab16c)return;let _0x5dd3df=_0x562749['length'];for(;_0x5dd3df--;){const _0xb43b6a=_0x562749[_0x5dd3df];this['_ignoredOperations']['has'](_0xb43b6a)||this['_operationToId']['set'](_0xb43b6a,_0x4ab16c);}}},nt=class extends _0x55f077{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x198b15{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x25de81)());['_services'];static get['requires'](){return[z,_0x557678,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e927){super(_0x34e927),this['_services']=new Map();}async['init'](){const _0x2cd89c=this['context'],_0x5552d6=_0x2cd89c['plugins']['get'](_0x557678);if(_0x2cd89c['plugins']['get'](z)['addToReconnectionStack'](this),_0x5552d6['adapter']={'addCommentThread':async({channelId:_0x6c9aef,threadId:_0x52fa28,comments:_0x33b9ca,resolvedAt:_0x2f96f3,resolvedBy:_0x5a4a7a,context:_0x54a51c,attributes:_0x3dae32})=>{const _0x43be02=await this['_getService'](_0x6c9aef)['addCommentThread']({'commentThreadId':_0x52fa28,'comments':_0x33b9ca['map'](_0x4413f7=>function(_0x33aeaf,_0x4e7cbf,_0x3b4bf1){return{'commentThreadId':_0x3b4bf1,'commentId':_0x33aeaf['commentId'],'userId':_0x33aeaf['authorId'],'content':_0x33aeaf['content'],'documentId':_0x4e7cbf,'createdAt':_0x33aeaf['createdAt'],'attributes':_0x33aeaf['attributes']||{}};}(_0x4413f7,_0x6c9aef,_0x52fa28)),'resolvedAt':_0x2f96f3,'resolvedBy':_0x5a4a7a,'context':_0x54a51c,'attributes':_0x3dae32})['catch'](ct);return{'threadId':_0x43be02['commentThreadId'],'comments':_0x43be02['comments']};},'getCommentThread':async({channelId:_0x3fe202,threadId:_0x2c314a})=>{const _0x883a6d=await this['_getService'](_0x3fe202)['getCommentThread'](_0x2c314a)['catch'](rt)['catch'](ct);return _0x883a6d?_0x883a6d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x883a6d]),{'threadId':_0x883a6d['commentThreadId'],'comments':_0x883a6d['comments']['map'](at),'context':_0x883a6d['context'],'resolvedAt':_0x883a6d['resolvedAt'],'resolvedBy':_0x883a6d['resolvedBy'],'attributes':_0x883a6d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3a5f11,threadId:_0x1be783,context:_0x3d184d,unlinkedAt:_0xfa1fd5,attributes:_0x3d7f83})=>this['_getService'](_0x3a5f11)['updateCommentThread']({'commentThreadId':_0x1be783,'context':_0x3d184d,'attributes':_0x3d7f83,'unlinkedAt':_0xfa1fd5})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7d678f,threadId:_0x539e39})=>{const _0x29f816=await this['_getService'](_0x7d678f)['resolveCommentThread'](_0x539e39)['catch'](rt)['catch'](ct);return{'threadId':_0x29f816['commentThreadId'],'resolvedAt':_0x29f816['resolvedAt'],'resolvedBy':_0x29f816['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5abbd8,threadId:_0x5ef77a})=>this['_getService'](_0x5abbd8)['reopenCommentThread'](_0x5ef77a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x49b1dd,threadId:_0x5287a5})=>this['_getService'](_0x49b1dd)['removeCommentThread'](_0x5287a5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x165e86,threadId:_0x1eee2f,commentId:_0x55d6e3,content:_0x3cd5d1,attributes:_0x190a1f})=>this['_getService'](_0x165e86)['addComment'](_0x1eee2f,_0x55d6e3,_0x3cd5d1,_0x190a1f)['catch'](ct),'updateComment':({channelId:_0x30c918,threadId:_0x194cda,commentId:_0x4d571a,content:_0x544aa9,attributes:_0x58c59a})=>this['_getService'](_0x30c918)['updateComment'](_0x194cda,_0x4d571a,_0x544aa9,_0x58c59a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1eb93d,threadId:_0x4c8602,commentId:_0x2b3336})=>this['_getService'](_0x1eb93d)['removeComment'](_0x4c8602,_0x2b3336)['catch'](rt)['catch'](ct)},_0x2cd89c instanceof _0x2d03f6){const _0x29a1fe=_0x2cd89c['config']['get']('collaboration.channelId'),_0x4a1c7e=_0x2cd89c['plugins']['get'](Y);await this['_setUpService'](_0x29a1fe);const _0x2835f7=await this['_services']['get'](_0x29a1fe)['getConnectedSessions']();this['listenTo'](_0x4a1c7e,'sessionAdd:'+_0x29a1fe,(_0x12fc3f,{session:_0x59fd67})=>{_0x59fd67['id']===_0x4a1c7e['mySessionId']&&(_0x12fc3f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x59fd67['permissions'],_0x29a1fe));}),_0x4a1c7e['register'](_0x29a1fe,_0x2835f7);}}async['_setUpService'](_0x8f005f){if(this['_services']['has'](_0x8f005f))throw new _0x247b99('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x8f005f});const _0x4bf8b6=this['context']['plugins']['get'](_0x557678),_0x13a3d1=new CloudServicesCommentsAdapter['CommentsService'](_0x8f005f);this['_services']['set'](_0x8f005f,_0x13a3d1),this['listenTo'](_0x13a3d1,'commentThreadAdded',(_0x44e6d2,_0xed9b7d)=>{const {commentThreadId:_0x386a52,documentId:_0x7f706d,context:_0x28f5c5,attributes:_0x382979,resolvedAt:_0x2588f2,resolvedBy:_0x1ca9cb,comments:_0x485c88}=_0xed9b7d;_0x4bf8b6['getCommentThread'](_0x386a52)||_0x4bf8b6['addCommentThread']({'threadId':_0x386a52,'channelId':_0x7f706d,'comments':_0x485c88?_0x485c88['map'](at):[],'context':_0x28f5c5,'attributes':_0x382979,'resolvedAt':_0x2588f2,'resolvedBy':_0x1ca9cb,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadUpdated',(_0x50b3a4,{commentThreadId:_0x23261e,documentId:_0x3d44f8,context:_0x5bb447,unlinkedAt:_0x172f80,attributes:_0x2d078a})=>{_0x4bf8b6['getCommentThread'](_0x23261e)&&_0x4bf8b6['updateCommentThread']({'threadId':_0x23261e,'channelId':_0x3d44f8,'context':_0x5bb447,'unlinkedAt':_0x172f80,'attributes':_0x2d078a,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadResolved',(_0x5c681c,{commentThreadId:_0x20afdc,resolvedBy:_0x42a1b6,resolvedAt:_0x58f8f6})=>{const _0x1f928a=_0x4bf8b6['getCommentThread'](_0x20afdc);_0x1f928a&&_0x1f928a['resolve']({'resolvedBy':_0x42a1b6,'resolvedAt':_0x58f8f6,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadReopened',(_0x3765a3,{commentThreadId:_0x41b3fb})=>{const _0x1bfbf7=_0x4bf8b6['getCommentThread'](_0x41b3fb);_0x1bfbf7&&_0x1bfbf7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadRemoved',(_0x4747cc,{commentThreadId:_0x331948})=>{const _0x13ef75=_0x4bf8b6['getCommentThread'](_0x331948);_0x13ef75&&_0x13ef75['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentAdded',(_0x23ef4a,_0x159ab6)=>{const _0x4f0376=_0x159ab6['commentThreadId'],_0x47a075=_0x4bf8b6['getCommentThread'](_0x4f0376);_0x47a075&&_0x47a075['addComment']({...at(_0x159ab6),'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentUpdated',(_0x566b14,{commentThreadId:_0x5f373b,commentId:_0x15ff3f,content:_0x55acce,attributes:_0x405616})=>{const _0x217106=_0x4bf8b6['getCommentThread'](_0x5f373b);if(_0x217106){const _0x278bda=_0x217106['getComment'](_0x15ff3f);_0x278bda&&_0x278bda['update']({'content':_0x55acce,'attributes':_0x405616,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'commentRemoved',(_0x470556,{commentThreadId:_0x106bb3,commentId:_0x49f979})=>{const _0x505501=_0x4bf8b6['getCommentThread'](_0x106bb3);if(_0x505501){const _0x4d839=_0x505501['getComment'](_0x49f979);_0x4d839&&_0x4d839['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x8f005f),this['stopListening'](_0x13a3d1));}),await this['_connectService'](_0x8f005f);}['destroy'](){if(this['context']instanceof _0x2d03f6){const _0x56a093=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x56a093)&&this['_terminateService'](_0x56a093);}}['_terminateService'](_0x70a3c2){if(!this['_services']['has'](_0x70a3c2))throw new _0x247b99('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x70a3c2});this['_getService'](_0x70a3c2)['disconnect'](),this['_services']['delete'](_0x70a3c2);}async['reconnect'](){for(const _0x132d97 of this['_services']['keys']())await this['_connectService'](_0x132d97);if(this['context']instanceof _0x2d03f6){const _0x3fd398=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3fd398)){const _0xcc7b3b=this['context']['plugins']['get'](Y);_0xcc7b3b['unregister'](_0x3fd398);const _0x346a24=await this['_services']['get'](_0x3fd398)['getConnectedSessions']();_0xcc7b3b['register'](_0x3fd398,_0x346a24);}}}async['_connectService'](_0x55859a){const {connection:_0x472666}=this['context']['plugins']['get'](z),_0x4572df=this['context']['plugins']['get'](_0x557678),_0x969630=await this['_services']['get'](_0x55859a)['connect'](_0x472666);await this['_fetchMissingUsersForThreads'](_0x969630);const _0x410287=new Set(Array['from'](_0x4572df['getCommentThreads']({'channelId':_0x55859a}),_0x267e47=>_0x267e47['id']));for(const _0x24a96c of _0x969630)_0x24a96c['deletedAt']||_0x410287['delete'](_0x24a96c['commentThreadId']);for(const _0x392f6f of _0x410287)_0x4572df['getCommentThread'](_0x392f6f)['remove']({'isFromAdapter':!0x0});for(const _0x287b5b of _0x969630){let _0x239647=_0x4572df['getCommentThread'](_0x287b5b['commentThreadId']);const {commentThreadId:_0x5b8ba6,context:_0xe8d3f8,attributes:_0x4a7983,resolvedBy:_0x118294,resolvedAt:_0xa756cc,unlinkedAt:_0x37e958,deletedAt:_0x46bf2a}=_0x287b5b;if(_0x46bf2a)continue;_0x239647||(_0x239647=_0x4572df['addCommentThread']({'channelId':_0x55859a,'threadId':_0x5b8ba6,'context':_0xe8d3f8,'attributes':_0x4a7983||{},'resolvedBy':_0x118294,'resolvedAt':_0xa756cc,'unlinkedAt':_0x37e958,'isFromAdapter':!0x0}));const _0x56d674=new Set(Array['from'](_0x239647['comments'],_0x5813d6=>_0x5813d6['id']));for(const _0x4c1423 of _0x287b5b['comments'])_0x56d674['delete'](_0x4c1423['commentId']);for(const _0x2f1ea6 of _0x56d674)_0x239647['getComment'](_0x2f1ea6)['remove']({'isFromAdapter':!0x0});for(const _0x4c2cc6 of _0x287b5b['comments']){const _0x1aa4fc=_0x239647['getComment'](_0x4c2cc6['commentId']);_0x1aa4fc?_0x1aa4fc['content']!==_0x4c2cc6['content']&&_0x1aa4fc['update']({'content':_0x4c2cc6['content'],'isFromAdapter':!0x0}):_0x239647['addComment'](Object['assign'](at(_0x4c2cc6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x16810e){if(!this['_services']['has'](_0x16810e))throw new _0x247b99('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x16810e});return this['_services']['get'](_0x16810e);}async['_fetchMissingUsersForThreads'](_0x2b0d87){const _0x12ec39=this['context']['plugins']['get'](_0x2c4aec),{connection:_0x19e680}=this['context']['plugins']['get'](z),_0x52a07c=new Set();for(const {resolvedBy:_0x3facdf,comments:_0x8ac57}of _0x2b0d87){_0x3facdf&&!_0x12ec39['getUser'](_0x3facdf)&&_0x52a07c['add'](_0x3facdf);for(const {userId:_0x5a6347}of _0x8ac57)_0x12ec39['getUser'](_0x5a6347)||_0x52a07c['add'](_0x5a6347);}if(0x0===_0x52a07c['size'])return;const _0x3b0a82=await _0x3fdc75['getMany'](_0x19e680,Array['from'](_0x52a07c));for(const _0x841fcc of _0x3b0a82)_0x12ec39['getUser'](_0x841fcc['id'])||_0x12ec39['addUser'](_0x841fcc);}};async function rt(_0x5a415f){if('404'!==_0x5a415f['code'])throw _0x5a415f;}function ct(_0x1b6f6a){if((_0x248f2a=_0x1b6f6a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x248f2a;throw _0x1b6f6a;}function at(_0x1f360a){return{'threadId':_0x1f360a['commentThreadId'],'commentId':_0x1f360a['commentId'],'content':_0x1f360a['content'],'createdAt':_0x1f360a['createdAt'],'authorId':_0x1f360a['userId'],'attributes':_0x1f360a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55f077{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x504e78)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x21a4e2,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ec783){super(_0x2ec783);const _0x531c23=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x531c23);}['init'](){const _0x135a7b=this['editor']['plugins']['get'](z),_0x5dd975=this['editor']['plugins']['get'](_0x21a4e2);return _0x5dd975['adapter']={'getSuggestion':async _0x41d7df=>{await this['_waitForServiceReady']();const _0x3a1289=await this['_trackChangesService']['get'](_0x41d7df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a1289]),_0x3a1289;},'addSuggestion':async({id:_0x14bdf2,type:_0x2efff9,data:_0x4d15e1,originalSuggestionId:_0x2e3447,attributes:_0x52eb80})=>{await this['_waitForServiceReady']();const _0xc67497={'id':_0x14bdf2,'type':_0x2efff9,'data':_0x4d15e1,'originalSuggestionId':_0x2e3447,'attributes':_0x52eb80},_0x25525f=await this['_trackChangesService']['add'](_0x14bdf2,_0x2efff9,_0x4d15e1,_0x2e3447,_0x52eb80)['catch'](_0x2780d0=>{if(dt(_0x2780d0))return new Promise(_0x4eb60d=>{this['_bufferedRequests']['set'](_0x14bdf2,{'resolve':_0x4eb60d,'suggestionData':_0xc67497});});throw _0x2780d0;});return this['_bufferedRequests']['delete'](_0x14bdf2),_0x25525f;},'updateSuggestion':async(_0x38ffff,_0x31c62c)=>{if(await this['_waitForServiceReady'](),'open'!==_0x31c62c['state'])return this['_trackChangesService']['update'](_0x38ffff,_0x31c62c)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3ecf9f,_0x51e1f5)=>{_0x5dd975['hasSuggestion'](_0x51e1f5['id'])&&(_0x5dd975['getSuggestion'](_0x51e1f5['id'])['attributes']=_0x51e1f5['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x135a7b['connection']?.['state']&&(_0x135a7b['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x135a7b['connection'])['then'](_0x1485b3=>(_0x135a7b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1485b3)['then'](()=>{for(const _0x41bfb7 of _0x1485b3){_0x5dd975['addSuggestionData'](_0x41bfb7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x51f27d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5c438e}=this['editor']['plugins']['get'](z),_0x18effc=await this['_trackChangesService']['connect'](_0x5c438e);await this['_fetchMissingUsersForThreads'](_0x18effc);for(const {suggestionData:_0x453ad6,resolve:_0x56022f}of this['_bufferedRequests']['values']()){let _0x2fb0c4=_0x18effc['find'](_0x4e1ae3=>_0x4e1ae3['id']===_0x453ad6['id']);_0x2fb0c4||(_0x2fb0c4=await this['_trackChangesService']['add'](_0x453ad6['id'],_0x453ad6['type'],_0x453ad6['data'],_0x453ad6['originalSuggestionId'])),_0x56022f(_0x2fb0c4);}for(const _0x37472c of _0x18effc)_0x51f27d['hasSuggestion'](_0x37472c['id'])||_0x51f27d['addSuggestionData'](_0x37472c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x52e74a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x48988c=>{_0x48988c['off'](),_0x52e74a();});});}async['_fetchMissingUsersForThreads'](_0x329601){const _0x193267=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x47c624}=this['editor']['plugins']['get'](z),_0x337153=new Set();for(const {authorId:_0x453282}of _0x329601)_0x193267['getUser'](_0x453282)||_0x337153['add'](_0x453282);if(0x0===_0x337153['size'])return;const _0x24076e=await _0x3fdc75['getMany'](_0x47c624,Array['from'](_0x337153));for(const _0x3cedb4 of _0x24076e)_0x193267['getUser'](_0x3cedb4['id'])||_0x193267['addUser'](_0x3cedb4);}};function lt(_0x453709){if(dt(_0x453709))return new Promise(()=>{});throw _0x453709;}function dt(_0x27c288){return _0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x55f077{static get['requires'](){return[_0x5ddb33,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5bb531=this['editor']['plugins']['get'](z),_0x224ccb=this['editor']['plugins']['get'](_0x4a2cc1),_0x2c6388=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5bb531,'change:state',(_0x514770,_0x5c89f2,_0x3f791e)=>{_0x224ccb['isThreadsLoadingPaused']='connected'!==_0x3f791e;});}),this['listenTo'](_0x5bb531,'change:state',(_0x48ce1e,_0x1d019b,_0x1d6ae5)=>{this['editor']['plugins']['get'](_0x557678)['switchReadOnly']('connected'!==_0x1d6ae5);}),_0x2c6388['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3ac3d7=this['editor']['plugins']['get'](ot),_0x3550a5=this['editor']['config']['get']('collaboration.channelId');_0x3ac3d7['_services']['has'](_0x3550a5)&&_0x3ac3d7['_terminateService'](_0x3550a5),super['destroy']();}},ft=class extends _0x55f077{static get['requires'](){return[ut,ht,_0x348130];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x55f077{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0xb0619e)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x278f20,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x580f3b){super(_0x580f3b);const _0x3ca96d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x3ca96d);}async['init'](){const _0x427bd4=this['editor']['plugins']['get'](tt),_0x225fdc=_0x427bd4['serverHistory'],_0x40cfd1=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x225fdc,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x427bd4['sessionId']});const _0x31dd9b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x43a572,_0x5330e5=await _0x5e4875['isBundleUploaded'](_0x40cfd1['connection'],_0x31dd9b);this['editor']['plugins']['get'](_0x278f20)['adapter']={'getRevision':async({revisionId:_0x23fb1b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x23fb1b)),'updateRevisions':async _0x34fcca=>{await this['_waitForServiceReady']();const _0x501381=this['_revisionTracker']['currentRevision'];if(_0x5330e5&&0x1===_0x34fcca['length']&&_0x34fcca[0x0]['id']===_0x501381['id'])return _0x34fcca;for(const _0x26df55 of _0x34fcca)_0x26df55['id']===_0x501381['id']&&(_0x26df55['isEmptyCurrent']=_0x26df55['fromVersion']===_0x26df55['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x34fcca,this['_lastRequestId'])['then'](_0xec9d6=>(this['_lastRequestId']=_0xec9d6,_0x34fcca))['catch'](_0x1f8f75=>{if(pt(_0x1f8f75)||'400'===_0x1f8f75['code']&&void 0x0!==_0x1f8f75['data']['wrongRequestId']){for(const _0x5c9c4c of _0x34fcca)this['_revisionTracker']['repository']['getRevision'](_0x5c9c4c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5c9c4c['id'],_0x5c9c4c,!0x1);if(pt(_0x1f8f75)&&'destroyed'!==this['editor']['state'])throw _0x1f8f75;return _0x34fcca;}throw _0x1f8f75;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x15e5ee,{revisionsData:_0x3b4cd4,requestId:_0x281f84})=>{Math['max'](..._0x3b4cd4['map'](_0x1778b6=>_0x1778b6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}):this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x40cfd1['connection']?.['state']&&(_0x40cfd1['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x11ae08,requestId:_0x1171ce}=await this['_revisionHistoryService']['connect'](_0x40cfd1['connection']);_0x40cfd1['addToReconnectionStack'](this),this['_lastRequestId']=_0x1171ce,await this['_fetchMissingUsers'](_0x11ae08);for(const _0xab94f0 of _0x11ae08)this['_revisionTracker']['addRevisionData'](_0xab94f0);this['listenTo'](_0x427bd4,'change:_isConnected',(_0x18647a,_0x248343,_0x2fdcd5)=>{_0x2fdcd5&&(this['_oldOffset']=_0x427bd4['_offset'],_0x18647a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0xeed547=this['editor']['plugins']['get'](z),_0x56d047=this['editor']['plugins']['get'](tt),_0x215aa0=async()=>{const _0x3eac47=this['_revisionTracker']['currentRevision'],_0x1f26c7=_0x3eac47['id'],_0x5cd889=_0x1f26c7!==_0x56d047['sessionId'];if(_0x5cd889){const _0x42443f=_0x56d047['_offset']-this['_oldOffset'],_0x3f7e9e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3eac47['toVersion']+_0x42443f!==_0x3f7e9e){const _0x22baf3=_0x3eac47['fromVersion']+_0x42443f,_0x505fda=this['editor']['plugins']['get'](_0x2c4aec),_0x2313e8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3eac47,'from':_0x22baf3,'to':_0x3f7e9e});_0x2313e8['id']=_0x3eac47['id'];const _0x387f27=_0x2313e8['authorsIds']['map'](_0x25318d=>_0x505fda['getUser'](_0x25318d));_0x3eac47['_update']({..._0x2313e8,'authors':_0x387f27},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3eac47['id'],_0x2313e8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3f7e9e,_0x3eac47['toVersion']!==_0x3eac47['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1f26c7)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1f26c7),this['_revisionTracker']['_createCurrentRevision'](_0x3f7e9e);}const {revisions:_0x3a8617,requestId:_0xcd3cfd}=await this['_revisionHistoryService']['reconnect'](_0xeed547['connection'],this['_lastRequestId']);_0x5cd889&&_0x3a8617['length']>0x0?_0x56d047['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3a8617),this['_handleRevisionsUpdate'](_0x3a8617,_0xcd3cfd),this['_revisionTracker']['sendBufferedUpdates']());};return _0x56d047['_isConnected']?_0x215aa0():new Promise((_0x400a1f,_0x1af3d0)=>{_0x56d047['once']('change:_isConnected',()=>{_0x215aa0()['then'](_0x400a1f)['catch'](_0x1af3d0);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x309f31=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x35e0a6=>{_0x35e0a6['off'](),_0x309f31();});});}['_getLatestVersionFromServerOperations'](){const _0x43b11e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x592cbe of _0x43b11e)if('marker'!==_0x592cbe['type']||_0x592cbe['affectsData'])return _0x592cbe['baseVersion']+0x1;}['_getLatestVersion'](){const _0x575144=this['editor']['plugins']['get'](tt);return new Promise(_0x44dc8c=>{_0x575144['_isPendingUpdate']?_0x575144['once']('change:_isPendingUpdate',()=>{_0x44dc8c(this['_getLatestVersionFromServerOperations']());}):_0x44dc8c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd8ccf1,_0x4a132d){const _0x25a90f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4a132d;for(const _0x3442d0 of _0xd8ccf1){const _0x4fc0da=_0x25a90f['getRevision'](_0x3442d0['id']);if(_0x4fc0da){if((_0x3442d0['fromVersion']||_0x3442d0['toVersion'])&&(_0x3442d0['diffData']=null),_0x4fc0da===this['_revisionTracker']['currentRevision']){const _0x54d083=Math['max'](_0x4fc0da['toVersion'],_0x3442d0['toVersion']),_0x5c3070=Math['max'](_0x4fc0da['fromVersion'],_0x3442d0['fromVersion']);let _0x43f921;_0x4fc0da['toVersion']===_0x3442d0['toVersion']&&_0x4fc0da['fromVersion']===_0x3442d0['fromVersion']?(_0x43f921=!0x0,this['_preventResendingRevisionData'](_0x3442d0)):_0x3442d0['toVersion']===_0x54d083&&_0x3442d0['fromVersion']===_0x5c3070?_0x43f921=!0x1:(_0x4fc0da['toVersion']===_0x54d083&&_0x4fc0da['fromVersion']===_0x5c3070||this['_fixRevision']({'revision':_0x4fc0da,'from':_0x5c3070,'to':_0x54d083}),_0x43f921=!0x0),_0x43f921&&(delete _0x3442d0['fromVersion'],delete _0x3442d0['toVersion'],delete _0x3442d0['diffData'],delete _0x3442d0['createdAt'],delete _0x3442d0['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3442d0),this['_preventResendingRevisionData'](_0x3442d0);}else this['_revisionTracker']['addRevisionData'](_0x3442d0);}const _0x51792d=_0x25a90f['getRevisions']();_0x51792d['reverse']();for(let _0x1592c5=0x0;_0x1592c5<_0x51792d['length']-0x1;_0x1592c5++){const _0x530c3c=_0x51792d[_0x1592c5],_0x1dc6d6=_0x51792d[_0x1592c5+0x1];if(_0x530c3c['fromVersion']<_0x1dc6d6['toVersion']){const _0x5d0e69=_0x1dc6d6['toVersion'],_0x49e43d=Math['max'](_0x5d0e69,_0x530c3c['toVersion']);this['_fixRevision']({'revision':_0x530c3c,'from':_0x5d0e69,'to':_0x49e43d});}}}['_fixRevision']({revision:_0x52b6e7,from:_0x4dfceb,to:_0x1d136a}={}){const _0x3fd3ee=this['editor']['plugins']['get'](_0x2c4aec),_0x6fa669=this['_revisionTracker']['buildRevisionData']({'revision':_0x52b6e7,'from':_0x4dfceb,'to':_0x1d136a});_0x6fa669['authors']=_0x6fa669['authorsIds']['map'](_0x21760a=>_0x3fd3ee['getUser'](_0x21760a)),_0x52b6e7['_update'](_0x6fa669);}['_preventResendingRevisionData'](_0x196174){const _0x3379de={};_0x3379de['id']=_0x196174['id'];for(const _0xbf2b66 of Object['keys'](_0x196174))'id'!==_0xbf2b66&&(_0x3379de[_0xbf2b66]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3379de['id'],_0x3379de,!0x0);}async['_fetchMissingUsers'](_0x14c401){const _0x4e4e7c=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x25fa5f}=this['editor']['plugins']['get'](z),_0x3298ce=new Set();for(const _0x4c5f35 of _0x14c401){for(const _0x17bac5 of _0x4c5f35['authorsIds'])_0x2daec4(_0x17bac5);_0x4c5f35['creatorId']&&_0x2daec4(_0x4c5f35['creatorId']);}if(0x0===_0x3298ce['size'])return;const _0x38b804=await _0x3fdc75['getMany'](_0x25fa5f,Array['from'](_0x3298ce));for(const _0x37f14c of _0x38b804)_0x4e4e7c['getUser'](_0x37f14c['id'])||_0x4e4e7c['addUser'](_0x37f14c);function _0x2daec4(_0x79747c){_0x4e4e7c['getUser'](_0x79747c)||_0x3298ce['add'](_0x79747c);}}};function pt(_0x438a68){return _0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55f077{static get['requires'](){return[_0x278f20,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x734c23{['_collapseAt'];constructor(_0x3fed50,_0x2d740d=0x6){super(_0x3fed50);const _0x12cb6d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2d740d,this['bind']('isHidden')['to'](this,'usersCount',_0x4f6d7a=>_0x4f6d7a<_0x2d740d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x12cb6d['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':_0x12cb6d['to']('usersCount',_0x24a406=>'+'+(_0x24a406-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x734c23{['items'];['keystrokes'];constructor(_0x1b450e){super(_0x1b450e);const _0x397d56=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x8e2249(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x397d56['if']('hasPopup'),'aria-expanded':_0x397d56['to']('isExpanded',_0x37f221=>this['hasPopup']&&String(_0x37f221)),'aria-label':_0x397d56['to']('hasPopup',_0x377101=>X(_0x1b450e,_0x377101?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x397d56['to']('hasPopup',_0x488ceb=>!!_0x488ceb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x397d56['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x397d56['to'](_0x568583=>{const _0x45ed57=_0x568583,_0x52352f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1c72a9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52352f?.['contains'](_0x45ed57['relatedTarget'])||_0x1c72a9?.['contains'](_0x45ed57['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x372d1f,_0x3c477c,_0x172e30)=>{this['element']&&(_0x172e30?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x734c23{['counterView'];['inlineListView'];constructor(_0x87e391,_0x1c8724=0x6){super(_0x87e391);const _0x56119d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c8724),this['inlineListView']=new vt(_0x87e391),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3d3d51 of this['inlineListView']['items'])_0x3d3d51['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',_0x56119d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x734c23{['listWrapperView'];constructor(_0x177741,_0xd6e9e4){super(_0x177741);const _0x3f73b=this['bindTemplate'];this['listWrapperView']=new bt(_0x177741,_0xd6e9e4),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x177741,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3f73b['to'](_0x34dc11=>{const _0xe97126=_0x34dc11,_0x1ea7f3=document['querySelector']('.ck-presence-list__list'),_0x52f205=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ea7f3?.['contains'](_0xe97126['relatedTarget'])||_0x52f205?.['contains'](_0xe97126['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x41f256{constructor(_0x48d134,_0x367b08){super(_0x48d134);const _0x357b31=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x367b08?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x357b31['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x357b31['to']('role'),'aria-label':_0x357b31['to']('ariaLabel'),'aria-labelledby':_0x357b31['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3de184['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xe88a55=this['element'];_0xe88a55&&(this['_isScrollable']=Math['max'](_0xe88a55['scrollHeight'],_0xe88a55['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x81bb6c{['userView'];constructor(_0x2b1a84,_0x18e7f2,_0x123ddf){super(_0x2b1a84);const _0xc89086=this['bindTemplate'];this['userView']=new _0x111a61(_0x2b1a84,_0x18e7f2);const _0xff1192={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x18e7f2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x18e7f2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18e7f2['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18e7f2['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18e7f2['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x123ddf&&(_0xff1192['tag']='button',_0xff1192['on']={'click':_0xc89086['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xff1192);}['focus'](){this['element']['focus']();}},It=class extends _0x734c23{['userView'];['markerView'];constructor(_0x5e57da,_0x3355da,_0x545c38){super(_0x5e57da);const _0x59e596=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x111a61(_0x5e57da,_0x3355da),this['markerView']=new St(_0x5e57da,_0x3355da);const _0x4f19a6=new _0x4b0e72(_0x5e57da);_0x4f19a6['template']['tag']='span',_0x4f19a6['text']=_0x3355da['name'];const _0x382ffc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x59e596['to']('isFocusable',_0x63b34=>!!_0x63b34&&0x0),'aria-labelledby':_0x4f19a6['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x59e596['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x59e596['to']('hasTooltip',_0x5c1753=>!_0x5c1753),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4f19a6]};_0x545c38&&(_0x382ffc['tag']='button',_0x382ffc['on']={'click':_0x59e596['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x382ffc);}},St=class extends _0x734c23{constructor(_0x30dcfe,_0x361b55){super(_0x30dcfe),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x361b55['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x361b55['color']['getColorVariable'](),'--ck-user-color-alpha':_0x361b55['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x198b15{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x565955){super(_0x565955),this['context']['config']['define']('presenceList',Tt);const _0x2bc697=_0x565955['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2bc697)throw new _0x247b99('presencelist-collapseat-invalid-format',this);if(_0x2bc697<0x1)throw new _0x247b99('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x306590(),this['balloonPanelView']=new _0x40139a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5ac2dd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5ac2dd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1469d4,_0xc29b14)=>{this['_handleUserAdd'](_0xc29b14);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x338862,_0x2256f6)=>{this['_handleUserRemove'](_0x2256f6);});}['_createView'](){const _0x1b5655=this['context'],_0x4754db=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x197bd6=this['balloonPanelView'];if(!_0x368f5b(_0x1b5655['config']['get']('presenceList.container')))throw new _0x247b99('presencelist-missing-container',this);return _0x4754db['counterView']['bind']('usersCount')['to'](this),_0x4754db['bind']('isCollapsed')['to'](this,'usersCount',_0x48949b=>{const {collapseAt:_0x6a7e4f}=_0x1b5655['config']['get']('presenceList'),_0x24d4b9=_0x48949b>=_0x6a7e4f;if(_0x24d4b9&&!_0x4754db['inlineListView']['items']['find'](_0x21b0a4=>_0x21b0a4 instanceof wt)){const _0x56e4ae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x56e4ae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4754db['inlineListView']['items']['add'](_0x4754db['counterView']);}return _0x24d4b9||this['hideDropdown'](),_0x24d4b9;}),_0x4754db['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x45a28c=>{const _0x36fcd2=_0x1b5655['config']['get']('presenceList'),_0x53f563=new It(_0x1b5655['locale'],_0x45a28c,!!_0x36fcd2['onClick']);return _0x53f563['bind']('hasTooltip')['to'](_0x4754db,'isCollapsed',_0x5b6246=>!_0x5b6246),_0x53f563['bind']('isFocusable')['to'](_0x4754db,'isCollapsed',_0x2a510e=>!_0x2a510e),_0x36fcd2['onClick']&&this['listenTo'](_0x53f563,'execute',()=>{this['view']['isCollapsed']||_0x36fcd2['onClick'](_0x45a28c,_0x53f563['element']);}),_0x53f563;}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4754db['inlineListView']['keystrokes']['set']('Enter',(_0x336c65,_0x23faaa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x23faaa());}),_0x4754db['render'](),_0x197bd6['render'](),_0x955340({'emitter':_0x4754db,'activator':()=>_0x197bd6['isVisible'],'contextElements':[_0x197bd6['element'],_0x4754db['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1b5655['config']['get']('presenceList.container')['appendChild'](_0x4754db['element']),this['_bodyCollection']=new _0x34295a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4754db;}['_handleUserAdd'](_0x709d4){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x709d4['isMe'])return;const _0x27be9d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x27be9d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5652db=_0x709d4['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x709d4,_0x5652db);}['_handleUserRemove'](_0x37757c){this['usersCount']--;const {collapseAt:_0x4d4e81}=this['context']['config']['get']('presenceList'),_0x50f3ce=this['usersCount']>=_0x4d4e81;if(this['currentDisplayedUsers']['get'](_0x37757c['id']))this['currentDisplayedUsers']['remove'](_0x37757c['id']);else{if(_0x50f3ce&&this['currentDisplayedUsers']['length']+0x1===_0x4d4e81-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)<this['usersCount']){for(const _0x3ee291 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3ee291['id'])&&(this['currentDisplayedUsers']['add'](_0x3ee291,Math['min'](this['currentDisplayedUsers']['length']-(_0x50f3ce?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)===_0x4d4e81-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1a3846=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x1a3846['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4af046}=this['presenceDropdownView'];_0x4af046['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x321aae=>{if(!_0x1a3846['displayMe']&&_0x321aae['isMe'])return null;const _0x5569c5=new kt(this['context']['locale'],_0x321aae,!!_0x1a3846['onClick']);return _0x1a3846['onClick']&&this['listenTo'](_0x5569c5,'execute',()=>{_0x1a3846['onClick'](_0x321aae,_0x5569c5['element']);}),_0x5569c5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4af046['focus'](),_0x4af046['checkIfScrollable']();const _0xe32af7=(_0x5227e5,_0xc6c471)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc6c471();};_0x4af046['keystrokes']['set']('Esc',_0xe32af7),_0x4af046['keystrokes']['set']('Shift+Tab',_0xe32af7),_0x4af046['keystrokes']['set']('Tab',(_0x42c890,_0x223629)=>{!function(_0x3466cd){const _0x4f2c49=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a92ab=>_0x3a92ab+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5e6845=[...document['body']['querySelectorAll'](_0x4f2c49)]['filter'](_0x5f425=>_0x5f425===document['activeElement']||_0x5f425['offsetWidth']+_0x5f425['offsetHeight']>0x0)['sort']((_0x43f9ab,_0x85f105)=>(_0x43f9ab['tabIndex']||0x0)-(_0x85f105['tabIndex']||0x0)),_0x384053=_0x5e6845[(_0x5e6845['indexOf'](_0x3466cd)+0x1)%_0x5e6845['length']];_0x384053&&_0x384053['focus']();}(this['view']['element']),this['hideDropdown'](),_0x223629();}),_0x4af046['focusTracker']['add'](this['view']['element']),_0x4af046['focusTracker']['on']('change:isFocused',(_0x14d557,_0x2080e5,_0x1e3091)=>{_0x1e3091||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x198b15{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{Context as _0x300413,ContextPlugin as _0x3c12a8,PendingActions as _0x15032a,Plugin as _0x334777}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x206e44,Collection as _0xe676b9,DomEmitterMixin as _0x3def01,KeystrokeHandler as _0x4acf94,global as _0x50bb92,uid as _0x36a117,version as _0x50f32d}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x439950,BodyCollection as _0x4acfe4,LabelView as _0x42795,ListItemView as _0x21f6e8,ListView as _0x18c9ed,Notification as _0x58bc3a,View as _0x3fb656,clickOutsideHandler as _0x216276}from'@ckeditor/ckeditor5-ui';import{History as _0x51009c,InsertOperation as _0x35f3ab,MarkerOperation as _0x411b37,ModelLiveRange as _0x15607a,NoOperation as _0x18f097,OperationFactory as _0x1436e4,RootAttributeOperation as _0x13c8c6,transformOperationSets as _0x494b49}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x313778}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xad3446,CommentsService as _0x4fa428,EditorService as _0x1850e4,RevisionHistoryService as _0x5ce271,TrackChangesService as _0x10b7b0,User as _0x33a205,WEB_SOCKET_GATEWAY_STATES as _0x585a07,WebSocketGateway as _0x129555}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x44a44e,Users as _0x121396}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x4ed3e2}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2a293f,TrackChangesEditing as _0x418122}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x4e5806,CommentsEditing as _0x59e8f7,CommentsRepository as _0x52d7db}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x1757ab}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x398bc6}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x3c12a8{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x129555)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x313778,_0x58bc3a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x599ec9){super(_0x599ec9),this['set']('state',_0x585a07['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3def01())();}['init'](){const _0x2a9fe4=this['context'],_0x24be5f=_0x2a9fe4['plugins']['get'](_0x313778),_0x7ef446=_0x2a9fe4['plugins']['get'](_0x58bc3a);if(!_0x24be5f['token'])throw new _0x206e44('websocketgateway-missing-token',this);if(!_0x24be5f['webSocketUrl'])throw new _0x206e44('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x24be5f['token'],_0x24be5f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x251588=>{if(this['connection']=_0x251588,this['bind']('state')['to'](_0x251588,'state',this,'_isBrowserOffline',(_0x34eaf0,_0x198afb)=>('connected'!==_0x34eaf0&&(this['_shouldPluginsReconnect']=!0x0),_0x198afb||_0x34eaf0!==_0x585a07['CONNECTED']?_0x585a07['DISCONNECTED']:this['state']==_0x585a07['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x585a07['CONNECTING']):_0x585a07['CONNECTED'])),this['connection']['on']('error',(_0x289bdd,_0xb4d11b)=>{if('limitExceeded'!==_0xb4d11b['code'])throw console['error'](_0xb4d11b),new _0x206e44('cloudservices-init',null,{'originalError':_0xb4d11b});_0x7ef446['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'});}),!_0x251588['me'])return new Promise(_0x5a0c84=>_0x251588['on']('change:me',_0x5a0c84));})['catch'](_0x36498f=>{throw console['error'](_0x36498f),new _0x206e44('cloudservices-init',null,{'originalError':_0x36498f});});}['addToReconnectionStack'](_0xad0820){if('function'!=typeof _0xad0820['reconnect'])throw new _0x206e44('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xad0820))throw new _0x206e44('websocketgateway-plugin-already-registered',this,{'name':_0xad0820['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xad0820);}['removeFromReconnectionStack'](_0x436dcb){this['_reconnectionStack']['delete'](_0x436dcb);}['isInReconnectionStack'](_0x1a7a2e){return this['_reconnectionStack']['has'](_0x1a7a2e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b9bb4=>_0x1b9bb4['reconnect']())))['then'](()=>this['state']=_0x585a07['CONNECTED'])['catch'](_0x2bd6f0=>{throw console['error'](_0x2bd6f0),new _0x206e44('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x585a07['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x3c12a8{['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,_0x121396];}constructor(_0x1b51b3){super(_0x1b51b3),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe676b9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x121396);}['init'](){const _0x27cad4=this['context']['plugins']['get'](z);this['listenTo'](_0x27cad4,'change:state',(_0x595f40,_0x5d8527,_0x2b5060)=>{if('connected'!==_0x2b5060)this['channelSessions']['forEach'](_0x4c04e2=>_0x4c04e2['clear']()),this['channelConnectedUsers']['forEach'](_0x10691b=>_0x10691b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x39297f,_0x2299a9]of this['_registeredSessions'])for(const _0x53396c of _0x2299a9)this['_handleSessionAdd'](_0x39297f,_0x53396c);}}),this['_createUser'](_0x27cad4['connection']['me'],!0x0);}['register'](_0x208532,_0x43b0cc){if(this['_registeredSessions']['has'](_0x208532))throw new _0x206e44('sessions-register-already-registered',null,{'channelId':_0x208532});this['_registeredSessions']['set'](_0x208532,_0x43b0cc),this['channelSessions']['set'](_0x208532,new _0xe676b9()),this['channelConnectedUsers']['set'](_0x208532,new _0xe676b9()),this['listenTo'](_0x43b0cc,'add',(_0x39981d,_0x5077d7)=>this['_handleSessionAdd'](_0x208532,_0x5077d7)),this['listenTo'](_0x43b0cc,'remove',(_0x407831,_0x226444)=>this['_handleSessionRemove'](_0x208532,_0x226444));for(const _0x38e5ec of _0x43b0cc)this['_handleSessionAdd'](_0x208532,_0x38e5ec);}['unregister'](_0x53057a){if(!this['_registeredSessions']['has'](_0x53057a))throw new _0x206e44('sessions-unregister-not-exist',null,{'channelId':_0x53057a});const _0x55d089=this['_registeredSessions']['get'](_0x53057a);this['stopListening'](_0x55d089);for(const _0x53c1b0 of _0x55d089)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x53057a,_0x53c1b0);this['_registeredSessions']['delete'](_0x53057a),this['channelSessions']['delete'](_0x53057a),this['channelConnectedUsers']['delete'](_0x53057a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xf9c3cc){for(const _0x42c419 of this['channelSessions']['values']())for(const _0x51017f of _0x42c419)if(_0x51017f['id']===_0xf9c3cc)return _0x51017f['user'];}['getUserSessions'](_0x231d71,_0x1378bc){const _0x1b4872=_0x1378bc?[this['channelSessions']['get'](_0x1378bc)]:this['channelSessions']['values'](),_0x39ff0d=new Set();for(const _0x23540b of _0x1b4872)for(const _0xe69123 of _0x23540b)_0xe69123['user']['id']===_0x231d71['id']&&_0x39ff0d['add'](_0xe69123['id']);return _0x39ff0d;}['getUserRole'](_0x3f402){for(const _0xc730e0 of this['channelSessions']['values']())for(const _0x395376 of _0xc730e0)if(_0x395376['user']===_0x3f402)return _0x395376['role'];}['_handleSessionAdd'](_0x52dc2d,_0xa7763a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xd3831=_0xa7763a['user'],_0x25f4c6=this['_users']['getUser'](_0xd3831['id'])||this['_createUser'](_0xd3831),_0x5dcac5=Object['assign']({},_0xa7763a,{'user':_0x25f4c6});if(this['channelSessions']['get'](_0x52dc2d)['add'](_0x5dcac5),!_0xd3831['hiddenInPresenceList']){const _0x27c786=this['channelConnectedUsers']['get'](_0x52dc2d);_0x27c786['has'](_0x25f4c6['id'])||_0x27c786['add'](_0x25f4c6),this['allConnectedUsers']['has'](_0x25f4c6['id'])||_0xd3831['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x25f4c6,_0x25f4c6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x52dc2d,{'channelId':_0x52dc2d,'session':_0x5dcac5});}['_handleSessionRemove'](_0x1ff18c,_0x188fb6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3cd6d8=this['channelConnectedUsers']['get'](_0x1ff18c),_0x2afc74=_0x188fb6['user'];_0x2afc74['id']&&(this['channelSessions']['get'](_0x1ff18c)['remove'](_0x188fb6['id']),_0x3cd6d8['has'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74,_0x1ff18c)['size']&&_0x3cd6d8['remove'](_0x2afc74['id']),this['allConnectedUsers']['get'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74)['size']&&this['allConnectedUsers']['remove'](_0x2afc74['id']));}['_createUser'](_0x200fca,_0x4f2373){const _0x4cde2c=this['_users']['addUser'](_0x200fca);return _0x4f2373&&this['_users']['defineMe'](_0x200fca['id']),_0x4cde2c['orderNumber']=this['_uniqueUsersCount']++,_0x4cde2c;}},K=class extends _0x334777{['_domEmitter']=new(_0x3def01())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xc32211=this['editor'],_0x261755=_0xc32211['plugins']['get'](Y);_0xc32211['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1b0510,{writer:_0x45c26c})=>function(_0x2d3075,_0x12136d,_0x535e90,_0x4bdc80){const _0x5c64a8=_0x2d3075['markerName']['split'](':')[0x2],_0x225557=_0x535e90['getUserBySessionId'](_0x5c64a8);if(!_0x225557||_0x5c64a8===_0x535e90['mySessionId'])return;if(!_0x4bdc80['model']['schema']['checkChild'](_0x2d3075['markerRange']['start'],'$text'))return;const _0x305164={'class':'ck-user__marker\x20'+_0x225557['color']['getMarkerClass'](),'style':Q(_0x225557),'data-name':_0x225557['name'],'data-session-id':_0x5c64a8},_0x2613a2=_0x4bdc80['model']['markers']['get'](_0x2d3075['markerName'])['getStart'](),_0x113179=_0x2613a2['nodeAfter'],_0x4ca9aa=_0x4bdc80['model']['schema'];if(_0x113179&&_0x4ca9aa['isObject'](_0x113179)&&_0x4ca9aa['isInline'](_0x113179)&&!_0x4bdc80['model']['markers']['get']('user:range:'+_0x5c64a8)['getRange']()['isCollapsed'])return;const _0x2cb70d=_0x2613a2['parent'];return _0x4bdc80['model']['schema']['isLimit'](_0x2cb70d)&&!_0x4bdc80['model']['hasContent'](_0x2cb70d)&&(_0x305164['contenteditable']=!0x1),function(_0x27228a,_0x32f5a6,_0x50c053){const _0xc8ce2e=_0x27228a['createUIElement']('span',_0x32f5a6);return _0x27228a['setCustomProperty']('userPositionMarker',!0x0,_0xc8ce2e),_0xc8ce2e['render']=function(_0x52e172){const _0x4c9060=this['toDomElement'](_0x52e172),_0x3a1939=document['createElement']('span');return _0x3a1939['classList']['add']('ck-user__marker-tooltip'),_0x3a1939['setAttribute']('contenteditable','false'),_0x3a1939['setAttribute']('spellcheck','false'),_0x3a1939['textContent']=_0x50c053['name'],_0x4c9060['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3a1939['outerHTML']+'⁠',_0x4c9060['addEventListener']('mouseenter',()=>{_0x4c9060['classList']['add']('ck-user__marker_hovered');}),_0x4c9060['addEventListener']('mouseleave',()=>{_0x4c9060['classList']['remove']('ck-user__marker_hovered');}),_0x4c9060;},_0xc8ce2e['isSimilar']=function(_0x260090){return!(!this['getCustomProperty']('userPositionMarker')||!_0x260090['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x260090['getAttribute']('data-session-id'));},_0xc8ce2e;}(_0x12136d,_0x305164,_0x225557);}(_0x1b0510,_0x45c26c,_0x261755,_0xc32211)}),_0xc32211['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x190569=>function(_0x3fe495,_0x1f0615){const _0x203ec2=_0x3fe495['markerName']['split'](':')[0x2];if(_0x203ec2===_0x1f0615['mySessionId'])return null;const _0x5641e9=_0x1f0615['getUserBySessionId'](_0x203ec2);return _0x5641e9?{'id':_0x203ec2,'classes':['ck-user__selection',_0x5641e9['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5641e9),'data-session-id':_0x203ec2},'priority':0x7d0+_0x5641e9['orderNumber']}:{'id':_0x203ec2,'classes':[]};}(_0x190569,_0x261755)}),function(_0x12c019){const _0x245736=_0x12c019['model'],_0x96ee2e=new Map(),_0x3e7f2e=_0x12c019['plugins']['get'](Y);_0x245736['markers']['on']('update:user:range',(_0x44fba5,_0x3cb097,_0x46fc2a,_0x1d9fed)=>{if(!_0x1d9fed&&_0x96ee2e['get'](_0x3cb097['name']))return _0x96ee2e['get'](_0x3cb097['name'])['detach'](),void _0x96ee2e['delete'](_0x3cb097['name']);const _0x14fe6a=_0x3cb097['name']['split'](':')[0x2];if(_0x14fe6a===_0x3e7f2e['mySessionId'])return;const _0x4a01a9='user:position:'+_0x14fe6a;_0x245736['markers']['has'](_0x4a01a9)&&_0x12c019['editing']['reconvertMarker'](_0x4a01a9),_0x3cb097['on']('change:range',(_0x4b5559,_0x30a564,_0x3c15bd)=>{if('$graveyard'!=_0x30a564['root']['rootName']&&'$graveyard'==_0x3cb097['getRange']()['root']['rootName']&&!_0x96ee2e['has'](_0x3cb097['name'])){const _0x2b359a=_0x245736['schema']['getNearestSelectionRange'](_0x3c15bd['deletionPosition']);if(_0x2b359a){const _0x5c8af3=_0x15607a['fromRange'](_0x2b359a);_0x96ee2e['set'](_0x3cb097['name'],_0x5c8af3),_0x5c8af3['on']('change:range',(_0x243036,_0x43e96b,_0x4187e3)=>{if('$graveyard'==_0x5c8af3['root']['rootName']){const _0x50eb9b=_0x245736['schema']['getNearestSelectionRange'](_0x4187e3['deletionPosition']);_0x50eb9b?(_0x5c8af3['start']=_0x50eb9b['start'],_0x5c8af3['end']=_0x50eb9b['end']):(_0x96ee2e['delete'](_0x3cb097['name']),_0x5c8af3['detach']());}});}}});}),_0x245736['document']['on']('change',()=>{_0x96ee2e['size']>0x0&&_0x245736['enqueueChange']({'isUndoable':!0x1},_0x4bb98a=>{for(const [_0x59923f,_0x13c246]of _0x96ee2e)'$graveyard'==_0x245736['markers']['get'](_0x59923f)['getRange']()['root']['rootName']&&(J(_0x59923f['split'](':')[0x2],_0x13c246['toRange'](),_0x245736,_0x4bb98a),_0x13c246['detach']());_0x96ee2e['clear']();});});}(_0xc32211),this['_domEmitter']['listenTo'](_0x50bb92['document'],'keydown',(_0x290af6,{key:_0x3d7c59})=>{'Escape'===_0x3d7c59&&function(_0x4758b7){_0x4758b7['editing']['view']['change'](_0x534131=>{for(const _0x12fc9d of _0x4758b7['model']['markers']){if(!_0x12fc9d['name']['startsWith']('user:position'))continue;const _0x5ad455=_0x4758b7['editing']['mapper']['markerNameToElements'](_0x12fc9d['name']);if(_0x5ad455){for(const _0x4120a2 of _0x5ad455)_0x534131['removeClass']('ck-user__marker_hovered',_0x4120a2);}}});}(_0xc32211);},{'useCapture':!0x0});}['afterInit'](){const _0x39fa58=this['editor'],_0x4dcc4f=_0x39fa58['commands']['get']('undo');_0x4dcc4f&&_0x39fa58['model']['on']('applyOperation',(_0x4acb23,_0x242bd0)=>{const _0x51c132=_0x242bd0[0x0];if(!_0x51c132['isDocumentOperation'])return;if('marker'!=_0x51c132['type']||!_0x51c132['name']['startsWith']('user:'))return;const _0xa7b2ac=_0x51c132['batch'];_0x4dcc4f['_createdBatches']['has'](_0xa7b2ac)&&(_0x51c132['newRange']=_0x51c132['oldRange']?_0x39fa58['model']['createRange'](_0x51c132['oldRange']['start'],_0x51c132['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3ab5fe=this['editor'],_0x474bb9=_0x3ab5fe['model']['document'],_0x5650bc=_0x3ab5fe['plugins']['get'](Y);_0x3ab5fe['model']['enqueueChange']({'isUndoable':!0x1},_0x493304=>{const _0xa40456='user:range:'+_0x5650bc['mySessionId'],_0x239794='user:position:'+_0x5650bc['mySessionId'],_0x5b66dd=_0x3ab5fe['model']['markers']['has'](_0xa40456);_0x3ab5fe['editing']['view']['hasDomSelection']?J(_0x5650bc['mySessionId'],_0x474bb9['selection']['getFirstRange'](),_0x3ab5fe['model'],_0x493304):_0x5b66dd&&(_0x493304['removeMarker'](_0xa40456),_0x493304['removeMarker'](_0x239794));});}};function J(_0x3617ac,_0x17eaf4,_0x238dc8,_0x264681){const _0x209e05='user:range:'+_0x3617ac,_0x20c462='user:position:'+_0x3617ac,_0xca7aaa=_0x17eaf4['getContainedElement']();let _0x23105b=_0x17eaf4['start'];if(_0xca7aaa&&_0xca7aaa['is']('element','tableCell')){const _0x104893=function(_0x44cc11,_0x100049){for(const _0x4d13b3 of _0x44cc11['getPositions']())if(_0x100049['schema']['checkChild'](_0x4d13b3,'$text'))return _0x4d13b3;}(_0x17eaf4,_0x238dc8);_0x104893&&(_0x23105b=_0x104893,_0x17eaf4=_0x264681['createRange'](_0x23105b));}const _0xe170f7=_0x264681['createRange'](_0x23105b);_0x238dc8['markers']['has'](_0x209e05)?(_0x264681['updateMarker'](_0x209e05,{'range':_0x17eaf4}),_0x264681['updateMarker'](_0x20c462,{'range':_0xe170f7})):(_0x264681['addMarker'](_0x209e05,{'range':_0x17eaf4,'usingOperation':!0x0}),_0x264681['addMarker'](_0x20c462,{'range':_0xe170f7,'usingOperation':!0x0}));}function Q(_0x55fed6){return'--ck-user-color:'+_0x55fed6['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x55fed6['color']['getColorAlphaVariable']()+';';}function X(_0x4b99f5,_0x4a7995,_0x3d7e3b){const _0x3d7d82=_0x4b99f5['t'],t=_0x4b99f5['t'];switch(_0x4a7995){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 _0x3d7d82({'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'},_0x3d7e3b);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x334777{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xad3446)());['_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,_0x15032a,_0x121396,_0x58bc3a];}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 _0x2f4d45=this['serverHistory']['getOperations']();for(let _0x1c036f=_0x2f4d45['length']-0x1;_0x1c036f>=0x0;_0x1c036f--){const _0x4d6f74=_0x2f4d45[_0x1c036f];if(!this['_disconnectionOperations']['has'](_0x4d6f74))return _0x4d6f74['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47487e){if(super(_0x47487e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x51009c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x206e44('collaboration-missing-channelid',this);const _0x1af61f=_0x47487e['config']['get']('cloudServices.bundleVersion')||_0x50f32d;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x1af61f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4ed3e2(),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 _0x2f9085=this['editor'],_0x34edfa=_0x2f9085['plugins']['get'](_0x121396),_0x2328b3=_0x2f9085['plugins']['get'](z);this['listenTo'](_0x34edfa,'getOperationAuthor',(_0x433457,_0x7ffba8)=>{const _0xbfe28c=_0x7ffba8[0x0];_0xbfe28c['_authorId']&&(_0x433457['return']=_0x34edfa['getUser'](_0xbfe28c['_authorId']),_0x433457['stop']()),null===_0xbfe28c['_authorId']&&(_0x433457['return']=null,_0x433457['stop']());},{'priority':'high'}),this['listenTo'](_0x2f9085['model']['document']['selection'],'change:range',(_0x3a88db,_0x1227e3)=>{_0x1227e3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2f9085['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2f9085['model']['on']('applyOperation',(_0x58a5b5,_0x673624)=>{const _0x4c6604=_0x673624[0x0];_0x4c6604['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c6604),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2328b3,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x347f04,_0x45082f,_0x3b076e)=>'connected'===_0x347f04&&!_0x45082f&&!_0x3b076e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3edead=this['editor']['plugins']['get'](Y),_0x3c76e0=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3edead['unregister'](this['_channelId']);const _0x263733=await this['_service']['reconnect'](_0x3c76e0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x263733)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47bec5=await this['_service']['getConnectedSessions']();_0x3edead['register'](this['_channelId'],_0x47bec5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1705d9){if(function(_0x11fac3){return'404'===_0x11fac3['code'];}(_0x1705d9)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2eb009){return'409'===_0x2eb009['code'];}(_0x1705d9)){const _0x162419=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'](_0x162419);}else{if(!(_0x1705d9 instanceof et))throw _0x1705d9;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2005ca=this['editor']['plugins']['get'](z),_0x3aad56=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3aad56['channelSessions']['has'](this['_channelId'])&&_0x3aad56['unregister'](this['_channelId']),_0x2005ca['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2bac0c){if(this['sessionId']!==_0x2bac0c['sessionId']&&this['_lastSyncedOperationId']!==_0x2bac0c['lastOperationId'])throw new et();return this['sessionId']=_0x2bac0c['sessionId'],this['_handleServerResponse']([],{..._0x2bac0c,'wereChangesApplied':!0x1,'data':_0x2bac0c['data']},'reconnect');}async['_connectService'](_0x5a94ed,_0x1b393e=!0x1){const {connection:_0x2f52f7}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x2f52f7,this['_channelId'])['then'](_0xff9aef=>this['_initSessionsHandling'](_0xff9aef))['catch'](_0x26264b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x26264b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4c0ce6,_0x2341b7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2341b7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x2ccf91=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a94ed);this['_isPendingUpdate']=!0x0;const _0x367a48=await this['_service']['connect'](_0x2f52f7,this['_compressOperations'](_0x5a94ed),_0x2ccf91);if(this['sessionId']=_0x367a48['sessionId'],_0x1b393e){if(!_0x367a48['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x367a48['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5a94ed,_0x367a48,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x367a48,_0x5a94ed);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4d56f0=this['editor']['plugins']['get'](Y),_0x259c65=this['editor']['plugins']['get'](K),_0xe5e681=_0x4d56f0['channelSessions']['get'](this['_channelId']);_0xe5e681&&_0xe5e681['length']>0x1?_0x259c65['createUserMarkerOperations']():this['listenTo'](_0x4d56f0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4d56f0['channelSessions']['get'](this['_channelId'])['length']&&_0x259c65['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xf28253,_0x366d9a,_0x53aec2,_0x8c6f5a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x366d9a){const _0x4d3de4=this['_decompressOperations'](_0x53aec2,_0x8c6f5a);await this['_fetchMissingUsers'](_0x4d3de4),this['_handleExternalOperations'](_0x4d3de4,_0x366d9a,_0x53aec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2db474}=this['editor'];let _0x466815;try{_0x466815=await this['_service']['getDocumentDetails']();}catch{const _0x2fa22c=X(_0x2db474,'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'](_0x2fa22c);}const _0x303fea=_0x466815['currentDocumentSession']||_0x466815['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x303fea['lastOperationId']){const _0x5657ac=X(_0x2db474,'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'](_0x5657ac);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x40d7eb=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x40d7eb['connection']||'connected'!==_0x40d7eb['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x355d00=this['editor']['plugins']['get'](Y);_0x355d00['channelSessions']['has'](this['_channelId'])&&_0x355d00['unregister'](this['_channelId']),_0x40d7eb['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x29dd67){const _0x2ec673=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2ec673,'sessionAdd:'+this['_channelId'],(_0x1aadf8,{session:_0x4b998b})=>{if(_0x4b998b['id']===_0x2ec673['mySessionId']){_0x1aadf8['off']();const _0x451568=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ee4f3=_0x4b998b['permissions'];_0x451568&&_0x451568['isEnabled']&&(_0x1ee4f3=_0x1ee4f3['filter'](_0x87e127=>'document:write'!==_0x87e127)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ee4f3,this['_channelId']);}}),_0x2ec673['register'](this['_channelId'],_0x29dd67);}['_initThrowingOnDataSet'](){const _0x3d13c1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a41f2)=>{if(!_0x5a41f2[_0x5a41f2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x206e44('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3d13c1['apply'](this['editor']['data'],_0x5a41f2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x386013,[_0x381572])=>{if(this['_document']['version'])throw new _0x206e44('realtimecollaborationclient-init-document-already-initialized',this);_0x386013['stop'](),this['_setPendingAction']();const _0x53cfb7=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x3efe9a])=>!_0x3efe9a['lazyLoad'])['map'](([_0x1a02fd,_0x2e109b])=>[_0x1a02fd,_0x2e109b['modelAttributes']||{}])),_0x16e252=this['_getOperationsFromInitData'](_0x381572,_0x53cfb7);0x0==_0x16e252['length']&&_0x16e252['push'](new _0x18f097(0x0)),_0x386013['return']=this['_connectService'](_0x16e252)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1a2e20=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1a2e20))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x334e71,[_0x20237b,_0x81c56e])=>{_0x334e71['stop']();const _0x3633ab=this['editor']['model']['document']['getRoot'](_0x20237b);if(!this['_knownRootNames']['has'](_0x20237b)){const _0x359c4e=_0x81c56e&&_0x81c56e['data']?_0x81c56e['data']:'',_0x21637e=_0x81c56e&&_0x81c56e['attributes']?_0x81c56e['attributes']:{};await this['_loadRoot'](_0x20237b,_0x359c4e,_0x21637e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3633ab['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3633ab);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x57c05a){const _0x4ca995=this['editor']['plugins']['get'](_0x121396),{connection:_0x54edb1}=this['editor']['plugins']['get'](z),_0x1113f6=new Set();for(const _0x28fd8a of _0x57c05a){const _0x3afe11=_0x28fd8a['_authorId'];_0x3afe11&&!_0x4ca995['getUser'](_0x3afe11)&&_0x1113f6['add'](_0x3afe11);}if(0x0===_0x1113f6['size'])return;const _0x3815a6=await _0x33a205['getMany'](_0x54edb1,Array['from'](_0x1113f6));for(const _0x356e18 of _0x3815a6)_0x4ca995['getUser'](_0x356e18['id'])||_0x4ca995['addUser'](_0x356e18);}['_getOperationsFromInitData'](_0x266120,_0x3475f7={}){const _0x14eb9f=this['editor']['model'],_0xb68ba4=[];let _0x4c73f4=0x0;const _0x457521='string'==typeof _0x266120?{'main':_0x266120}:_0x266120;for(const _0x43a813 of Object['keys'](_0x457521)){if(!this['_document']['roots']['has'](_0x43a813))throw new _0x206e44('realtimecollaborationclient-init-non-existent-root',this);const _0x42d22c=this['_document']['getRoot'](_0x43a813),_0xebbf5e=this['editor']['data']['parse'](_0x457521[_0x43a813],_0x42d22c),_0x6f314c=new _0x35f3ab(_0x14eb9f['createPositionAt'](_0x42d22c,0x0),_0xebbf5e,_0x4c73f4++);_0xb68ba4['push'](_0x6f314c);for(const [_0x591196,_0x5edc0d]of _0xebbf5e['markers']){const _0x460b4d=new _0x411b37(_0x591196,null,_0x14eb9f['createRange'](_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['start']['path']['slice']()),_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['end']['path']['slice']())),_0x14eb9f['markers'],!0x0,_0x4c73f4++);_0xb68ba4['push'](_0x460b4d);}}if(_0x3475f7)for(const [_0x30992d,_0x1772e7]of Object['entries'](_0x3475f7)){const _0x4ec43f=_0x14eb9f['document']['getRoot'](_0x30992d);if(!_0x4ec43f)throw new _0x206e44('multi-root-editor-root-attributes-no-root',null);for(const [_0x435b5d,_0x45ecf6]of Object['entries'](_0x1772e7))if(null!==_0x45ecf6){const _0x474ba2=new _0x13c8c6(_0x4ec43f,_0x435b5d,null,_0x45ecf6,_0x4c73f4++);_0xb68ba4['push'](_0x474ba2);}}return _0xb68ba4;}async['_loadRoot'](_0x27918a,_0x216f15,_0xb9d377){this['_getOperationsFromInitData']({[_0x27918a]:_0x216f15},{[_0x27918a]:_0xb9d377})['forEach']((_0x11ebb6,_0x3edbea)=>{_0x11ebb6['baseVersion']=this['_document']['version']+_0x3edbea,_0x11ebb6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x11ebb6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1ad0f9,_0x698ebe){let _0x2928f6;this['_offset']=_0x1ad0f9['offset'];const _0x541738=_0x1ad0f9['wereChangesApplied']&&!_0x1ad0f9['initData'],_0x24cdea=_0x541738?0x0:_0x1ad0f9['data']['baseVersion'];if(_0x698ebe['forEach'](_0x5e4203=>{_0x5e4203['_isInit']=!0x0,_0x5e4203['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x5e4203['_authorId']=null;}),_0x541738)_0x2928f6=_0x698ebe,this['_applyOperationsSet'](_0x2928f6,_0x541738);else{if(_0x1ad0f9['initData']){const _0x35cf38=this['_getOperationsFromInitData'](_0x1ad0f9['initData']);this['_document']['history']['version']=-_0x35cf38['length'],_0x35cf38['forEach'](_0x342c56=>{_0x342c56['baseVersion']-=_0x35cf38['length'],_0x342c56['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x342c56['_isInit']=!0x0,_0x342c56['_authorId']=null;}),this['_applyOperationsSet'](_0x35cf38,!0x0),this['serverHistory']['version']=-_0x35cf38['length']+this['_offset'],this['_updateServerHistory'](_0x35cf38);}this['_document']['history']['version']=_0x24cdea,_0x2928f6=this['_decompressOperations'](_0x1ad0f9['data'],_0x1ad0f9['metadata']),await this['_fetchMissingUsers'](_0x2928f6),this['_applyOperationsSet'](_0x2928f6,_0x541738);}_0x1ad0f9['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2928f6,_0x1ad0f9['lastOperationId']),this['_lastSyncedOperationId']=_0x1ad0f9['lastOperationId']),this['serverHistory']['version']=_0x24cdea+this['_offset'],this['_updateServerHistory'](_0x2928f6),_0x698ebe['filter'](_0x528e34=>{const _0x25c287=this['_getAffectedRoot'](_0x528e34);return _0x25c287&&!this['_knownRootNames']['has'](_0x25c287);})['forEach']((_0x183f08,_0x174f8f)=>{_0x183f08['baseVersion']=this['_document']['version']+_0x174f8f,this['_saveOperationInBuffer'](_0x183f08);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f29db,_0x14778d){const _0x298155=_0x14778d&&_0x14778d['message'];if(_0x298155&&_0x298155['startsWith']('realtimecollaborationclient'))throw _0x14778d;const _0x18295e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x18295e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x206e44(_0x2f29db,this['editor'],_0x298155?{'originalError':_0x298155}:void 0x0);}['_saveOperationInBuffer'](_0x46ee76){this['_knownOperations']['has'](_0x46ee76)||(this['_knownOperations']['add'](_0x46ee76),this['_bufferedOperations']['push'](_0x46ee76),this['_pendingAction']||'marker'==_0x46ee76['type']&&!_0x46ee76['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x774f17=!0x1){!_0x774f17&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xa165dd=>{_0xa165dd&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xb88174=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xbecf42){return _0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xb88174)||this['_crash'](_0xb88174['message'],_0xb88174);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3945df=>{this['on']('change:_isPendingUpdate',()=>{_0x3945df();});});}async['_sendBufferedOperations'](){const _0x57cbe0=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x57cbe0['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5971fa=[...this['_bufferedOperations']];for(const _0x40b26f of _0x5971fa)_0x40b26f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x40b26f);const _0x23be84=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5971fa),_0x331bad=Z++,_0x31cf88=this['_compressOperations'](_0x5971fa),_0x148c32=await this['_service']['sendOperations'](_0x31cf88,_0x31cf88['baseVersion'],_0x23be84);try{return await this['_handleServerResponse'](_0x5971fa,_0x148c32,_0x331bad);}catch(_0xbf1856){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xbf1856);}}async['_handleServerResponse'](_0x3ed820,_0x2b394d,_0x131d3c){if('error'in _0x2b394d)throw _0x2b394d['error'];let _0x3606bd=!0x1;if(_0x2b394d['wereChangesApplied']){_0x2b394d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2b394d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9af649=>!_0x3ed820['includes'](_0x9af649));for(const _0x51b6ce of _0x3ed820)_0x51b6ce['createdAt']='lastOperationAcceptedAt'in _0x2b394d&&_0x2b394d['lastOperationAcceptedAt']||void 0x0;st(_0x3ed820,_0x2b394d['version']-_0x3ed820['length']),this['_updateServerHistory'](_0x3ed820);const _0x4582ac=_0x3ed820['filter'](_0x49bc82=>{if(!_0x49bc82['_isInit'])return!0x1;const _0x238cbe=this['_getAffectedRoot'](_0x49bc82);return _0x238cbe&&!this['_knownRootNames']['has'](_0x238cbe);});st(_0x4582ac,this['_document']['version']),this['_applyOperationsSet'](_0x4582ac),_0x3606bd=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10230a=this['_decompressOperations'](_0x2b394d['data'],_0x2b394d['metadata'])['filter'](_0x4df80f=>_0x4df80f['baseVersion']>=this['_lastServerVersion']);_0x10230a['forEach'](_0x59d769=>this['_addKnownRoot'](_0x59d769)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3af00b=>!_0x3af00b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3af00b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10230a),_0x3606bd=this['_handleExternalOperations'](_0x10230a,_0x2b394d['version'],_0x2b394d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3606bd?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x482c1e,_0x30da50,_0x1d0717){try{const _0x4a0dff={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xfa0e12,operationsB:_0x541950,originalOperations:_0x32fda5}=_0x494b49(_0x482c1e,this['_bufferedOperations'],_0x4a0dff);st(_0xfa0e12,this['_document']['version']),st(_0x541950,_0x30da50);for(const _0x11ea67 of _0xfa0e12){const _0x84fdb9=_0x32fda5['get'](_0x11ea67);_0x84fdb9?(_0x11ea67['_authorId']=_0x84fdb9['_authorId'],'noop'!==_0x11ea67['type']&&(_0x11ea67['_aiSource']=_0x84fdb9['_aiSource'])):_0x11ea67['_authorId']=null;}for(const _0x551132 of _0x541950)'noop'!==_0x551132['type']&&(_0x551132['_aiSource']=_0x32fda5['get'](_0x551132)?.['_aiSource']);_0x1d0717&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x482c1e,_0x1d0717),this['_lastSyncedOperationId']=_0x1d0717),this['_bufferedOperations']=[..._0x541950],this['_applyOperationsSet'](_0xfa0e12),this['_updateServerHistory'](_0x482c1e);}catch(_0x9d1dba){return console['error'](_0x9d1dba),!0x1;}return!0x0;}['_applyOperationsSet'](_0x12211e,_0xbc13ad=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x28e723=>{for(const _0x15d43a of _0x12211e)this['_knownOperations']['add'](_0x15d43a),this['_addKnownRoot'](_0x15d43a),_0x28e723['batch']['addOperation'](_0x15d43a),this['editor']['model']['applyOperation'](_0x15d43a);});}['_addKnownRoot'](_0x1e59f3){const _0x3eae6a=this['_getAffectedRoot'](_0x1e59f3);_0x3eae6a&&this['_knownRootNames']['add'](_0x3eae6a);}['_getAffectedRoot'](_0xce2aea){let _0x58e9cd,_0x1eb6d3;switch(_0xce2aea['type']){case'insert':_0x58e9cd=_0xce2aea['position']['root'];break;case'marker':if(_0x1eb6d3=_0xce2aea['newRange'],!_0x1eb6d3)return null;_0x58e9cd=_0x1eb6d3['root'];break;case'addRootAttribute':_0x58e9cd=_0xce2aea['root'];break;case'addRoot':_0x58e9cd=_0xce2aea['affectedSelectable'];break;case'move':_0x58e9cd=_0xce2aea['targetPosition']['root'];break;default:return null;}return _0x58e9cd['rootName'];}['_updateServerHistory'](_0x313933){_0x313933['forEach'](_0x3788ae=>{const _0x21f27c=_0x3788ae['clone']();_0x21f27c['_authorId']=_0x3788ae['_authorId'],_0x21f27c['_isInit']=!!_0x3788ae['_isInit'],_0x21f27c['_aiSource']=_0x3788ae['_aiSource'],_0x21f27c['createdAt']=_0x3788ae['createdAt'],_0x21f27c['baseVersion']+=this['_offset'],_0x3788ae['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x21f27c),this['serverHistory']['addOperation'](_0x21f27c);});}['_handleReconnectionError'](_0x56fc82){const _0x3b30a2=this['editor']['plugins']['get']('Notification'),_0x559ded=this['editor']['locale'];_0x56fc82||(_0x56fc82=X(_0x559ded,'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.')),_0x3b30a2['showWarning'](_0x56fc82,{'title':X(_0x559ded,'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'](_0x15032a)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x15032a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x556630){const _0x4b1389=_0x556630['map'](_0x362e08=>_0x362e08['toJSON']());return this['_compressor']['compress'](_0x4b1389);}['_decompressOperations'](_0x47554f,_0x1fd9bd){return this['_compressor']['decompress'](_0x47554f)['map']((_0x59f327,_0x31775d)=>{const _0x259554='init'==_0x1fd9bd[_0x31775d]['type'];if('InsertOperation'==_0x59f327['__className']){const _0x35213b=_0x59f327['position']['root'];!this['_document']['getRoot'](_0x35213b)&&(this['_document']['createRoot']('$unknown',_0x35213b)['_isAttached']=!0x1);}else{if('RootOperation'==_0x59f327['__className']){const _0x56def7=this['_document']['getRoot'](_0x59f327['rootName']);_0x56def7&&'$unknown'==_0x56def7['name']&&_0x59f327['elementName']!=_0x56def7['name']&&(_0x56def7['name']=_0x59f327['elementName']);}}const _0x3d7276=_0x1436e4['fromJSON'](_0x59f327,this['_document']);return _0x3d7276['wasUndone']=_0x59f327['wasUndone'],_0x3d7276['_isInit']=_0x259554,_0x3d7276['_authorId']=_0x259554?null:_0x1fd9bd[_0x31775d]['userId'],_0x3d7276['_isDisconnection']='cs:removeUser'===_0x1fd9bd[_0x31775d]['type'],_0x3d7276['_aiSource']=_0x59f327['_aiSource']||void 0x0,_0x3d7276['createdAt']=_0x1fd9bd[_0x31775d]['createdAt'],_0x3d7276;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x184e85=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x184e85&&_0x184e85['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x3bd207,_0x5cd198){for(const _0x435930 of _0x3bd207)_0x435930['baseVersion']=_0x5cd198++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x45f7be){this['_ignoredOperations']=_0x45f7be,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x223167){let _0x4d2299=_0x223167['length'];for(;_0x4d2299--;){const _0x3f9924=_0x223167[_0x4d2299];if(!this['_ignoredOperations']['has'](_0x3f9924)){if(!this['_operationToId']['has'](_0x3f9924)){const _0x3d5c56=_0x36a117()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3f9924,_0x3d5c56);}return this['_operationToId']['get'](_0x3f9924);}}}['setIdForTheLastOperation'](_0x296768,_0x141da4){if(!_0x141da4)return;let _0x17462a=_0x296768['length'];for(;_0x17462a--;){const _0x19a541=_0x296768[_0x17462a];this['_ignoredOperations']['has'](_0x19a541)||this['_operationToId']['set'](_0x19a541,_0x141da4);}}},nt=class extends _0x334777{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x3c12a8{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x4fa428)());['_services'];static get['requires'](){return[z,_0x52d7db,Y,_0x121396];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50670d){super(_0x50670d),this['_services']=new Map();}async['init'](){const _0x298a24=this['context'],_0xf45260=_0x298a24['plugins']['get'](_0x52d7db);if(_0x298a24['plugins']['get'](z)['addToReconnectionStack'](this),_0xf45260['adapter']={'addCommentThread':async({channelId:_0x6e0e43,threadId:_0x11ba2c,comments:_0x26b896,resolvedAt:_0x24fe77,resolvedBy:_0x34c7e2,context:_0x2febcd,attributes:_0x554fd4})=>{const _0x3b7eb3=await this['_getService'](_0x6e0e43)['addCommentThread']({'commentThreadId':_0x11ba2c,'comments':_0x26b896['map'](_0xa054f8=>function(_0x2efc2d,_0x3c2cfd,_0x4454f5){return{'commentThreadId':_0x4454f5,'commentId':_0x2efc2d['commentId'],'userId':_0x2efc2d['authorId'],'content':_0x2efc2d['content'],'documentId':_0x3c2cfd,'createdAt':_0x2efc2d['createdAt'],'attributes':_0x2efc2d['attributes']||{}};}(_0xa054f8,_0x6e0e43,_0x11ba2c)),'resolvedAt':_0x24fe77,'resolvedBy':_0x34c7e2,'context':_0x2febcd,'attributes':_0x554fd4})['catch'](ct);return{'threadId':_0x3b7eb3['commentThreadId'],'comments':_0x3b7eb3['comments']};},'getCommentThread':async({channelId:_0x3bde7f,threadId:_0x3783b3})=>{const _0x29cb39=await this['_getService'](_0x3bde7f)['getCommentThread'](_0x3783b3)['catch'](rt)['catch'](ct);return _0x29cb39?_0x29cb39['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x29cb39]),{'threadId':_0x29cb39['commentThreadId'],'comments':_0x29cb39['comments']['map'](at),'context':_0x29cb39['context'],'resolvedAt':_0x29cb39['resolvedAt'],'resolvedBy':_0x29cb39['resolvedBy'],'attributes':_0x29cb39['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x260568,threadId:_0xda0b4,context:_0x21cacc,unlinkedAt:_0x878dcf,attributes:_0x3ddb79})=>this['_getService'](_0x260568)['updateCommentThread']({'commentThreadId':_0xda0b4,'context':_0x21cacc,'attributes':_0x3ddb79,'unlinkedAt':_0x878dcf})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x4dcf3c,threadId:_0x5cac64})=>{const _0x5c06ed=await this['_getService'](_0x4dcf3c)['resolveCommentThread'](_0x5cac64)['catch'](rt)['catch'](ct);return{'threadId':_0x5c06ed['commentThreadId'],'resolvedAt':_0x5c06ed['resolvedAt'],'resolvedBy':_0x5c06ed['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4de819,threadId:_0x1527e1})=>this['_getService'](_0x4de819)['reopenCommentThread'](_0x1527e1)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5ed1d5,threadId:_0x155464})=>this['_getService'](_0x5ed1d5)['removeCommentThread'](_0x155464)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4430cf,threadId:_0xdb0753,commentId:_0x37de76,content:_0x2eecc4,attributes:_0x5185fd})=>this['_getService'](_0x4430cf)['addComment'](_0xdb0753,_0x37de76,_0x2eecc4,_0x5185fd)['catch'](ct),'updateComment':({channelId:_0x4f77e4,threadId:_0x4999c2,commentId:_0x5ce797,content:_0x5cab57,attributes:_0x35706a})=>this['_getService'](_0x4f77e4)['updateComment'](_0x4999c2,_0x5ce797,_0x5cab57,_0x35706a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x457d2c,threadId:_0x57715b,commentId:_0x5aa6ae})=>this['_getService'](_0x457d2c)['removeComment'](_0x57715b,_0x5aa6ae)['catch'](rt)['catch'](ct)},_0x298a24 instanceof _0x300413){const _0x4aa4f9=_0x298a24['config']['get']('collaboration.channelId'),_0x4eda3a=_0x298a24['plugins']['get'](Y);await this['_setUpService'](_0x4aa4f9);const _0x29c592=await this['_services']['get'](_0x4aa4f9)['getConnectedSessions']();this['listenTo'](_0x4eda3a,'sessionAdd:'+_0x4aa4f9,(_0xbdfa55,{session:_0x3171ec})=>{_0x3171ec['id']===_0x4eda3a['mySessionId']&&(_0xbdfa55['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3171ec['permissions'],_0x4aa4f9));}),_0x4eda3a['register'](_0x4aa4f9,_0x29c592);}}async['_setUpService'](_0x158c0c){if(this['_services']['has'](_0x158c0c))throw new _0x206e44('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x158c0c});const _0x2f35b6=this['context']['plugins']['get'](_0x52d7db),_0x22bc5f=new CloudServicesCommentsAdapter['CommentsService'](_0x158c0c);this['_services']['set'](_0x158c0c,_0x22bc5f),this['listenTo'](_0x22bc5f,'commentThreadAdded',(_0x4fdeb5,_0xb96c25)=>{const {commentThreadId:_0x2ca890,documentId:_0x26bfec,context:_0x588cc8,attributes:_0x54e211,resolvedAt:_0x30427c,resolvedBy:_0x4d7316,comments:_0x379026}=_0xb96c25;_0x2f35b6['getCommentThread'](_0x2ca890)||_0x2f35b6['addCommentThread']({'threadId':_0x2ca890,'channelId':_0x26bfec,'comments':_0x379026?_0x379026['map'](at):[],'context':_0x588cc8,'attributes':_0x54e211,'resolvedAt':_0x30427c,'resolvedBy':_0x4d7316,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadUpdated',(_0x38d67c,{commentThreadId:_0x2a810f,documentId:_0x4346b0,context:_0x50cfe3,unlinkedAt:_0x1a7fc0,attributes:_0x145da2})=>{_0x2f35b6['getCommentThread'](_0x2a810f)&&_0x2f35b6['updateCommentThread']({'threadId':_0x2a810f,'channelId':_0x4346b0,'context':_0x50cfe3,'unlinkedAt':_0x1a7fc0,'attributes':_0x145da2,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadResolved',(_0x52fbcb,{commentThreadId:_0x5a4391,resolvedBy:_0x3bffbb,resolvedAt:_0x3f1d66})=>{const _0x3583c9=_0x2f35b6['getCommentThread'](_0x5a4391);_0x3583c9&&_0x3583c9['resolve']({'resolvedBy':_0x3bffbb,'resolvedAt':_0x3f1d66,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadReopened',(_0x3c065e,{commentThreadId:_0x5e8529})=>{const _0x19c870=_0x2f35b6['getCommentThread'](_0x5e8529);_0x19c870&&_0x19c870['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadRemoved',(_0x2051ac,{commentThreadId:_0x3d078c})=>{const _0x4b45e3=_0x2f35b6['getCommentThread'](_0x3d078c);_0x4b45e3&&_0x4b45e3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentAdded',(_0x2e1b4d,_0x4da9be)=>{const _0xdcae76=_0x4da9be['commentThreadId'],_0x34884d=_0x2f35b6['getCommentThread'](_0xdcae76);_0x34884d&&_0x34884d['addComment']({...at(_0x4da9be),'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentUpdated',(_0x466456,{commentThreadId:_0x26f8a0,commentId:_0x5db7ad,content:_0x5f2561,attributes:_0xde6604})=>{const _0x326564=_0x2f35b6['getCommentThread'](_0x26f8a0);if(_0x326564){const _0x22ae0b=_0x326564['getComment'](_0x5db7ad);_0x22ae0b&&_0x22ae0b['update']({'content':_0x5f2561,'attributes':_0xde6604,'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'commentRemoved',(_0x846c30,{commentThreadId:_0x5d9e5e,commentId:_0x1e256f})=>{const _0x49a167=_0x2f35b6['getCommentThread'](_0x5d9e5e);if(_0x49a167){const _0x2efb92=_0x49a167['getComment'](_0x1e256f);_0x2efb92&&_0x2efb92['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x158c0c),this['stopListening'](_0x22bc5f));}),await this['_connectService'](_0x158c0c);}['destroy'](){if(this['context']instanceof _0x300413){const _0x289b04=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x289b04)&&this['_terminateService'](_0x289b04);}}['_terminateService'](_0x551833){if(!this['_services']['has'](_0x551833))throw new _0x206e44('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x551833});this['_getService'](_0x551833)['disconnect'](),this['_services']['delete'](_0x551833);}async['reconnect'](){for(const _0x22b4cd of this['_services']['keys']())await this['_connectService'](_0x22b4cd);if(this['context']instanceof _0x300413){const _0x57e123=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x57e123)){const _0x2d7433=this['context']['plugins']['get'](Y);_0x2d7433['unregister'](_0x57e123);const _0x4bdb43=await this['_services']['get'](_0x57e123)['getConnectedSessions']();_0x2d7433['register'](_0x57e123,_0x4bdb43);}}}async['_connectService'](_0x1ddfb1){const {connection:_0x5037d0}=this['context']['plugins']['get'](z),_0x442c22=this['context']['plugins']['get'](_0x52d7db),_0x550016=await this['_services']['get'](_0x1ddfb1)['connect'](_0x5037d0);await this['_fetchMissingUsersForThreads'](_0x550016);const _0x33dbbc=new Set(Array['from'](_0x442c22['getCommentThreads']({'channelId':_0x1ddfb1}),_0x8d02d3=>_0x8d02d3['id']));for(const _0x3c5450 of _0x550016)_0x3c5450['deletedAt']||_0x33dbbc['delete'](_0x3c5450['commentThreadId']);for(const _0x2ee2ff of _0x33dbbc)_0x442c22['getCommentThread'](_0x2ee2ff)['remove']({'isFromAdapter':!0x0});for(const _0x3cea51 of _0x550016){let _0x63df39=_0x442c22['getCommentThread'](_0x3cea51['commentThreadId']);const {commentThreadId:_0x4cdca7,context:_0x34128f,attributes:_0x44b224,resolvedBy:_0x3976c0,resolvedAt:_0x140cf7,unlinkedAt:_0x5b4671,deletedAt:_0x4bad95}=_0x3cea51;if(_0x4bad95)continue;_0x63df39||(_0x63df39=_0x442c22['addCommentThread']({'channelId':_0x1ddfb1,'threadId':_0x4cdca7,'context':_0x34128f,'attributes':_0x44b224||{},'resolvedBy':_0x3976c0,'resolvedAt':_0x140cf7,'unlinkedAt':_0x5b4671,'isFromAdapter':!0x0}));const _0x39b5e5=new Set(Array['from'](_0x63df39['comments'],_0x4ad2d5=>_0x4ad2d5['id']));for(const _0x11d435 of _0x3cea51['comments'])_0x39b5e5['delete'](_0x11d435['commentId']);for(const _0x10f794 of _0x39b5e5)_0x63df39['getComment'](_0x10f794)['remove']({'isFromAdapter':!0x0});for(const _0x1551bb of _0x3cea51['comments']){const _0x7204f1=_0x63df39['getComment'](_0x1551bb['commentId']);_0x7204f1?_0x7204f1['content']!==_0x1551bb['content']&&_0x7204f1['update']({'content':_0x1551bb['content'],'isFromAdapter':!0x0}):_0x63df39['addComment'](Object['assign'](at(_0x1551bb),{'isFromAdapter':!0x0}));}}}['_getService'](_0x44d129){if(!this['_services']['has'](_0x44d129))throw new _0x206e44('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x44d129});return this['_services']['get'](_0x44d129);}async['_fetchMissingUsersForThreads'](_0x178597){const _0x4fe00b=this['context']['plugins']['get'](_0x121396),{connection:_0x489787}=this['context']['plugins']['get'](z),_0x3b102c=new Set();for(const {resolvedBy:_0x5ba150,comments:_0x21f5dc}of _0x178597){_0x5ba150&&!_0x4fe00b['getUser'](_0x5ba150)&&_0x3b102c['add'](_0x5ba150);for(const {userId:_0x46e7d3}of _0x21f5dc)_0x4fe00b['getUser'](_0x46e7d3)||_0x3b102c['add'](_0x46e7d3);}if(0x0===_0x3b102c['size'])return;const _0x2fc94e=await _0x33a205['getMany'](_0x489787,Array['from'](_0x3b102c));for(const _0x39f077 of _0x2fc94e)_0x4fe00b['getUser'](_0x39f077['id'])||_0x4fe00b['addUser'](_0x39f077);}};async function rt(_0x44f321){if('404'!==_0x44f321['code'])throw _0x44f321;}function ct(_0x520906){if((_0x56ebee=_0x520906)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x56ebee;throw _0x520906;}function at(_0x190ac1){return{'threadId':_0x190ac1['commentThreadId'],'commentId':_0x190ac1['commentId'],'content':_0x190ac1['content'],'createdAt':_0x190ac1['createdAt'],'authorId':_0x190ac1['userId'],'attributes':_0x190ac1['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x334777{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x10b7b0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x418122,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5383f5){super(_0x5383f5);const _0x5829e7=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x5829e7);}['init'](){const _0x17d277=this['editor']['plugins']['get'](z),_0x5b76da=this['editor']['plugins']['get'](_0x418122);return _0x5b76da['adapter']={'getSuggestion':async _0x4d0ddb=>{await this['_waitForServiceReady']();const _0x3bdd6d=await this['_trackChangesService']['get'](_0x4d0ddb)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3bdd6d]),_0x3bdd6d;},'addSuggestion':async({id:_0x40d9fd,type:_0x2d7101,data:_0x38b1b8,originalSuggestionId:_0x21845f,attributes:_0x2415a5})=>{await this['_waitForServiceReady']();const _0xc493c={'id':_0x40d9fd,'type':_0x2d7101,'data':_0x38b1b8,'originalSuggestionId':_0x21845f,'attributes':_0x2415a5},_0x16d764=await this['_trackChangesService']['add'](_0x40d9fd,_0x2d7101,_0x38b1b8,_0x21845f,_0x2415a5)['catch'](_0x395242=>{if(dt(_0x395242))return new Promise(_0x14db80=>{this['_bufferedRequests']['set'](_0x40d9fd,{'resolve':_0x14db80,'suggestionData':_0xc493c});});throw _0x395242;});return this['_bufferedRequests']['delete'](_0x40d9fd),_0x16d764;},'updateSuggestion':async(_0x4a2721,_0x368368)=>{if(await this['_waitForServiceReady'](),'open'!==_0x368368['state'])return this['_trackChangesService']['update'](_0x4a2721,_0x368368)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4db54d,_0x20826e)=>{_0x5b76da['hasSuggestion'](_0x20826e['id'])&&(_0x5b76da['getSuggestion'](_0x20826e['id'])['attributes']=_0x20826e['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x17d277['connection']?.['state']&&(_0x17d277['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x17d277['connection'])['then'](_0x504a3b=>(_0x17d277['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x504a3b)['then'](()=>{for(const _0x16025b of _0x504a3b){_0x5b76da['addSuggestionData'](_0x16025b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1b25b6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3da64a}=this['editor']['plugins']['get'](z),_0x1e8bda=await this['_trackChangesService']['connect'](_0x3da64a);await this['_fetchMissingUsersForThreads'](_0x1e8bda);for(const {suggestionData:_0x2e66f1,resolve:_0x549ed4}of this['_bufferedRequests']['values']()){let _0x442228=_0x1e8bda['find'](_0x4819dc=>_0x4819dc['id']===_0x2e66f1['id']);_0x442228||(_0x442228=await this['_trackChangesService']['add'](_0x2e66f1['id'],_0x2e66f1['type'],_0x2e66f1['data'],_0x2e66f1['originalSuggestionId'])),_0x549ed4(_0x442228);}for(const _0x1fb91c of _0x1e8bda)_0x1b25b6['hasSuggestion'](_0x1fb91c['id'])||_0x1b25b6['addSuggestionData'](_0x1fb91c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5c749a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3f0a89=>{_0x3f0a89['off'](),_0x5c749a();});});}async['_fetchMissingUsersForThreads'](_0x369ba5){const _0x5876c1=this['editor']['plugins']['get'](_0x121396),{connection:_0x1d4262}=this['editor']['plugins']['get'](z),_0x15e5cc=new Set();for(const {authorId:_0x342d88}of _0x369ba5)_0x5876c1['getUser'](_0x342d88)||_0x15e5cc['add'](_0x342d88);if(0x0===_0x15e5cc['size'])return;const _0x517ad7=await _0x33a205['getMany'](_0x1d4262,Array['from'](_0x15e5cc));for(const _0x163388 of _0x517ad7)_0x5876c1['getUser'](_0x163388['id'])||_0x5876c1['addUser'](_0x163388);}};function lt(_0x2dd0e8){if(dt(_0x2dd0e8))return new Promise(()=>{});throw _0x2dd0e8;}function dt(_0x3689a0){return _0x3689a0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3689a0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x334777{static get['requires'](){return[_0x4e5806,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1fe4b9=this['editor']['plugins']['get'](z),_0x3545c4=this['editor']['plugins']['get'](_0x59e8f7),_0x13d44e=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1fe4b9,'change:state',(_0x11cba7,_0x282582,_0xedf7c)=>{_0x3545c4['isThreadsLoadingPaused']='connected'!==_0xedf7c;});}),this['listenTo'](_0x1fe4b9,'change:state',(_0x49e60a,_0x2fef01,_0x3bdb01)=>{this['editor']['plugins']['get'](_0x52d7db)['switchReadOnly']('connected'!==_0x3bdb01);}),_0x13d44e['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x86ad74=this['editor']['plugins']['get'](ot),_0x3ec218=this['editor']['config']['get']('collaboration.channelId');_0x86ad74['_services']['has'](_0x3ec218)&&_0x86ad74['_terminateService'](_0x3ec218),super['destroy']();}},ft=class extends _0x334777{static get['requires'](){return[ut,ht,_0x2a293f];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x334777{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x5ce271)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x1757ab,Y,_0x121396];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x48b0cf){super(_0x48b0cf);const _0x2c2880=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2c2880);}async['init'](){const _0xebbc43=this['editor']['plugins']['get'](tt),_0x445e62=_0xebbc43['serverHistory'],_0x4c65fd=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x445e62,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xebbc43['sessionId']});const _0x336257=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x50f32d,_0x274891=await _0x1850e4['isBundleUploaded'](_0x4c65fd['connection'],_0x336257);this['editor']['plugins']['get'](_0x1757ab)['adapter']={'getRevision':async({revisionId:_0x296ce8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x296ce8)),'updateRevisions':async _0x4a2fbe=>{await this['_waitForServiceReady']();const _0x1d3251=this['_revisionTracker']['currentRevision'];if(_0x274891&&0x1===_0x4a2fbe['length']&&_0x4a2fbe[0x0]['id']===_0x1d3251['id'])return _0x4a2fbe;for(const _0x4443c6 of _0x4a2fbe)_0x4443c6['id']===_0x1d3251['id']&&(_0x4443c6['isEmptyCurrent']=_0x4443c6['fromVersion']===_0x4443c6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4a2fbe,this['_lastRequestId'])['then'](_0x2eb5dd=>(this['_lastRequestId']=_0x2eb5dd,_0x4a2fbe))['catch'](_0x500f11=>{if(pt(_0x500f11)||'400'===_0x500f11['code']&&void 0x0!==_0x500f11['data']['wrongRequestId']){for(const _0x254db3 of _0x4a2fbe)this['_revisionTracker']['repository']['getRevision'](_0x254db3['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x254db3['id'],_0x254db3,!0x1);if(pt(_0x500f11)&&'destroyed'!==this['editor']['state'])throw _0x500f11;return _0x4a2fbe;}throw _0x500f11;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3dee02,{revisionsData:_0x3b9ec8,requestId:_0x3948f7})=>{Math['max'](..._0x3b9ec8['map'](_0x62693e=>_0x62693e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}):this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x4c65fd['connection']?.['state']&&(_0x4c65fd['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x3d157a,requestId:_0x1eb3aa}=await this['_revisionHistoryService']['connect'](_0x4c65fd['connection']);_0x4c65fd['addToReconnectionStack'](this),this['_lastRequestId']=_0x1eb3aa,await this['_fetchMissingUsers'](_0x3d157a);for(const _0x47bd3a of _0x3d157a)this['_revisionTracker']['addRevisionData'](_0x47bd3a);this['listenTo'](_0xebbc43,'change:_isConnected',(_0xe6c8c7,_0xf8790c,_0x44665f)=>{_0x44665f&&(this['_oldOffset']=_0xebbc43['_offset'],_0xe6c8c7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x135204=this['editor']['plugins']['get'](z),_0x58f724=this['editor']['plugins']['get'](tt),_0x218d29=async()=>{const _0x365fac=this['_revisionTracker']['currentRevision'],_0x318087=_0x365fac['id'],_0x54b2cc=_0x318087!==_0x58f724['sessionId'];if(_0x54b2cc){const _0x23e8f3=_0x58f724['_offset']-this['_oldOffset'],_0x775992=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x365fac['toVersion']+_0x23e8f3!==_0x775992){const _0x4d3f58=_0x365fac['fromVersion']+_0x23e8f3,_0x34a39b=this['editor']['plugins']['get'](_0x121396),_0x2142c8=this['_revisionTracker']['buildRevisionData']({'revision':_0x365fac,'from':_0x4d3f58,'to':_0x775992});_0x2142c8['id']=_0x365fac['id'];const _0x5dcd59=_0x2142c8['authorsIds']['map'](_0x3dfffd=>_0x34a39b['getUser'](_0x3dfffd));_0x365fac['_update']({..._0x2142c8,'authors':_0x5dcd59},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x365fac['id'],_0x2142c8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x775992,_0x365fac['toVersion']!==_0x365fac['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x318087)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x318087),this['_revisionTracker']['_createCurrentRevision'](_0x775992);}const {revisions:_0x43efdd,requestId:_0x68cc4e}=await this['_revisionHistoryService']['reconnect'](_0x135204['connection'],this['_lastRequestId']);_0x54b2cc&&_0x43efdd['length']>0x0?_0x58f724['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x43efdd),this['_handleRevisionsUpdate'](_0x43efdd,_0x68cc4e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x58f724['_isConnected']?_0x218d29():new Promise((_0x50cb99,_0x550239)=>{_0x58f724['once']('change:_isConnected',()=>{_0x218d29()['then'](_0x50cb99)['catch'](_0x550239);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xbee858=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x507437=>{_0x507437['off'](),_0xbee858();});});}['_getLatestVersionFromServerOperations'](){const _0x243942=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2c9f66 of _0x243942)if('marker'!==_0x2c9f66['type']||_0x2c9f66['affectsData'])return _0x2c9f66['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1731bc=this['editor']['plugins']['get'](tt);return new Promise(_0x38197f=>{_0x1731bc['_isPendingUpdate']?_0x1731bc['once']('change:_isPendingUpdate',()=>{_0x38197f(this['_getLatestVersionFromServerOperations']());}):_0x38197f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5469c1,_0x45de86){const _0x1d8412=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x45de86;for(const _0x6af432 of _0x5469c1){const _0x2d3fe2=_0x1d8412['getRevision'](_0x6af432['id']);if(_0x2d3fe2){if((_0x6af432['fromVersion']||_0x6af432['toVersion'])&&(_0x6af432['diffData']=null),_0x2d3fe2===this['_revisionTracker']['currentRevision']){const _0x33392f=Math['max'](_0x2d3fe2['toVersion'],_0x6af432['toVersion']),_0x164733=Math['max'](_0x2d3fe2['fromVersion'],_0x6af432['fromVersion']);let _0x218058;_0x2d3fe2['toVersion']===_0x6af432['toVersion']&&_0x2d3fe2['fromVersion']===_0x6af432['fromVersion']?(_0x218058=!0x0,this['_preventResendingRevisionData'](_0x6af432)):_0x6af432['toVersion']===_0x33392f&&_0x6af432['fromVersion']===_0x164733?_0x218058=!0x1:(_0x2d3fe2['toVersion']===_0x33392f&&_0x2d3fe2['fromVersion']===_0x164733||this['_fixRevision']({'revision':_0x2d3fe2,'from':_0x164733,'to':_0x33392f}),_0x218058=!0x0),_0x218058&&(delete _0x6af432['fromVersion'],delete _0x6af432['toVersion'],delete _0x6af432['diffData'],delete _0x6af432['createdAt'],delete _0x6af432['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x6af432),this['_preventResendingRevisionData'](_0x6af432);}else this['_revisionTracker']['addRevisionData'](_0x6af432);}const _0x1cf8cc=_0x1d8412['getRevisions']();_0x1cf8cc['reverse']();for(let _0x55169a=0x0;_0x55169a<_0x1cf8cc['length']-0x1;_0x55169a++){const _0x1fb9fd=_0x1cf8cc[_0x55169a],_0x2861fe=_0x1cf8cc[_0x55169a+0x1];if(_0x1fb9fd['fromVersion']<_0x2861fe['toVersion']){const _0x2abb44=_0x2861fe['toVersion'],_0x1754cd=Math['max'](_0x2abb44,_0x1fb9fd['toVersion']);this['_fixRevision']({'revision':_0x1fb9fd,'from':_0x2abb44,'to':_0x1754cd});}}}['_fixRevision']({revision:_0x531d79,from:_0x16d973,to:_0x5a0334}={}){const _0x4b98b2=this['editor']['plugins']['get'](_0x121396),_0x476a3e=this['_revisionTracker']['buildRevisionData']({'revision':_0x531d79,'from':_0x16d973,'to':_0x5a0334});_0x476a3e['authors']=_0x476a3e['authorsIds']['map'](_0x1d5c43=>_0x4b98b2['getUser'](_0x1d5c43)),_0x531d79['_update'](_0x476a3e);}['_preventResendingRevisionData'](_0x3ef12b){const _0x434071={};_0x434071['id']=_0x3ef12b['id'];for(const _0x212b47 of Object['keys'](_0x3ef12b))'id'!==_0x212b47&&(_0x434071[_0x212b47]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x434071['id'],_0x434071,!0x0);}async['_fetchMissingUsers'](_0x1746b1){const _0x2564cb=this['editor']['plugins']['get'](_0x121396),{connection:_0x1867f3}=this['editor']['plugins']['get'](z),_0x210a18=new Set();for(const _0x133893 of _0x1746b1){for(const _0xb1585f of _0x133893['authorsIds'])_0x54ba2a(_0xb1585f);_0x133893['creatorId']&&_0x54ba2a(_0x133893['creatorId']);}if(0x0===_0x210a18['size'])return;const _0x4f9525=await _0x33a205['getMany'](_0x1867f3,Array['from'](_0x210a18));for(const _0xe4af1d of _0x4f9525)_0x2564cb['getUser'](_0xe4af1d['id'])||_0x2564cb['addUser'](_0xe4af1d);function _0x54ba2a(_0x5b0f77){_0x2564cb['getUser'](_0x5b0f77)||_0x210a18['add'](_0x5b0f77);}}};function pt(_0x518e9b){return _0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x334777{static get['requires'](){return[_0x1757ab,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x3fb656{['_collapseAt'];constructor(_0x5258a3,_0x858bd1=0x6){super(_0x5258a3);const _0x768901=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x858bd1,this['bind']('isHidden')['to'](this,'usersCount',_0x1358a7=>_0x1358a7<_0x858bd1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x768901['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':_0x768901['to']('usersCount',_0x4f1d6b=>'+'+(_0x4f1d6b-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x3fb656{['items'];['keystrokes'];constructor(_0x51ca43){super(_0x51ca43);const _0x2fef33=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4acf94(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2fef33['if']('hasPopup'),'aria-expanded':_0x2fef33['to']('isExpanded',_0x207a53=>this['hasPopup']&&String(_0x207a53)),'aria-label':_0x2fef33['to']('hasPopup',_0x332638=>X(_0x51ca43,_0x332638?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2fef33['to']('hasPopup',_0x1e2ed3=>!!_0x1e2ed3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2fef33['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2fef33['to'](_0x29edcb=>{const _0x3562de=_0x29edcb,_0x1211e2=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3dde3e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1211e2?.['contains'](_0x3562de['relatedTarget'])||_0x3dde3e?.['contains'](_0x3562de['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x593b73,_0x16abad,_0x2f4af4)=>{this['element']&&(_0x2f4af4?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x3fb656{['counterView'];['inlineListView'];constructor(_0x4b68b7,_0x542875=0x6){super(_0x4b68b7);const _0x2987d2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x542875),this['inlineListView']=new vt(_0x4b68b7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2ab295 of this['inlineListView']['items'])_0x2ab295['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',_0x2987d2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x3fb656{['listWrapperView'];constructor(_0x434d26,_0xd58d17){super(_0x434d26);const _0x1b13b8=this['bindTemplate'];this['listWrapperView']=new bt(_0x434d26,_0xd58d17),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x434d26,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1b13b8['to'](_0x304825=>{const _0x132b33=_0x304825,_0x1087d3=document['querySelector']('.ck-presence-list__list'),_0x38f335=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1087d3?.['contains'](_0x132b33['relatedTarget'])||_0x38f335?.['contains'](_0x132b33['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x18c9ed{constructor(_0x10599f,_0x3a3f03){super(_0x10599f);const _0x362847=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3a3f03?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x362847['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x362847['to']('role'),'aria-label':_0x362847['to']('ariaLabel'),'aria-labelledby':_0x362847['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x50bb92['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5241e4=this['element'];_0x5241e4&&(this['_isScrollable']=Math['max'](_0x5241e4['scrollHeight'],_0x5241e4['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x21f6e8{['userView'];constructor(_0x3f9286,_0x4a9b43,_0x12e279){super(_0x3f9286);const _0x4dd6f8=this['bindTemplate'];this['userView']=new _0x44a44e(_0x3f9286,_0x4a9b43);const _0x32b9e6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4a9b43['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4a9b43['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a9b43['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4a9b43['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4a9b43['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x12e279&&(_0x32b9e6['tag']='button',_0x32b9e6['on']={'click':_0x4dd6f8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x32b9e6);}['focus'](){this['element']['focus']();}},It=class extends _0x3fb656{['userView'];['markerView'];constructor(_0x1c1b42,_0x3d0959,_0x267955){super(_0x1c1b42);const _0x5193b5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a44e(_0x1c1b42,_0x3d0959),this['markerView']=new St(_0x1c1b42,_0x3d0959);const _0x891794=new _0x42795(_0x1c1b42);_0x891794['template']['tag']='span',_0x891794['text']=_0x3d0959['name'];const _0x53bc0f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5193b5['to']('isFocusable',_0x3b66e6=>!!_0x3b66e6&&0x0),'aria-labelledby':_0x891794['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5193b5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5193b5['to']('hasTooltip',_0x1d5a75=>!_0x1d5a75),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x891794]};_0x267955&&(_0x53bc0f['tag']='button',_0x53bc0f['on']={'click':_0x5193b5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x53bc0f);}},St=class extends _0x3fb656{constructor(_0x4dde20,_0xc30834){super(_0x4dde20),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xc30834['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xc30834['color']['getColorVariable'](),'--ck-user-color-alpha':_0xc30834['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x3c12a8{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19e67a){super(_0x19e67a),this['context']['config']['define']('presenceList',Tt);const _0x23f617=_0x19e67a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x23f617)throw new _0x206e44('presencelist-collapseat-invalid-format',this);if(_0x23f617<0x1)throw new _0x206e44('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe676b9(),this['balloonPanelView']=new _0x439950(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xd6b652 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xd6b652);this['listenTo'](this['_allConnectedUsers'],'add',(_0x50e2ce,_0x539132)=>{this['_handleUserAdd'](_0x539132);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xccf9aa,_0xdf5918)=>{this['_handleUserRemove'](_0xdf5918);});}['_createView'](){const _0x5b9c91=this['context'],_0x2a2e47=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x34a878=this['balloonPanelView'];if(!_0x398bc6(_0x5b9c91['config']['get']('presenceList.container')))throw new _0x206e44('presencelist-missing-container',this);return _0x2a2e47['counterView']['bind']('usersCount')['to'](this),_0x2a2e47['bind']('isCollapsed')['to'](this,'usersCount',_0x2411d5=>{const {collapseAt:_0x5851cd}=_0x5b9c91['config']['get']('presenceList'),_0x5542a2=_0x2411d5>=_0x5851cd;if(_0x5542a2&&!_0x2a2e47['inlineListView']['items']['find'](_0x3c5115=>_0x3c5115 instanceof wt)){const _0x26b555=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26b555&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2a2e47['inlineListView']['items']['add'](_0x2a2e47['counterView']);}return _0x5542a2||this['hideDropdown'](),_0x5542a2;}),_0x2a2e47['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2d3ce3=>{const _0x48d578=_0x5b9c91['config']['get']('presenceList'),_0x3989f2=new It(_0x5b9c91['locale'],_0x2d3ce3,!!_0x48d578['onClick']);return _0x3989f2['bind']('hasTooltip')['to'](_0x2a2e47,'isCollapsed',_0x28dd33=>!_0x28dd33),_0x3989f2['bind']('isFocusable')['to'](_0x2a2e47,'isCollapsed',_0x219e8d=>!_0x219e8d),_0x48d578['onClick']&&this['listenTo'](_0x3989f2,'execute',()=>{this['view']['isCollapsed']||_0x48d578['onClick'](_0x2d3ce3,_0x3989f2['element']);}),_0x3989f2;}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2a2e47['inlineListView']['keystrokes']['set']('Enter',(_0x28fc89,_0x5ae559)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5ae559());}),_0x2a2e47['render'](),_0x34a878['render'](),_0x216276({'emitter':_0x2a2e47,'activator':()=>_0x34a878['isVisible'],'contextElements':[_0x34a878['element'],_0x2a2e47['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5b9c91['config']['get']('presenceList.container')['appendChild'](_0x2a2e47['element']),this['_bodyCollection']=new _0x4acfe4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2a2e47;}['_handleUserAdd'](_0xf21576){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xf21576['isMe'])return;const _0x98ac8a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x98ac8a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x234bb9=_0xf21576['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xf21576,_0x234bb9);}['_handleUserRemove'](_0x5cd98a){this['usersCount']--;const {collapseAt:_0x2eb393}=this['context']['config']['get']('presenceList'),_0x39a574=this['usersCount']>=_0x2eb393;if(this['currentDisplayedUsers']['get'](_0x5cd98a['id']))this['currentDisplayedUsers']['remove'](_0x5cd98a['id']);else{if(_0x39a574&&this['currentDisplayedUsers']['length']+0x1===_0x2eb393-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)<this['usersCount']){for(const _0xeba01b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xeba01b['id'])&&(this['currentDisplayedUsers']['add'](_0xeba01b,Math['min'](this['currentDisplayedUsers']['length']-(_0x39a574?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)===_0x2eb393-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x177d42=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x177d42['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x175a18}=this['presenceDropdownView'];_0x175a18['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xca564f=>{if(!_0x177d42['displayMe']&&_0xca564f['isMe'])return null;const _0x1182fd=new kt(this['context']['locale'],_0xca564f,!!_0x177d42['onClick']);return _0x177d42['onClick']&&this['listenTo'](_0x1182fd,'execute',()=>{_0x177d42['onClick'](_0xca564f,_0x1182fd['element']);}),_0x1182fd;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x175a18['focus'](),_0x175a18['checkIfScrollable']();const _0xd00c38=(_0x32f997,_0x306392)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x306392();};_0x175a18['keystrokes']['set']('Esc',_0xd00c38),_0x175a18['keystrokes']['set']('Shift+Tab',_0xd00c38),_0x175a18['keystrokes']['set']('Tab',(_0x2792b2,_0x501859)=>{!function(_0x3bc319){const _0x551f5a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x22ce33=>_0x22ce33+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x45da96=[...document['body']['querySelectorAll'](_0x551f5a)]['filter'](_0x5ee8d3=>_0x5ee8d3===document['activeElement']||_0x5ee8d3['offsetWidth']+_0x5ee8d3['offsetHeight']>0x0)['sort']((_0x40bcb6,_0x14ff9d)=>(_0x40bcb6['tabIndex']||0x0)-(_0x14ff9d['tabIndex']||0x0)),_0x489e03=_0x45da96[(_0x45da96['indexOf'](_0x3bc319)+0x1)%_0x45da96['length']];_0x489e03&&_0x489e03['focus']();}(this['view']['element']),this['hideDropdown'](),_0x501859();}),_0x175a18['focusTracker']['add'](this['view']['element']),_0x175a18['focusTracker']['on']('change:isFocused',(_0x3c568f,_0x4ebe21,_0x3c2a7e)=>{_0x3c2a7e||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x3c12a8{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};