@ckeditor/ckeditor5-real-time-collaboration 43.2.0 → 43.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/build/real-time-collaboration.js +1 -1
  2. package/build/translations/af.js +1 -0
  3. package/build/translations/ast.js +1 -0
  4. package/build/translations/az.js +1 -0
  5. package/build/translations/bs.js +1 -0
  6. package/build/translations/cs.js +1 -1
  7. package/build/translations/en-gb.js +1 -0
  8. package/build/translations/eo.js +1 -0
  9. package/build/translations/es-co.js +1 -0
  10. package/build/translations/es.js +1 -1
  11. package/build/translations/eu.js +1 -0
  12. package/build/translations/fa.js +1 -1
  13. package/build/translations/fr.js +1 -1
  14. package/build/translations/gu.js +1 -0
  15. package/build/translations/he.js +1 -1
  16. package/build/translations/hy.js +1 -0
  17. package/build/translations/it.js +1 -1
  18. package/build/translations/jv.js +1 -0
  19. package/build/translations/kk.js +1 -0
  20. package/build/translations/km.js +1 -0
  21. package/build/translations/kn.js +1 -0
  22. package/build/translations/ku.js +1 -0
  23. package/build/translations/lt.js +1 -1
  24. package/build/translations/nb.js +1 -0
  25. package/build/translations/ne.js +1 -0
  26. package/build/translations/oc.js +1 -0
  27. package/build/translations/pl.js +1 -1
  28. package/build/translations/pt-br.js +1 -1
  29. package/build/translations/pt.js +1 -1
  30. package/build/translations/ru.js +1 -1
  31. package/build/translations/si.js +1 -0
  32. package/build/translations/sk.js +1 -1
  33. package/build/translations/sl.js +1 -0
  34. package/build/translations/sq.js +1 -0
  35. package/build/translations/ti.js +1 -0
  36. package/build/translations/tt.js +1 -0
  37. package/build/translations/ug.js +1 -0
  38. package/build/translations/uk.js +1 -1
  39. package/build/translations/ur.js +1 -0
  40. package/build/translations/uz.js +1 -0
  41. package/dist/index-editor.css +10 -14
  42. package/dist/index.css +10 -14
  43. package/dist/index.js +6 -6
  44. package/dist/presencelist.d.ts +8 -0
  45. package/dist/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +8 -0
  46. package/dist/realtimecollaborativecomments.d.ts +8 -0
  47. package/dist/realtimecollaborativeediting/realtimecollaborationclient.d.ts +8 -0
  48. package/dist/realtimecollaborativeediting/sessions.d.ts +8 -0
  49. package/dist/realtimecollaborativeediting/usermarkers.d.ts +8 -0
  50. package/dist/realtimecollaborativeediting/websocketgateway.d.ts +8 -0
  51. package/dist/realtimecollaborativeediting.d.ts +8 -0
  52. package/dist/realtimecollaborativerevisionhistory.d.ts +8 -0
  53. package/dist/realtimecollaborativetrackchanges.d.ts +8 -0
  54. package/dist/translations/af.d.ts +8 -0
  55. package/dist/translations/af.js +23 -0
  56. package/dist/translations/af.umd.js +23 -0
  57. package/dist/translations/ar.js +1 -1
  58. package/dist/translations/ar.umd.js +1 -1
  59. package/dist/translations/ast.d.ts +8 -0
  60. package/dist/translations/ast.js +23 -0
  61. package/dist/translations/ast.umd.js +23 -0
  62. package/dist/translations/az.d.ts +8 -0
  63. package/dist/translations/az.js +23 -0
  64. package/dist/translations/az.umd.js +23 -0
  65. package/dist/translations/bg.js +1 -1
  66. package/dist/translations/bg.umd.js +1 -1
  67. package/dist/translations/bn.js +1 -1
  68. package/dist/translations/bn.umd.js +1 -1
  69. package/dist/translations/bs.d.ts +8 -0
  70. package/dist/translations/bs.js +23 -0
  71. package/dist/translations/bs.umd.js +23 -0
  72. package/dist/translations/ca.js +1 -1
  73. package/dist/translations/ca.umd.js +1 -1
  74. package/dist/translations/cs.js +1 -1
  75. package/dist/translations/cs.umd.js +1 -1
  76. package/dist/translations/da.js +1 -1
  77. package/dist/translations/da.umd.js +1 -1
  78. package/dist/translations/de-ch.js +1 -1
  79. package/dist/translations/de-ch.umd.js +1 -1
  80. package/dist/translations/de.js +1 -1
  81. package/dist/translations/de.umd.js +1 -1
  82. package/dist/translations/el.js +1 -1
  83. package/dist/translations/el.umd.js +1 -1
  84. package/dist/translations/en-au.js +1 -1
  85. package/dist/translations/en-au.umd.js +1 -1
  86. package/dist/translations/en-gb.d.ts +8 -0
  87. package/dist/translations/en-gb.js +23 -0
  88. package/dist/translations/en-gb.umd.js +23 -0
  89. package/dist/translations/en.js +1 -1
  90. package/dist/translations/en.umd.js +1 -1
  91. package/dist/translations/eo.d.ts +8 -0
  92. package/dist/translations/eo.js +23 -0
  93. package/dist/translations/eo.umd.js +23 -0
  94. package/dist/translations/es-co.d.ts +8 -0
  95. package/dist/translations/es-co.js +23 -0
  96. package/dist/translations/es-co.umd.js +23 -0
  97. package/dist/translations/es.js +1 -1
  98. package/dist/translations/es.umd.js +1 -1
  99. package/dist/translations/et.js +1 -1
  100. package/dist/translations/et.umd.js +1 -1
  101. package/dist/translations/eu.d.ts +8 -0
  102. package/dist/translations/eu.js +23 -0
  103. package/dist/translations/eu.umd.js +23 -0
  104. package/dist/translations/fa.js +1 -1
  105. package/dist/translations/fa.umd.js +1 -1
  106. package/dist/translations/fi.js +1 -1
  107. package/dist/translations/fi.umd.js +1 -1
  108. package/dist/translations/fr.js +1 -1
  109. package/dist/translations/fr.umd.js +1 -1
  110. package/dist/translations/gl.js +1 -1
  111. package/dist/translations/gl.umd.js +1 -1
  112. package/dist/translations/gu.d.ts +8 -0
  113. package/dist/translations/gu.js +23 -0
  114. package/dist/translations/gu.umd.js +23 -0
  115. package/dist/translations/he.js +1 -1
  116. package/dist/translations/he.umd.js +1 -1
  117. package/dist/translations/hi.js +1 -1
  118. package/dist/translations/hi.umd.js +1 -1
  119. package/dist/translations/hr.js +1 -1
  120. package/dist/translations/hr.umd.js +1 -1
  121. package/dist/translations/hu.js +1 -1
  122. package/dist/translations/hu.umd.js +1 -1
  123. package/dist/translations/hy.d.ts +8 -0
  124. package/dist/translations/hy.js +23 -0
  125. package/dist/translations/hy.umd.js +23 -0
  126. package/dist/translations/id.js +1 -1
  127. package/dist/translations/id.umd.js +1 -1
  128. package/dist/translations/it.js +1 -1
  129. package/dist/translations/it.umd.js +1 -1
  130. package/dist/translations/ja.js +1 -1
  131. package/dist/translations/ja.umd.js +1 -1
  132. package/dist/translations/jv.d.ts +8 -0
  133. package/dist/translations/jv.js +23 -0
  134. package/dist/translations/jv.umd.js +23 -0
  135. package/dist/translations/kk.d.ts +8 -0
  136. package/dist/translations/kk.js +23 -0
  137. package/dist/translations/kk.umd.js +23 -0
  138. package/dist/translations/km.d.ts +8 -0
  139. package/dist/translations/km.js +23 -0
  140. package/dist/translations/km.umd.js +23 -0
  141. package/dist/translations/kn.d.ts +8 -0
  142. package/dist/translations/kn.js +23 -0
  143. package/dist/translations/kn.umd.js +23 -0
  144. package/dist/translations/ko.js +1 -1
  145. package/dist/translations/ko.umd.js +1 -1
  146. package/dist/translations/ku.d.ts +8 -0
  147. package/dist/translations/ku.js +23 -0
  148. package/dist/translations/ku.umd.js +23 -0
  149. package/dist/translations/lt.js +1 -1
  150. package/dist/translations/lt.umd.js +1 -1
  151. package/dist/translations/lv.js +1 -1
  152. package/dist/translations/lv.umd.js +1 -1
  153. package/dist/translations/ms.js +1 -1
  154. package/dist/translations/ms.umd.js +1 -1
  155. package/dist/translations/nb.d.ts +8 -0
  156. package/dist/translations/nb.js +23 -0
  157. package/dist/translations/nb.umd.js +23 -0
  158. package/dist/translations/ne.d.ts +8 -0
  159. package/dist/translations/ne.js +23 -0
  160. package/dist/translations/ne.umd.js +23 -0
  161. package/dist/translations/nl.js +1 -1
  162. package/dist/translations/nl.umd.js +1 -1
  163. package/dist/translations/no.js +1 -1
  164. package/dist/translations/no.umd.js +1 -1
  165. package/dist/translations/oc.d.ts +8 -0
  166. package/dist/translations/oc.js +23 -0
  167. package/dist/translations/oc.umd.js +23 -0
  168. package/dist/translations/pl.js +1 -1
  169. package/dist/translations/pl.umd.js +1 -1
  170. package/dist/translations/pt-br.js +1 -1
  171. package/dist/translations/pt-br.umd.js +1 -1
  172. package/dist/translations/pt.js +1 -1
  173. package/dist/translations/pt.umd.js +1 -1
  174. package/dist/translations/ro.js +1 -1
  175. package/dist/translations/ro.umd.js +1 -1
  176. package/dist/translations/ru.js +1 -1
  177. package/dist/translations/ru.umd.js +1 -1
  178. package/dist/translations/si.d.ts +8 -0
  179. package/dist/translations/si.js +23 -0
  180. package/dist/translations/si.umd.js +23 -0
  181. package/dist/translations/sk.js +1 -1
  182. package/dist/translations/sk.umd.js +1 -1
  183. package/dist/translations/sl.d.ts +8 -0
  184. package/dist/translations/sl.js +23 -0
  185. package/dist/translations/sl.umd.js +23 -0
  186. package/dist/translations/sq.d.ts +8 -0
  187. package/dist/translations/sq.js +23 -0
  188. package/dist/translations/sq.umd.js +23 -0
  189. package/dist/translations/sr-latn.js +1 -1
  190. package/dist/translations/sr-latn.umd.js +1 -1
  191. package/dist/translations/sr.js +1 -1
  192. package/dist/translations/sr.umd.js +1 -1
  193. package/dist/translations/sv.js +1 -1
  194. package/dist/translations/sv.umd.js +1 -1
  195. package/dist/translations/th.js +1 -1
  196. package/dist/translations/th.umd.js +1 -1
  197. package/dist/translations/ti.d.ts +8 -0
  198. package/dist/translations/ti.js +23 -0
  199. package/dist/translations/ti.umd.js +23 -0
  200. package/dist/translations/tk.js +1 -1
  201. package/dist/translations/tk.umd.js +1 -1
  202. package/dist/translations/tr.js +1 -1
  203. package/dist/translations/tr.umd.js +1 -1
  204. package/dist/translations/tt.d.ts +8 -0
  205. package/dist/translations/tt.js +23 -0
  206. package/dist/translations/tt.umd.js +23 -0
  207. package/dist/translations/ug.d.ts +8 -0
  208. package/dist/translations/ug.js +23 -0
  209. package/dist/translations/ug.umd.js +23 -0
  210. package/dist/translations/uk.js +1 -1
  211. package/dist/translations/uk.umd.js +1 -1
  212. package/dist/translations/ur.d.ts +8 -0
  213. package/dist/translations/ur.js +23 -0
  214. package/dist/translations/ur.umd.js +23 -0
  215. package/dist/translations/uz.d.ts +8 -0
  216. package/dist/translations/uz.js +23 -0
  217. package/dist/translations/uz.umd.js +23 -0
  218. package/dist/translations/vi.js +1 -1
  219. package/dist/translations/vi.umd.js +1 -1
  220. package/dist/translations/zh-cn.js +1 -1
  221. package/dist/translations/zh-cn.umd.js +1 -1
  222. package/dist/translations/zh.js +1 -1
  223. package/dist/translations/zh.umd.js +1 -1
  224. package/lang/translations/af.po +54 -0
  225. package/lang/translations/ar.po +4 -10
  226. package/lang/translations/ast.po +54 -0
  227. package/lang/translations/az.po +54 -0
  228. package/lang/translations/bg.po +3 -9
  229. package/lang/translations/bn.po +3 -9
  230. package/lang/translations/bs.po +55 -0
  231. package/lang/translations/ca.po +3 -9
  232. package/lang/translations/cs.po +4 -11
  233. package/lang/translations/da.po +3 -9
  234. package/lang/translations/de-ch.po +3 -9
  235. package/lang/translations/de.po +3 -9
  236. package/lang/translations/el.po +3 -9
  237. package/lang/translations/en-au.po +3 -9
  238. package/lang/translations/en-gb.po +54 -0
  239. package/lang/translations/en.po +5 -11
  240. package/lang/translations/eo.po +54 -0
  241. package/lang/translations/es-co.po +54 -0
  242. package/lang/translations/es.po +4 -11
  243. package/lang/translations/et.po +3 -9
  244. package/lang/translations/eu.po +54 -0
  245. package/lang/translations/fa.po +4 -11
  246. package/lang/translations/fi.po +3 -9
  247. package/lang/translations/fr.po +4 -11
  248. package/lang/translations/gl.po +3 -9
  249. package/lang/translations/gu.po +54 -0
  250. package/lang/translations/he.po +4 -11
  251. package/lang/translations/hi.po +3 -9
  252. package/lang/translations/hr.po +4 -10
  253. package/lang/translations/hu.po +3 -9
  254. package/lang/translations/hy.po +54 -0
  255. package/lang/translations/id.po +3 -9
  256. package/lang/translations/it.po +4 -11
  257. package/lang/translations/ja.po +3 -9
  258. package/lang/translations/jv.po +54 -0
  259. package/lang/translations/kk.po +54 -0
  260. package/lang/translations/km.po +53 -0
  261. package/lang/translations/kn.po +54 -0
  262. package/lang/translations/ko.po +3 -9
  263. package/lang/translations/ku.po +54 -0
  264. package/lang/translations/lt.po +4 -11
  265. package/lang/translations/lv.po +4 -10
  266. package/lang/translations/ms.po +3 -9
  267. package/lang/translations/nb.po +54 -0
  268. package/lang/translations/ne.po +54 -0
  269. package/lang/translations/nl.po +3 -9
  270. package/lang/translations/no.po +3 -9
  271. package/lang/translations/oc.po +54 -0
  272. package/lang/translations/pl.po +4 -11
  273. package/lang/translations/pt-br.po +4 -11
  274. package/lang/translations/pt.po +4 -11
  275. package/lang/translations/ro.po +4 -10
  276. package/lang/translations/ru.po +4 -11
  277. package/lang/translations/si.po +54 -0
  278. package/lang/translations/sk.po +4 -11
  279. package/lang/translations/sl.po +56 -0
  280. package/lang/translations/sq.po +54 -0
  281. package/lang/translations/sr-latn.po +4 -10
  282. package/lang/translations/sr.po +4 -10
  283. package/lang/translations/sv.po +3 -9
  284. package/lang/translations/th.po +3 -9
  285. package/lang/translations/ti.po +54 -0
  286. package/lang/translations/tk.po +3 -9
  287. package/lang/translations/tr.po +3 -9
  288. package/lang/translations/tt.po +53 -0
  289. package/lang/translations/ug.po +53 -0
  290. package/lang/translations/uk.po +4 -11
  291. package/lang/translations/ur.po +54 -0
  292. package/lang/translations/uz.po +54 -0
  293. package/lang/translations/vi.po +3 -9
  294. package/lang/translations/zh-cn.po +3 -9
  295. package/lang/translations/zh.po +3 -9
  296. package/package.json +10 -10
  297. package/src/common-translations.js +1 -1
  298. package/src/index.js +1 -1
  299. package/src/presencelist/presencelistui.js +1 -1
  300. package/src/presencelist/view/presencecounterview.js +1 -1
  301. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  302. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  303. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  304. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  305. package/src/presencelist/view/presencelistview.js +1 -1
  306. package/src/presencelist.d.ts +8 -0
  307. package/src/presencelist.js +1 -1
  308. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +8 -0
  309. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
  310. package/src/realtimecollaborativecomments.d.ts +8 -0
  311. package/src/realtimecollaborativecomments.js +1 -1
  312. package/src/realtimecollaborativeediting/realtimecollaborationclient.d.ts +8 -0
  313. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
  314. package/src/realtimecollaborativeediting/sessions.d.ts +8 -0
  315. package/src/realtimecollaborativeediting/sessions.js +1 -1
  316. package/src/realtimecollaborativeediting/usermarkers.d.ts +8 -0
  317. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  318. package/src/realtimecollaborativeediting/websocketgateway.d.ts +8 -0
  319. package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
  320. package/src/realtimecollaborativeediting.d.ts +8 -0
  321. package/src/realtimecollaborativeediting.js +1 -1
  322. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
  323. package/src/realtimecollaborativerevisionhistory.d.ts +8 -0
  324. package/src/realtimecollaborativerevisionhistory.js +1 -1
  325. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
  326. package/src/realtimecollaborativetrackchanges.d.ts +8 -0
  327. package/src/realtimecollaborativetrackchanges.js +1 -1
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x497d5d,Plugin as _0x20e9b2,PendingActions as _0x533628,Context as _0x3ff874}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2c127b,CKEditorError as _0x2b9d7d,Collection as _0x20b753,global as _0x355670,version as nt,uid as _0x4002ff,KeystrokeHandler as _0xab26ed}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xc8ddb,View as _0x73abea,ListView as _0x2e578f,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x21bb65,clickOutsideHandler as _0x45be88,BodyCollection as _0x52cf7c}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x526c43,NoOperation as _0x17da4a,InsertOperation as _0x230d2c,MarkerOperation as _0x2ca1bf,RootAttributeOperation as _0x1a1d5c,transformSets as _0x111bed,OperationFactory as _0x595f16}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x2838f6,CollaborativeEditingService as _0x3a60fe,User as lt,CommentsService as _0x345a6d,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x32b321,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1e1c7e}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x10bb8f}from'lodash-es';class c extends _0x497d5d{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xc8ddb];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x58e49e){super(_0x58e49e),this['set']('state',_0x2838f6['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x2c127b);}['init'](){const _0x19077f=this['context'],_0x41b8bb=_0x19077f['plugins']['get']('CloudServices'),_0x344619=_0x19077f['plugins']['get'](_0xc8ddb);if(!_0x41b8bb['token'])throw new _0x2b9d7d('websocketgateway-missing-token',this);if(!_0x41b8bb['webSocketUrl'])throw new _0x2b9d7d('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),c['WebSocketGateway']['connect'](_0x41b8bb['token'],_0x41b8bb['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x548ee4=>{if(this['connection']=_0x548ee4,this['bind']('state')['to'](_0x548ee4,'state',this,'_isBrowserOffline',(_0x598f97,_0x334ef2)=>('connected'!==_0x598f97&&(this['_shouldPluginsReconnect']=!0x0),_0x334ef2||_0x598f97!==_0x2838f6['CONNECTED']?_0x2838f6['DISCONNECTED']:this['state']==_0x2838f6['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2838f6['CONNECTING']):_0x2838f6['CONNECTED'])),this['connection']['on']('error',(_0x108f4e,_0x4e7677)=>{if('limitExceeded'!==_0x4e7677['code'])throw console['error'](_0x4e7677),new _0x2b9d7d('cloudservices-init',null,{'originalError':_0x4e7677});_0x344619['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'});}),!_0x548ee4['me'])return new Promise(_0x532898=>_0x548ee4['on']('change:me',_0x532898));})['catch'](_0x54afb5=>{throw console['error'](_0x54afb5),new _0x2b9d7d('cloudservices-init',null,{'originalError':_0x54afb5});});}['addToReconnectionStack'](_0x40bf03){if('function'!=typeof _0x40bf03['reconnect'])throw new _0x2b9d7d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x40bf03))throw new _0x2b9d7d('websocketgateway-plugin-already-registered',this,{'name':_0x40bf03['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x40bf03);}['removeFromReconnectionStack'](_0xb99e31){this['_reconnectionStack']['delete'](_0xb99e31);}['isInReconnectionStack'](_0x13762b){return this['_reconnectionStack']['has'](_0x13762b);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3a0ee3=>_0x3a0ee3['reconnect']())))['then'](()=>this['state']=_0x2838f6['CONNECTED'])['catch'](_0x28eac3=>{throw console['error'](_0x28eac3),new _0x2b9d7d('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2838f6['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x497d5d{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x32b321];}constructor(_0x30a04f){super(_0x30a04f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x20b753(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x32b321);}['init'](){const _0x3d57ef=this['context']['plugins']['get'](c);this['listenTo'](_0x3d57ef,'change:state',(_0x4eedcc,_0x4b137b,_0x5aac9d)=>{if('connected'!==_0x5aac9d)this['channelSessions']['forEach'](_0x1f3ce6=>_0x1f3ce6['clear']()),this['channelConnectedUsers']['forEach'](_0x26f6cf=>_0x26f6cf['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x873866,_0x452e82]of this['_registeredSessions'])for(const _0x322bd3 of _0x452e82)this['_handleSessionAdd'](_0x873866,_0x322bd3);}}),this['_createUser'](_0x3d57ef['connection']['me'],!0x0);}['register'](_0x1c07c8,_0x34a60f){if(this['_registeredSessions']['has'](_0x1c07c8))throw new _0x2b9d7d('sessions-register-already-registered',null,{'channelId':_0x1c07c8});this['_registeredSessions']['set'](_0x1c07c8,_0x34a60f),this['channelSessions']['set'](_0x1c07c8,new _0x20b753()),this['channelConnectedUsers']['set'](_0x1c07c8,new _0x20b753()),this['listenTo'](_0x34a60f,'add',(_0x475dd8,_0x422fba)=>this['_handleSessionAdd'](_0x1c07c8,_0x422fba)),this['listenTo'](_0x34a60f,'remove',(_0x5a5c49,_0x36f4dc)=>this['_handleSessionRemove'](_0x1c07c8,_0x36f4dc));for(const _0x44af12 of _0x34a60f)this['_handleSessionAdd'](_0x1c07c8,_0x44af12);}['unregister'](_0x2e1a42){if(!this['_registeredSessions']['has'](_0x2e1a42))throw new _0x2b9d7d('sessions-unregister-not-exist',null,{'channelId':_0x2e1a42});const _0x427dec=this['_registeredSessions']['get'](_0x2e1a42);this['stopListening'](_0x427dec);for(const _0x55b51e of _0x427dec)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x2e1a42,_0x55b51e);this['_registeredSessions']['delete'](_0x2e1a42),this['channelSessions']['delete'](_0x2e1a42),this['channelConnectedUsers']['delete'](_0x2e1a42);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x5d1236){for(const _0x398735 of this['channelSessions']['values']())for(const _0x5d6efc of _0x398735)if(_0x5d6efc['id']===_0x5d1236)return _0x5d6efc['user'];}['getUserSessions'](_0x22d6ed,_0x51a36f){const _0x12963f=_0x51a36f?[this['channelSessions']['get'](_0x51a36f)]:this['channelSessions']['values'](),_0x3e0a82=new Set();for(const _0x4b206b of _0x12963f)for(const _0x52663f of _0x4b206b)_0x52663f['user']['id']===_0x22d6ed['id']&&_0x3e0a82['add'](_0x52663f['id']);return _0x3e0a82;}['getUserRole'](_0x20646d){for(const _0x58a9b9 of this['channelSessions']['values']())for(const _0x197b40 of _0x58a9b9)if(_0x197b40['user']===_0x20646d)return _0x197b40['role'];}['_handleSessionAdd'](_0x422b97,_0x3499ee){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x36448f=_0x3499ee['user'],_0x404f28=this['_users']['getUser'](_0x36448f['id'])||this['_createUser'](_0x36448f),_0x51050c=Object['assign']({},_0x3499ee,{'user':_0x404f28});this['channelSessions']['get'](_0x422b97)['add'](_0x51050c);const _0x5f3e96=this['channelConnectedUsers']['get'](_0x422b97);_0x5f3e96['has'](_0x404f28['id'])||_0x5f3e96['add'](_0x404f28),this['allConnectedUsers']['has'](_0x404f28['id'])||this['allConnectedUsers']['add'](_0x404f28,_0x404f28['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x422b97,{'channelId':_0x422b97,'session':_0x51050c});}['_handleSessionRemove'](_0x5f2954,_0x3a89b4){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x232eeb=this['channelConnectedUsers']['get'](_0x5f2954),_0x33302b=_0x3a89b4['user'];_0x33302b['id']&&(this['channelSessions']['get'](_0x5f2954)['remove'](_0x3a89b4['id']),_0x232eeb['has'](_0x33302b['id'])&&!this['getUserSessions'](_0x33302b,_0x5f2954)['size']&&_0x232eeb['remove'](_0x33302b['id']),this['allConnectedUsers']['get'](_0x33302b['id'])&&!this['getUserSessions'](_0x33302b)['size']&&this['allConnectedUsers']['remove'](_0x33302b['id']));}['_createUser'](_0x101d51,_0x2623b9){const _0x502545=this['_users']['addUser'](_0x101d51);return _0x2623b9&&this['_users']['defineMe'](_0x101d51['id']),_0x502545['orderNumber']=this['_uniqueUsersCount']++,_0x502545;}}class H extends _0x20e9b2{['_domEmitter']=new(_0x2c127b())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x98052c=this['editor'],_0x5cbe41=_0x98052c['plugins']['get'](r);_0x98052c['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x176d01,{writer:_0x1f46c3})=>function(_0x1eee96,_0x3451ae,_0x22df54,_0x524993){const _0x20220f=_0x1eee96['markerName']['split'](':')[0x2],_0x13d3e2=_0x22df54['getUserBySessionId'](_0x20220f);if(!_0x13d3e2||_0x20220f===_0x22df54['mySessionId'])return;if(!_0x524993['model']['schema']['checkChild'](_0x1eee96['markerRange']['start'],'$text'))return;const _0x4cdbd9={'class':'ck-user__marker\x20'+_0x13d3e2['color']['getMarkerClass'](),'data-name':_0x13d3e2['name'],'data-session-id':_0x20220f},_0x150d56=_0x524993['model']['markers']['get'](_0x1eee96['markerName']),_0x232a0e=_0x150d56['getStart'](),_0x396294=_0x232a0e['nodeAfter'],_0x34d581=_0x524993['model']['schema'];if(_0x396294&&_0x34d581['isObject'](_0x396294)&&_0x34d581['isInline'](_0x396294)&&!_0x524993['model']['markers']['get']('user:range:'+_0x20220f)['getRange']()['isCollapsed'])return;const _0x2a1752=_0x232a0e['parent'];return _0x524993['model']['schema']['isLimit'](_0x2a1752)&&!_0x524993['model']['hasContent'](_0x2a1752)&&(_0x4cdbd9['contenteditable']=!0x1),function(_0x170761,_0x144ed9,_0xddeb1d){const _0xbe0677=_0x170761['createUIElement']('span',_0x144ed9);return _0x170761['setCustomProperty']('userPositionMarker',!0x0,_0xbe0677),_0xbe0677['render']=function(_0x5baf4b){const _0x1fe098=this['toDomElement'](_0x5baf4b);return _0x1fe098['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0xddeb1d['name']+'</span>⁠',_0x1fe098['addEventListener']('mouseenter',()=>{_0x1fe098['classList']['add']('ck-user__marker_hovered');}),_0x1fe098['addEventListener']('mouseleave',()=>{_0x1fe098['classList']['remove']('ck-user__marker_hovered');}),_0x1fe098;},_0xbe0677['isSimilar']=function(_0x12e624){return!(!this['getCustomProperty']('userPositionMarker')||!_0x12e624['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x12e624['getAttribute']('data-session-id'));},_0xbe0677;}(_0x3451ae,_0x4cdbd9,_0x13d3e2);}(_0x176d01,_0x1f46c3,_0x5cbe41,_0x98052c)}),_0x98052c['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x423389=>function(_0x3d15d6,_0x472670){const _0x88a484=_0x3d15d6['markerName']['split'](':')[0x2];if(_0x88a484===_0x472670['mySessionId'])return null;const _0x24d358=_0x472670['getUserBySessionId'](_0x88a484);if(!_0x24d358)return{'id':_0x88a484,'classes':[]};return{'id':_0x88a484,'classes':['ck-user__selection',_0x24d358['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x88a484},'priority':0x7d0+_0x24d358['orderNumber']};}(_0x423389,_0x5cbe41)}),function(_0x32b883){const _0x50bafa=_0x32b883['model'],_0x1f5298=new Map(),_0x30d253=_0x32b883['plugins']['get'](r);_0x50bafa['markers']['on']('update:user:range',(_0x50e12f,_0x1381ce,_0x10616b,_0x27e90f)=>{if(!_0x27e90f&&_0x1f5298['get'](_0x1381ce['name']))return _0x1f5298['get'](_0x1381ce['name'])['detach'](),void _0x1f5298['delete'](_0x1381ce['name']);const _0x18ed15=_0x1381ce['name']['split'](':')[0x2];if(_0x18ed15===_0x30d253['mySessionId'])return;const _0x3aba4a='user:position:'+_0x18ed15;_0x50bafa['markers']['has'](_0x3aba4a)&&_0x32b883['editing']['reconvertMarker'](_0x3aba4a),_0x1381ce['on']('change:range',(_0x2ba37f,_0x3b5098,_0x20a172)=>{if('$graveyard'!=_0x3b5098['root']['rootName']&&'$graveyard'==_0x1381ce['getRange']()['root']['rootName']&&!_0x1f5298['has'](_0x1381ce['name'])){const _0x3f1042=_0x50bafa['schema']['getNearestSelectionRange'](_0x20a172['deletionPosition']);if(_0x3f1042){const _0x25079a=ht['fromRange'](_0x3f1042);_0x1f5298['set'](_0x1381ce['name'],_0x25079a),_0x25079a['on']('change:range',(_0xdd4387,_0x291467,_0x5971dc)=>{if('$graveyard'==_0x25079a['root']['rootName']){const _0x2686a4=_0x50bafa['schema']['getNearestSelectionRange'](_0x5971dc['deletionPosition']);_0x2686a4?(_0x25079a['start']=_0x2686a4['start'],_0x25079a['end']=_0x2686a4['end']):(_0x1f5298['delete'](_0x1381ce['name']),_0x25079a['detach']());}});}}});}),_0x50bafa['document']['on']('change',()=>{_0x1f5298['size']>0x0&&_0x50bafa['enqueueChange']({'isUndoable':!0x1},_0x42ffc0=>{for(const [_0x3ac490,_0x120d93]of _0x1f5298)'$graveyard'==_0x50bafa['markers']['get'](_0x3ac490)['getRange']()['root']['rootName']&&(re(_0x3ac490['split'](':')[0x2],_0x120d93['toRange'](),_0x50bafa,_0x42ffc0),_0x120d93['detach']());_0x1f5298['clear']();});});}(_0x98052c),this['_domEmitter']['listenTo'](_0x355670['document'],'keydown',(_0x3f1d87,{key:_0x3c1c8d})=>{'Escape'===_0x3c1c8d&&function(_0x42243d){_0x42243d['editing']['view']['change'](_0x30f823=>{for(const _0x43b639 of _0x42243d['model']['markers']){if(!_0x43b639['name']['startsWith']('user:position'))continue;const _0x4807f0=_0x42243d['editing']['mapper']['markerNameToElements'](_0x43b639['name']);if(_0x4807f0){for(const _0x448124 of _0x4807f0)_0x30f823['removeClass']('ck-user__marker_hovered',_0x448124);}}});}(_0x98052c);},{'useCapture':!0x0});}['afterInit'](){const _0x376069=this['editor'],_0x331aab=_0x376069['commands']['get']('undo');_0x331aab&&_0x376069['model']['on']('applyOperation',(_0x2c6a77,_0x18558d)=>{const _0x3e0a9e=_0x18558d[0x0];if('marker'!=_0x3e0a9e['type']||!_0x3e0a9e['name']['startsWith']('user:'))return;const _0x3d7f94=_0x3e0a9e['batch'];_0x331aab['_createdBatches']['has'](_0x3d7f94)&&(_0x3e0a9e['newRange']=_0x3e0a9e['oldRange']?_0x376069['model']['createRange'](_0x3e0a9e['oldRange']['start'],_0x3e0a9e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xa10560=this['editor'],_0xf71406=_0xa10560['model']['document'],_0x556f64=_0xa10560['plugins']['get'](r);_0xa10560['model']['enqueueChange']({'isUndoable':!0x1},_0x1240fe=>{const _0x1d52d7='user:range:'+_0x556f64['mySessionId'],_0x1a9448='user:position:'+_0x556f64['mySessionId'],_0x178914=_0xa10560['model']['markers']['has'](_0x1d52d7);_0xa10560['editing']['view']['hasDomSelection']?re(_0x556f64['mySessionId'],_0xf71406['selection']['getFirstRange'](),_0xa10560['model'],_0x1240fe):_0x178914&&(_0x1240fe['removeMarker'](_0x1d52d7),_0x1240fe['removeMarker'](_0x1a9448));});}}function re(_0x552867,_0x2cad2c,_0x20496,_0x1575db){const _0x3e1258='user:range:'+_0x552867,_0x1a234e='user:position:'+_0x552867,_0x58bc2b=_0x2cad2c['getContainedElement']();let _0x44a069=_0x2cad2c['start'];_0x58bc2b&&_0x58bc2b['is']('element','tableCell')&&(_0x44a069=function(_0x30d6ca,_0x852c5c){for(const _0x4cd793 of _0x30d6ca['getPositions']())if(_0x852c5c['schema']['checkChild'](_0x4cd793,'$text'))return _0x4cd793;}(_0x2cad2c,_0x20496),_0x2cad2c=_0x1575db['createRange'](_0x44a069));const _0xa1499d=_0x1575db['createRange'](_0x44a069);_0x20496['markers']['has'](_0x3e1258)?(_0x1575db['updateMarker'](_0x3e1258,{'range':_0x2cad2c}),_0x1575db['updateMarker'](_0x1a234e,{'range':_0xa1499d})):(_0x1575db['addMarker'](_0x3e1258,{'range':_0x2cad2c,'usingOperation':!0x0}),_0x1575db['addMarker'](_0x1a234e,{'range':_0xa1499d,'usingOperation':!0x0}));}function q(_0xfd9228,_0x193491,_0x1ad17d){const t=_0xfd9228['t'];switch(_0x193491){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 t({'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'},_0x1ad17d);default:return'';}}let K=0x1;class l extends _0x20e9b2{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3a60fe)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,H,_0x533628,_0x32b321,_0xc8ddb];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x43d4ce=this['serverHistory']['getOperations']();for(let _0x571ec2=_0x43d4ce['length']-0x1;_0x571ec2>=0x0;_0x571ec2--){const _0x10a092=_0x43d4ce[_0x571ec2];if(!this['_disconnectionOperations']['has'](_0x10a092))return _0x10a092['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x12b8fb){if(super(_0x12b8fb),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x526c43(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b9d7d('collaboration-missing-channelid',this);const _0x3822c3=_0x12b8fb['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3822c3,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1e1c7e(),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 X(this['_disconnectionOperations']);}['init'](){const _0x544361=this['editor'],_0x59560a=_0x544361['plugins']['get'](_0x32b321),_0x126f99=_0x544361['plugins']['get'](c);this['listenTo'](_0x59560a,'getOperationAuthor',(_0xd7ad76,_0x582b89)=>{const _0xd29005=_0x582b89[0x0];_0xd29005['_authorId']&&(_0xd7ad76['return']=_0x59560a['getUser'](_0xd29005['_authorId']),_0xd7ad76['stop']()),null===_0xd29005['_authorId']&&(_0xd7ad76['return']=null,_0xd7ad76['stop']());},{'priority':'high'}),this['listenTo'](_0x544361['model']['document']['selection'],'change:range',(_0x18f91e,_0x38dcf0)=>{_0x38dcf0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x544361['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x544361['model']['on']('applyOperation',(_0x364c54,_0x5c4fce)=>{const _0x2ac503=_0x5c4fce[0x0];_0x2ac503['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2ac503),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x126f99,'state',this,'_hasSynchronizationProblem',(_0x21035e,_0x5bd776)=>'connected'===_0x21035e&&!_0x5bd776),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x544361['disableReadOnlyMode']('rtc-offline'):_0x544361['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x544361['disableReadOnlyMode']('rtc-offline'):_0x544361['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1a3719=this['editor']['plugins']['get'](r),_0x3b6d5f=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x1a3719['unregister'](this['_channelId']);const _0x22bc35=await this['_service']['reconnect'](_0x3b6d5f['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x22bc35)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x415619=await this['_service']['getConnectedSessions']();_0x1a3719['register'](this['_channelId'],_0x415619),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x6942e7){if(function(_0x5aa547){return'404'===_0x5aa547['code'];}(_0x6942e7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x45f0c4){return'409'===_0x45f0c4['code'];}(_0x6942e7)){const _0x59c7d0=q(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'](_0x59c7d0);}else{if(!(_0x6942e7 instanceof J))throw _0x6942e7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x99287d=this['editor']['plugins']['get'](c),_0x5dece4=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5dece4['channelSessions']['has'](this['_channelId'])&&_0x5dece4['unregister'](this['_channelId']),_0x99287d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4414f1){if(this['sessionId']!==_0x4414f1['sessionId']&&this['_lastSyncedOperationId']!==_0x4414f1['lastOperationId'])throw new J();return this['sessionId']=_0x4414f1['sessionId'],this['_handleServerResponse']([],{..._0x4414f1,'wereChangesApplied':!0x1,'data':_0x4414f1['data']},'reconnect');}async['_connectService'](_0x487a37,_0x21312e=!0x1){const {connection:_0x1ff9f4}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x1ff9f4,this['_channelId'])['then'](_0x5d200f=>this['_initSessionsHandling'](_0x5d200f))['catch'](_0x5a97ad=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5a97ad);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x3479b9,_0x5b0365)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x5b0365);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4d0047=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x487a37);this['_isPendingUpdate']=!0x0;const _0x5d1dea=await this['_service']['connect'](_0x1ff9f4,this['_compressOperations'](_0x487a37),_0x4d0047);if(this['sessionId']=_0x5d1dea['sessionId'],_0x21312e){if(!_0x5d1dea['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5d1dea['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x487a37,_0x5d1dea,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5d1dea,_0x487a37);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5d87d8=this['editor']['plugins']['get'](r),_0x5b9554=this['editor']['plugins']['get'](H),_0x117eaa=_0x5d87d8['channelSessions']['get'](this['_channelId']);_0x117eaa&&_0x117eaa['length']>0x1?_0x5b9554['createUserMarkerOperations']():this['listenTo'](_0x5d87d8,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5d87d8['channelSessions']['get'](this['_channelId'])['length']&&_0x5b9554['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3ba8f9,_0xc4d4e7,_0x11a24f,_0x539ddb){if(!this['_isPendingUpdate']&&this['_document']['version']==_0xc4d4e7){const _0x40e450=this['_decompressOperations'](_0x11a24f,_0x539ddb);await this['_fetchMissingUsers'](_0x40e450),this['_handleExternalOperations'](_0x40e450,_0xc4d4e7,_0x11a24f['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4bd54d}=this['editor'];let _0x2f4d70;try{_0x2f4d70=await this['_service']['getDocumentDetails']();}catch(_0x37371a){const _0x3e9594=q(_0x4bd54d,'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'](_0x3e9594);}const _0x59e975=_0x2f4d70['currentDocumentSession']||_0x2f4d70['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x59e975['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x1b6dac=q(_0x4bd54d,'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.');this['_handleReconnectionError'](_0x1b6dac);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x184da9){const _0x4e4070=this['editor']['plugins']['get'](r);this['listenTo'](_0x4e4070,'sessionAdd:'+this['_channelId'],(_0x4d5ed5,{session:_0x443fc3})=>{if(_0x443fc3['id']===_0x4e4070['mySessionId']){_0x4d5ed5['off']();const _0x220f57=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x517a13=_0x443fc3['permissions'];_0x220f57&&_0x220f57['isEnabled']&&(_0x517a13=_0x517a13['filter'](_0x32042c=>'document:write'!==_0x32042c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x517a13,this['_channelId']);}}),_0x4e4070['register'](this['_channelId'],_0x184da9);}['_initThrowingOnDataSet'](){const _0xaa6917=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5cda0e)=>{if(!_0x5cda0e[_0x5cda0e['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b9d7d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xaa6917['apply'](this['editor']['data'],_0x5cda0e);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2944e1,[_0x174441])=>{if(this['_document']['version'])throw new _0x2b9d7d('realtimecollaborationclient-init-document-already-initialized',this);_0x2944e1['stop'](),this['_setPendingAction']();const _0x5b573a=this['editor']['config']['get']('rootsAttributes'),_0x5cca89=this['_getOperationsFromInitData'](_0x174441,_0x5b573a);0x0==_0x5cca89['length']&&_0x5cca89['push'](new _0x17da4a(0x0)),_0x2944e1['return']=this['_connectService'](_0x5cca89)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x53a762=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x53a762))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3c5a82,[_0x51e788,_0x12aacf])=>{_0x3c5a82['stop']();const _0x3a0a02=this['editor']['model']['document']['getRoot'](_0x51e788);if(!this['_knownRootNames']['has'](_0x51e788)){const _0x141cec=_0x12aacf&&_0x12aacf['data']?_0x12aacf['data']:'',_0x877463=_0x12aacf&&_0x12aacf['attributes']?_0x12aacf['attributes']:{};await this['_loadRoot'](_0x51e788,_0x141cec,_0x877463);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3a0a02['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3a0a02);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x404ebe){const _0x658301=this['editor']['plugins']['get'](_0x32b321),{connection:_0x1b8363}=this['editor']['plugins']['get'](c),_0x1d5424=new Set();for(const _0x53a4e1 of _0x404ebe){const _0x494491=_0x53a4e1['_authorId'];_0x494491&&!_0x658301['getUser'](_0x494491)&&_0x1d5424['add'](_0x494491);}if(0x0===_0x1d5424['size'])return;const _0x52370c=await lt['getMany'](_0x1b8363,Array['from'](_0x1d5424));for(const _0x5a244a of _0x52370c)_0x658301['getUser'](_0x5a244a['id'])||_0x658301['addUser'](_0x5a244a);}['_getOperationsFromInitData'](_0x299377,_0x2a3d0={}){const _0x5dbfe2=this['editor']['model'],_0x232e87=[];let _0x5124f6=0x0;const _0x1b3636='string'==typeof _0x299377?{'main':_0x299377}:_0x299377;for(const _0x1aec0a of Object['keys'](_0x1b3636)){if(!this['_document']['roots']['has'](_0x1aec0a))throw new _0x2b9d7d('realtimecollaborationclient-init-non-existent-root',this);const _0x548ab6=this['editor']['data']['parse'](_0x1b3636[_0x1aec0a]),_0x3173b6=this['_document']['getRoot'](_0x1aec0a),_0x1122ac=new _0x230d2c(_0x5dbfe2['createPositionAt'](_0x3173b6,0x0),_0x548ab6,_0x5124f6++);_0x232e87['push'](_0x1122ac);for(const [_0x8ae4c0,_0x49b50b]of _0x548ab6['markers']){const _0x352681=_0x5dbfe2['createRange'](_0x5dbfe2['createPositionFromPath'](_0x3173b6,_0x49b50b['start']['path']['slice']()),_0x5dbfe2['createPositionFromPath'](_0x3173b6,_0x49b50b['end']['path']['slice']())),_0xf474e=new _0x2ca1bf(_0x8ae4c0,null,_0x352681,_0x5dbfe2['markers'],!0x0,_0x5124f6++);_0x232e87['push'](_0xf474e);}}if(_0x2a3d0)for(const [_0xc1aa51,_0x22d27a]of Object['entries'](_0x2a3d0)){const _0x363bbf=_0x5dbfe2['document']['getRoot'](_0xc1aa51);if(!_0x363bbf)throw new _0x2b9d7d('multi-root-editor-root-attributes-no-root',null);for(const [_0x1ae01c,_0x249f88]of Object['entries'](_0x22d27a))if(null!==_0x249f88){const _0x2aba17=new _0x1a1d5c(_0x363bbf,_0x1ae01c,null,_0x249f88,_0x5124f6++);_0x232e87['push'](_0x2aba17);}}return _0x232e87;}async['_loadRoot'](_0x38f46f,_0x2efe81,_0xe78e15){this['_getOperationsFromInitData']({[_0x38f46f]:_0x2efe81},{[_0x38f46f]:_0xe78e15})['forEach']((_0x359ed6,_0x3692bb)=>{_0x359ed6['baseVersion']=this['_document']['version']+_0x3692bb,_0x359ed6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x359ed6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4a2c58,_0x27af56){let _0x2d5c36;this['_offset']=_0x4a2c58['offset'];const _0x5717b9=_0x4a2c58['wereChangesApplied']&&!_0x4a2c58['initData'],_0x9625c=_0x5717b9?0x0:_0x4a2c58['data']['baseVersion'];if(_0x27af56['forEach'](_0x22ec6e=>{_0x22ec6e['_isInit']=!0x0,_0x22ec6e['createdAt']=_0x4a2c58['sessionCreatedAt'],_0x22ec6e['_authorId']=null;}),_0x5717b9)_0x2d5c36=_0x27af56,this['_applyOperationsSet'](_0x2d5c36,_0x5717b9);else{if(_0x4a2c58['initData']){const _0x24116f=this['_getOperationsFromInitData'](_0x4a2c58['initData']);this['_document']['history']['version']=-_0x24116f['length'],_0x24116f['forEach'](_0x5ba9a1=>{_0x5ba9a1['baseVersion']-=_0x24116f['length'],_0x5ba9a1['createdAt']=_0x4a2c58['sessionCreatedAt'],_0x5ba9a1['_isInit']=!0x0,_0x5ba9a1['_authorId']=null;}),this['_applyOperationsSet'](_0x24116f,!0x0),this['serverHistory']['version']=-_0x24116f['length']+this['_offset'],this['_updateServerHistory'](_0x24116f);}this['_document']['history']['version']=_0x9625c,_0x2d5c36=this['_decompressOperations'](_0x4a2c58['data'],_0x4a2c58['metadata']),await this['_fetchMissingUsers'](_0x2d5c36),this['_applyOperationsSet'](_0x2d5c36,_0x5717b9);}_0x4a2c58['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2d5c36,_0x4a2c58['lastOperationId']),this['_lastSyncedOperationId']=_0x4a2c58['lastOperationId']),this['serverHistory']['version']=_0x9625c+this['_offset'],this['_updateServerHistory'](_0x2d5c36),_0x27af56['filter'](_0xeb6ded=>{const _0x2b65dd=this['_getAffectedRoot'](_0xeb6ded);return _0x2b65dd&&!this['_knownRootNames']['has'](_0x2b65dd);})['forEach']((_0x2fab7d,_0x2647fa)=>{_0x2fab7d['baseVersion']=this['_document']['version']+_0x2647fa,this['_saveOperationInBuffer'](_0x2fab7d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4486cd,_0x447174){throw this['_isPendingUpdate']=!0x0,_0x447174&&console['error'](_0x447174),new _0x2b9d7d(_0x4486cd,this['editor']);}['_saveOperationInBuffer'](_0x121664){this['_knownOperations']['has'](_0x121664)||(this['_knownOperations']['add'](_0x121664),this['_bufferedOperations']['push'](_0x121664),this['_pendingAction']||'marker'==_0x121664['type']&&!_0x121664['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x28f844=!0x1){!_0x28f844&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x295e62=>{_0x295e62&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x23ae98=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x31b2d7){return _0x31b2d7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x31b2d7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x31b2d7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x23ae98))throw _0x23ae98;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xb1aa3a=>{this['on']('change:_isPendingUpdate',()=>{_0xb1aa3a();});});}async['_sendBufferedOperations'](){const _0x33955e=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x33955e['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4b0b45=[...this['_bufferedOperations']];for(const _0x2c917b of _0x4b0b45)_0x2c917b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2c917b);const _0x3216e5=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4b0b45),_0x42f79b=K++,_0x344af1=this['_compressOperations'](_0x4b0b45),_0x191b1e=await this['_service']['sendOperations'](_0x344af1,_0x344af1['baseVersion'],_0x3216e5);try{return await this['_handleServerResponse'](_0x4b0b45,_0x191b1e,_0x42f79b);}catch(_0x4f7219){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4f7219);}}async['_handleServerResponse'](_0x2935ea,_0x176a97,_0x5420b9){if('error'in _0x176a97)throw _0x176a97['error'];let _0x232e4f=!0x1;if(_0x176a97['wereChangesApplied']){_0x176a97['lastOperationId']&&(this['_lastSyncedOperationId']=_0x176a97['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1a2ff5=>!_0x2935ea['includes'](_0x1a2ff5));for(const _0x1ee38e of _0x2935ea)_0x1ee38e['createdAt']='lastOperationAcceptedAt'in _0x176a97&&_0x176a97['lastOperationAcceptedAt']||void 0x0;Q(_0x2935ea,_0x176a97['version']-_0x2935ea['length']),this['_updateServerHistory'](_0x2935ea);const _0x468a99=_0x2935ea['filter'](_0x5b5ffa=>{if(!_0x5b5ffa['_isInit'])return!0x1;const _0x1ca794=this['_getAffectedRoot'](_0x5b5ffa);return _0x1ca794&&!this['_knownRootNames']['has'](_0x1ca794);});Q(_0x468a99,this['_document']['version']),this['_applyOperationsSet'](_0x468a99),_0x232e4f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3bf93b=this['_decompressOperations'](_0x176a97['data'],_0x176a97['metadata'])['filter'](_0x389843=>_0x389843['baseVersion']>=this['_lastServerVersion']);_0x3bf93b['forEach'](_0x5a6710=>this['_addKnownRoot'](_0x5a6710)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x279e04=>!_0x279e04['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x279e04))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3bf93b),_0x232e4f=this['_handleExternalOperations'](_0x3bf93b,_0x176a97['version'],_0x176a97['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x232e4f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4e270c,_0x55d799,_0x1d1831){try{const _0x3ba55b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1f97e6,operationsB:_0x536263,originalOperations:_0x36cd2d}=_0x111bed(_0x4e270c,this['_bufferedOperations'],_0x3ba55b);Q(_0x1f97e6,this['_document']['version']),Q(_0x536263,_0x55d799);for(const _0x162f78 of _0x1f97e6){const _0x3fc90f=_0x36cd2d['get'](_0x162f78);_0x162f78['_authorId']=_0x3fc90f?_0x3fc90f['_authorId']:null;}_0x1d1831&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4e270c,_0x1d1831),this['_lastSyncedOperationId']=_0x1d1831),this['_bufferedOperations']=[..._0x536263],this['_applyOperationsSet'](_0x1f97e6),this['_updateServerHistory'](_0x4e270c);}catch(_0x1530b0){return console['error'](_0x1530b0),!0x1;}return!0x0;}['_applyOperationsSet'](_0x9b9842,_0x8074bb=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5db559=>{for(const _0x14dfe4 of _0x9b9842)this['_knownOperations']['add'](_0x14dfe4),this['_addKnownRoot'](_0x14dfe4),_0x5db559['batch']['addOperation'](_0x14dfe4),this['editor']['model']['applyOperation'](_0x14dfe4);});}['_addKnownRoot'](_0x37f6c3){const _0x4e64be=this['_getAffectedRoot'](_0x37f6c3);_0x4e64be&&this['_knownRootNames']['add'](_0x4e64be);}['_getAffectedRoot'](_0x5a53cf){let _0x2bbc84,_0xf952b6;switch(_0x5a53cf['type']){case'insert':_0x2bbc84=_0x5a53cf['position']['root'];break;case'marker':if(_0xf952b6=_0x5a53cf['newRange'],!_0xf952b6)return null;_0x2bbc84=_0xf952b6['root'];break;case'addRootAttribute':_0x2bbc84=_0x5a53cf['root'];break;case'addRoot':_0x2bbc84=_0x5a53cf['affectedSelectable'];break;case'move':_0x2bbc84=_0x5a53cf['targetPosition']['root'];break;default:return null;}return _0x2bbc84['rootName'];}['_updateServerHistory'](_0x4108d4){_0x4108d4['forEach'](_0x45a7d1=>{const _0x3db514=_0x45a7d1['clone']();_0x3db514['_authorId']=_0x45a7d1['_authorId'],_0x3db514['_isInit']=!!_0x45a7d1['_isInit'],_0x3db514['createdAt']=_0x45a7d1['createdAt'],_0x3db514['baseVersion']+=this['_offset'],_0x45a7d1['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3db514),this['serverHistory']['addOperation'](_0x3db514);});}['_handleReconnectionError'](_0x551964){const _0x1ae803=this['editor']['plugins']['get']('Notification'),_0x790ef4=this['editor']['locale'];_0x551964||(_0x551964=q(_0x790ef4,'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.')),_0x1ae803['showWarning'](_0x551964,{'title':q(_0x790ef4,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x533628)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x533628)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x103fb4){const _0x40776d=_0x103fb4['map'](_0x158dcb=>_0x158dcb['toJSON']());return this['_compressor']['compress'](_0x40776d);}['_decompressOperations'](_0x53d65a,_0x3252ae){return this['_compressor']['decompress'](_0x53d65a)['map']((_0x37af5a,_0x1594a5)=>{const _0x441279='init'==_0x3252ae[_0x1594a5]['type'];if('InsertOperation'==_0x37af5a['__className']){const _0x58715a=_0x37af5a['position']['root'];!this['_document']['getRoot'](_0x58715a)&&(this['_document']['createRoot']('$root',_0x58715a)['_isAttached']=!0x1);}const _0x14919d=_0x595f16['fromJSON'](_0x37af5a,this['_document']);return _0x14919d['wasUndone']=_0x37af5a['wasUndone'],_0x14919d['_isInit']=_0x441279,_0x14919d['_authorId']=_0x441279?null:_0x3252ae[_0x1594a5]['userId'],_0x14919d['_isDisconnection']='cs:removeUser'===_0x3252ae[_0x1594a5]['type'],_0x14919d['createdAt']=_0x3252ae[_0x1594a5]['createdAt'],_0x14919d;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x20b727=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x20b727&&_0x20b727['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x5af67a,_0x4885f8){for(const _0x4904f8 of _0x5af67a)_0x4904f8['baseVersion']=_0x4885f8++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x1747f4){this['_ignoredOperations']=_0x1747f4,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x429edf){let _0x55220a=_0x429edf['length'];for(;_0x55220a--;){const _0x1b45a7=_0x429edf[_0x55220a];if(!this['_ignoredOperations']['has'](_0x1b45a7)){if(!this['_operationToId']['has'](_0x1b45a7)){const _0x60e8f1=_0x4002ff()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1b45a7,_0x60e8f1);}return this['_operationToId']['get'](_0x1b45a7);}}}['setIdForTheLastOperation'](_0x514936,_0x1ab522){if(!_0x1ab522)return;let _0x242b4d=_0x514936['length'];for(;_0x242b4d--;){const _0x5bb7fb=_0x514936[_0x242b4d];this['_ignoredOperations']['has'](_0x5bb7fb)||this['_operationToId']['set'](_0x5bb7fb,_0x1ab522);}}}class n extends _0x20e9b2{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x497d5d{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x345a6d)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x32b321];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x15dc17){super(_0x15dc17),this['_services']=new Map();}async['init'](){const _0xb0b1db=this['context'],_0x10c67e=_0xb0b1db['plugins']['get']('CommentsRepository');if(_0xb0b1db['plugins']['get'](c)['addToReconnectionStack'](this),_0x10c67e['adapter']={'addCommentThread':async({channelId:_0x41537f,threadId:_0x44cd9e,comments:_0x585087,resolvedAt:_0x2661e5,resolvedBy:_0x57aa7c,context:_0x54ea21,attributes:_0x3ba52c})=>{const _0x4e244b=await this['_getService'](_0x41537f)['addCommentThread']({'commentThreadId':_0x44cd9e,'comments':_0x585087['map'](_0x5acbc8=>function(_0x2ce4f9,_0x51bbd1,_0x38fe73){return{'commentThreadId':_0x38fe73,'commentId':_0x2ce4f9['commentId'],'userId':_0x2ce4f9['authorId'],'content':_0x2ce4f9['content'],'documentId':_0x51bbd1,'createdAt':_0x2ce4f9['createdAt'],'attributes':_0x2ce4f9['attributes']||{}};}(_0x5acbc8,_0x41537f,_0x44cd9e)),'resolvedAt':_0x2661e5,'resolvedBy':_0x57aa7c,'context':_0x54ea21,'attributes':_0x3ba52c})['catch'](ut);return{'threadId':_0x4e244b['commentThreadId'],'comments':_0x4e244b['comments']};},'getCommentThread':async({channelId:_0x1d575e,threadId:_0xd5058f})=>{const _0x3b69d1=await this['_getService'](_0x1d575e)['getCommentThread'](_0xd5058f)['catch'](ut);return _0x3b69d1['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3b69d1]),{'threadId':_0x3b69d1['commentThreadId'],'comments':_0x3b69d1['comments']['map'](b),'context':_0x3b69d1['context'],'resolvedAt':_0x3b69d1['resolvedAt'],'resolvedBy':_0x3b69d1['resolvedBy'],'attributes':_0x3b69d1['attributes']||{}});},'updateCommentThread':async({channelId:_0x4bbeaa,threadId:_0x5d42cb,context:_0x3cf974,unlinkedAt:_0x1383bd,attributes:_0x3742cb})=>this['_getService'](_0x4bbeaa)['updateCommentThread']({'commentThreadId':_0x5d42cb,'context':_0x3cf974,'attributes':_0x3742cb,'unlinkedAt':_0x1383bd})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x34cd78,threadId:_0x180b3a})=>{const _0x4f124f=await this['_getService'](_0x34cd78)['resolveCommentThread'](_0x180b3a)['catch'](y)['catch'](ut);return{'threadId':_0x4f124f['commentThreadId'],'resolvedAt':_0x4f124f['resolvedAt'],'resolvedBy':_0x4f124f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x503dfb,threadId:_0x42c68f})=>this['_getService'](_0x503dfb)['reopenCommentThread'](_0x42c68f)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x4701fa,threadId:_0x2524e0})=>this['_getService'](_0x4701fa)['removeCommentThread'](_0x2524e0)['catch'](y)['catch'](ut),'addComment':({channelId:_0x4700b7,threadId:_0x256127,commentId:_0x413148,content:_0x250793,attributes:_0x57732c})=>this['_getService'](_0x4700b7)['addComment'](_0x256127,_0x413148,_0x250793,_0x57732c)['catch'](ut),'updateComment':({channelId:_0x6e6a8,threadId:_0xf1611,commentId:_0x56c62a,content:_0x287a02,attributes:_0x3bd205})=>this['_getService'](_0x6e6a8)['updateComment'](_0xf1611,_0x56c62a,_0x287a02,_0x3bd205)['catch'](y)['catch'](ut),'removeComment':({channelId:_0x35d02f,threadId:_0x196e62,commentId:_0x523040})=>this['_getService'](_0x35d02f)['removeComment'](_0x196e62,_0x523040)['catch'](y)['catch'](ut)},_0xb0b1db instanceof _0x3ff874){const _0x564536=_0xb0b1db['config']['get']('collaboration.channelId'),_0x89a570=_0xb0b1db['plugins']['get'](r);await this['_setUpService'](_0x564536);const _0x706589=await this['_services']['get'](_0x564536)['getConnectedSessions']();this['listenTo'](_0x89a570,'sessionAdd:'+_0x564536,(_0x130544,{session:_0x27b94b})=>{_0x27b94b['id']===_0x89a570['mySessionId']&&(_0x130544['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x27b94b['permissions'],_0x564536));}),_0x89a570['register'](_0x564536,_0x706589);}}async['_setUpService'](_0x2a767a){if(this['_services']['has'](_0x2a767a))throw new _0x2b9d7d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2a767a});const _0x1c0805=this['context']['plugins']['get']('CommentsRepository'),_0x59afd1=new a['CommentsService'](_0x2a767a);this['_services']['set'](_0x2a767a,_0x59afd1),this['listenTo'](_0x59afd1,'commentThreadAdded',(_0x390c1c,_0x268f4d)=>{const {commentThreadId:_0x13129f,documentId:_0x74c46,context:_0x35cdb8,attributes:_0x2d71fe,resolvedAt:_0x5313a3,resolvedBy:_0xaa1e73,comments:_0x569b4b}=_0x268f4d;_0x1c0805['getCommentThread'](_0x13129f)||_0x1c0805['addCommentThread']({'threadId':_0x13129f,'channelId':_0x74c46,'comments':_0x569b4b?_0x569b4b['map'](b):[],'context':_0x35cdb8,'attributes':_0x2d71fe,'resolvedAt':_0x5313a3,'resolvedBy':_0xaa1e73,'isFromAdapter':!0x0});}),this['listenTo'](_0x59afd1,'commentThreadUpdated',(_0x360440,{commentThreadId:_0x168a5f,documentId:_0x4f9b2b,context:_0x3009e4,unlinkedAt:_0xbf80ae,attributes:_0x2396a6})=>{_0x1c0805['getCommentThread'](_0x168a5f)&&_0x1c0805['updateCommentThread']({'threadId':_0x168a5f,'channelId':_0x4f9b2b,'context':_0x3009e4,'unlinkedAt':_0xbf80ae,'attributes':_0x2396a6,'isFromAdapter':!0x0});}),this['listenTo'](_0x59afd1,'commentThreadResolved',(_0x427f9f,{commentThreadId:_0x2070b6,resolvedBy:_0x3963a9,resolvedAt:_0x326d46})=>{const _0x56f7df=_0x1c0805['getCommentThread'](_0x2070b6);_0x56f7df&&_0x56f7df['resolve']({'resolvedBy':_0x3963a9,'resolvedAt':_0x326d46,'isFromAdapter':!0x0});}),this['listenTo'](_0x59afd1,'commentThreadReopened',(_0x3d5e8a,{commentThreadId:_0x31e473})=>{const _0x7e3b99=_0x1c0805['getCommentThread'](_0x31e473);_0x7e3b99&&_0x7e3b99['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59afd1,'commentThreadRemoved',(_0x509396,{commentThreadId:_0xe0cc5})=>{const _0x5aa6a2=_0x1c0805['getCommentThread'](_0xe0cc5);_0x5aa6a2&&_0x5aa6a2['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59afd1,'commentAdded',(_0x2a0f3a,_0x103a3d)=>{const _0x47a486=_0x103a3d['commentThreadId'],_0x3692eb=_0x1c0805['getCommentThread'](_0x47a486);_0x3692eb&&_0x3692eb['addComment']({...b(_0x103a3d),'isFromAdapter':!0x0});}),this['listenTo'](_0x59afd1,'commentUpdated',(_0x3e130a,{commentThreadId:_0x496223,commentId:_0x79ff47,content:_0x497d85,attributes:_0x3119c5})=>{const _0x2996fd=_0x1c0805['getCommentThread'](_0x496223);if(_0x2996fd){const _0x2d512f=_0x2996fd['getComment'](_0x79ff47);_0x2d512f&&_0x2d512f['update']({'content':_0x497d85,'attributes':_0x3119c5,'isFromAdapter':!0x0});}}),this['listenTo'](_0x59afd1,'commentRemoved',(_0x1a09b8,{commentThreadId:_0x3d0391,commentId:_0x42f26d})=>{const _0x4d5bec=_0x1c0805['getCommentThread'](_0x3d0391);if(_0x4d5bec){const _0x129cf7=_0x4d5bec['getComment'](_0x42f26d);_0x129cf7&&_0x129cf7['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2a767a);}['destroy'](){if(this['context']instanceof _0x3ff874){const _0x5429e1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5429e1);}}['_terminateService'](_0x12c036){if(!this['_services']['has'](_0x12c036))throw new _0x2b9d7d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x12c036});this['_getService'](_0x12c036)['disconnect'](),this['_services']['delete'](_0x12c036);}async['reconnect'](){for(const _0x58d369 of this['_services']['keys']())await this['_connectService'](_0x58d369);if(this['context']instanceof _0x3ff874){const _0x242a38=this['context']['config']['get']('collaboration.channelId'),_0x4b810c=this['context']['plugins']['get'](r);_0x4b810c['unregister'](_0x242a38);const _0x1f2448=await this['_services']['get'](_0x242a38)['getConnectedSessions']();_0x4b810c['register'](_0x242a38,_0x1f2448);}}async['_connectService'](_0x18192f){const {connection:_0x13fd46}=this['context']['plugins']['get'](c),_0x5c6505=this['context']['plugins']['get']('CommentsRepository'),_0x817e5e=this['_services']['get'](_0x18192f),_0x49602c=await _0x817e5e['connect'](_0x13fd46);await this['_fetchMissingUsersForThreads'](_0x49602c);const _0x3038ee=new Set(Array['from'](_0x5c6505['getCommentThreads']({'channelId':_0x18192f}),_0x2850a5=>_0x2850a5['id']));for(const _0xc6d9c6 of _0x49602c)_0xc6d9c6['deletedAt']||_0x3038ee['delete'](_0xc6d9c6['commentThreadId']);for(const _0x1c6fa7 of _0x3038ee)_0x5c6505['getCommentThread'](_0x1c6fa7)['remove']({'isFromAdapter':!0x0});for(const _0x3e9b4b of _0x49602c){let _0x471776=_0x5c6505['getCommentThread'](_0x3e9b4b['commentThreadId']);const {commentThreadId:_0x5edbcf,context:_0x4968fb,attributes:_0x3a9d7f,resolvedBy:_0x522641,resolvedAt:_0x5ae24e,unlinkedAt:_0x2c5618,deletedAt:_0x3f0329}=_0x3e9b4b;if(_0x3f0329)continue;_0x471776||(_0x471776=_0x5c6505['addCommentThread']({'channelId':_0x18192f,'threadId':_0x5edbcf,'context':_0x4968fb,'attributes':_0x3a9d7f||{},'resolvedBy':_0x522641,'resolvedAt':_0x5ae24e,'unlinkedAt':_0x2c5618,'isFromAdapter':!0x0}));const _0x191346=new Set(Array['from'](_0x471776['comments'],_0x4096de=>_0x4096de['id']));for(const _0x5364fe of _0x3e9b4b['comments'])_0x191346['delete'](_0x5364fe['commentId']);for(const _0x5651f4 of _0x191346)_0x471776['getComment'](_0x5651f4)['remove']({'isFromAdapter':!0x0});for(const _0xa40987 of _0x3e9b4b['comments']){const _0x32b3b5=_0x471776['getComment'](_0xa40987['commentId']);_0x32b3b5?_0x32b3b5['content']!==_0xa40987['content']&&_0x32b3b5['update']({'content':_0xa40987['content'],'isFromAdapter':!0x0}):_0x471776['addComment'](Object['assign'](b(_0xa40987),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4fb784){if(!this['_services']['has'](_0x4fb784))throw new _0x2b9d7d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4fb784});return this['_services']['get'](_0x4fb784);}async['_fetchMissingUsersForThreads'](_0x23851d){const _0x12fa2d=this['context']['plugins']['get'](_0x32b321),{connection:_0xb39c2f}=this['context']['plugins']['get'](c),_0x5140af=new Set();for(const {resolvedBy:_0x9b69f6,comments:_0x4982bd}of _0x23851d){_0x9b69f6&&!_0x12fa2d['getUser'](_0x9b69f6)&&_0x5140af['add'](_0x9b69f6);for(const {userId:_0x44f462}of _0x4982bd)_0x12fa2d['getUser'](_0x44f462)||_0x5140af['add'](_0x44f462);}if(0x0===_0x5140af['size'])return;const _0x28c2b9=await lt['getMany'](_0xb39c2f,Array['from'](_0x5140af));for(const _0x3d31e7 of _0x28c2b9)_0x12fa2d['getUser'](_0x3d31e7['id'])||_0x12fa2d['addUser'](_0x3d31e7);}}async function y(_0xe8770c){if('404'!==_0xe8770c['code'])throw _0xe8770c;}function ut(_0x42d901){if((_0x57e3c0=_0x42d901)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x57e3c0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x57e3c0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x57e3c0;throw _0x42d901;}function b(_0xbf1630){return{'threadId':_0xbf1630['commentThreadId'],'commentId':_0xbf1630['commentId'],'content':_0xbf1630['content'],'createdAt':_0xbf1630['createdAt'],'authorId':_0xbf1630['userId'],'attributes':_0xbf1630['attributes']||{}};}class g extends _0x20e9b2{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x3b3c4d){super(_0x3b3c4d);const _0x48f06c=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x48f06c);}['init'](){const _0xefc757=this['editor']['plugins']['get'](c),_0x43d168=this['editor']['plugins']['get']('TrackChangesEditing');return _0x43d168['adapter']={'getSuggestion':async _0x1b60ae=>{await this['_waitForServiceReady']();const _0x31fe0a=await this['_trackChangesService']['get'](_0x1b60ae)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x31fe0a]),_0x31fe0a;},'addSuggestion':async({id:_0xd1c25d,type:_0x2ea148,data:_0x1cab93,originalSuggestionId:_0x349604,attributes:_0x408283})=>{await this['_waitForServiceReady']();const _0x362faa={'id':_0xd1c25d,'type':_0x2ea148,'data':_0x1cab93,'originalSuggestionId':_0x349604,'attributes':_0x408283},_0x1b59cc=await this['_trackChangesService']['add'](_0xd1c25d,_0x2ea148,_0x1cab93,_0x349604,_0x408283)['catch'](_0x598b5e=>{if(ft(_0x598b5e))return new Promise(_0x408a83=>{this['_bufferedRequests']['set'](_0xd1c25d,{'resolve':_0x408a83,'suggestionData':_0x362faa});});throw _0x598b5e;});return this['_bufferedRequests']['delete'](_0xd1c25d),_0x1b59cc;},'updateSuggestion':async(_0x48a063,_0x111eb9)=>{if(await this['_waitForServiceReady'](),'open'!==_0x111eb9['state'])return this['_trackChangesService']['update'](_0x48a063,_0x111eb9)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4c23eb,_0x1def8a)=>{_0x43d168['hasSuggestion'](_0x1def8a['id'])&&(_0x43d168['getSuggestion'](_0x1def8a['id'])['attributes']=_0x1def8a['attributes']);}),this['_trackChangesService']['connect'](_0xefc757['connection'])['then'](_0x238cc6=>(_0xefc757['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x238cc6)['then'](()=>{for(const _0x48884e of _0x238cc6){_0x43d168['addSuggestionData'](_0x48884e)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1cd6db=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2f9d2b}=this['editor']['plugins']['get'](c),_0x48d401=await this['_trackChangesService']['connect'](_0x2f9d2b);await this['_fetchMissingUsersForThreads'](_0x48d401);for(const {suggestionData:_0x1b1778,resolve:_0xf64805}of this['_bufferedRequests']['values']()){let _0x38c7bf=_0x48d401['find'](_0x56a05c=>_0x56a05c['id']===_0x1b1778['id']);_0x38c7bf||(_0x38c7bf=await this['_trackChangesService']['add'](_0x1b1778['id'],_0x1b1778['type'],_0x1b1778['data'],_0x1b1778['originalSuggestionId'])),_0xf64805(_0x38c7bf);}for(const _0x70a0b8 of _0x48d401)_0x1cd6db['hasSuggestion'](_0x70a0b8['id'])||_0x1cd6db['addSuggestionData'](_0x70a0b8);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x54a39d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5b0a94=>{_0x5b0a94['off'](),_0x54a39d();});});}async['_fetchMissingUsersForThreads'](_0x24a2c6){const _0x556693=this['editor']['plugins']['get'](_0x32b321),{connection:_0x4b2a7e}=this['editor']['plugins']['get'](c),_0xc0d974=new Set();for(const {authorId:_0x180b46}of _0x24a2c6)_0x556693['getUser'](_0x180b46)||_0xc0d974['add'](_0x180b46);if(0x0===_0xc0d974['size'])return;const _0x59275f=await lt['getMany'](_0x4b2a7e,Array['from'](_0xc0d974));for(const _0x41e613 of _0x59275f)_0x556693['getUser'](_0x41e613['id'])||_0x556693['addUser'](_0x41e613);}}function w(_0xe44f69){if(ft(_0xe44f69))return new Promise(()=>{});throw _0xe44f69;}function ft(_0xbd4975){return _0xbd4975['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbd4975['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x20e9b2{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0xf03af3=this['editor']['plugins']['get'](c),_0x1e3762=this['editor']['plugins']['get']('CommentsEditing'),_0x2cf923=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xf03af3,'change:state',(_0x2ad15a,_0x4a5eaf,_0x1908c3)=>{_0x1e3762['isThreadsLoadingPaused']='connected'!==_0x1908c3;});}),this['listenTo'](_0xf03af3,'change:state',(_0xd4ca2f,_0x4d24af,_0x9d61ce)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x9d61ce);}),_0x2cf923['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x20e9b2{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0x20e9b2{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x32b321];}constructor(_0x610907){super(_0x610907);const _0x4c80d5=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x4c80d5);}async['init'](){const _0x1e9e7f=this['editor']['plugins']['get'](l),_0x4f1d34=_0x1e9e7f['serverHistory'],_0x284985=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x4f1d34,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1e9e7f['sessionId']});const _0x51a45d=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x26d93b=await tt['isBundleUploaded'](_0x284985['connection'],_0x51a45d);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x1f2b82})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1f2b82)),'updateRevisions':async _0x20ac32=>{await this['_waitForServiceReady']();const _0x4a05da=this['_revisionTracker']['currentRevision'];if(_0x26d93b&&0x1===_0x20ac32['length']&&_0x20ac32[0x0]['id']===_0x4a05da['id'])return _0x20ac32;for(const _0xf2182b of _0x20ac32)_0xf2182b['id']===_0x4a05da['id']&&(_0xf2182b['isEmptyCurrent']=_0xf2182b['fromVersion']===_0xf2182b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x20ac32,this['_lastRequestId'])['then'](_0x4ddc4f=>(this['_lastRequestId']=_0x4ddc4f,_0x20ac32))['catch'](_0x6e9f77=>{if(st(_0x6e9f77)||'400'===_0x6e9f77['code']&&void 0x0!==_0x6e9f77['data']['wrongRequestId']){for(const _0x12a3ac of _0x20ac32){!this['_revisionTracker']['repository']['getRevision'](_0x12a3ac['id'])||this['_revisionTracker']['_bufferUpdate'](_0x12a3ac['id'],_0x12a3ac,!0x1);}if(st(_0x6e9f77))throw _0x6e9f77;return _0x20ac32;}throw _0x6e9f77;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x287321,{revisionsData:_0x494b6e,requestId:_0x1c95fa})=>{Math['max'](..._0x494b6e['map'](_0x6a87c=>_0x6a87c['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x494b6e,_0x1c95fa);}):this['_handleRevisionsUpdate'](_0x494b6e,_0x1c95fa);});const {revisions:_0x464c86,requestId:_0x4b8223}=await this['_revisionHistoryService']['connect'](_0x284985['connection']);_0x284985['addToReconnectionStack'](this),this['_lastRequestId']=_0x4b8223,await this['_fetchMissingUsers'](_0x464c86);for(const _0x317875 of _0x464c86)this['_revisionTracker']['addRevisionData'](_0x317875);this['listenTo'](_0x1e9e7f,'change:_isConnected',(_0x34ef7c,_0x21f807,_0x14cca9)=>{_0x14cca9&&(this['_oldOffset']=_0x1e9e7f['_offset'],_0x34ef7c['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x284985,'state',_0x581b2e=>_0x581b2e===_0x2838f6['CONNECTED']);}async['reconnect'](){const _0x4154fb=this['editor']['plugins']['get'](c),_0x33b095=this['editor']['plugins']['get'](l),_0x5c8d3d=async()=>{const _0x1e94c2=this['_revisionTracker']['currentRevision'],_0x4b73d3=_0x1e94c2['id'],_0x20cfd6=_0x4b73d3!==_0x33b095['sessionId'];if(_0x20cfd6){const _0x325fa2=_0x33b095['_offset']-this['_oldOffset'],_0x3d5b52=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1e94c2['toVersion']+_0x325fa2!==_0x3d5b52){const _0x2f31aa=_0x1e94c2['fromVersion']+_0x325fa2,_0x36c75b=this['editor']['plugins']['get'](_0x32b321),_0x2c540a=this['_revisionTracker']['buildRevisionData']({'revision':_0x1e94c2,'from':_0x2f31aa,'to':_0x3d5b52});_0x2c540a['id']=_0x1e94c2['id'];const _0x5b5f7a=_0x2c540a['authorsIds']['map'](_0x2211b9=>_0x36c75b['getUser'](_0x2211b9));_0x1e94c2['_update']({..._0x2c540a,'authors':_0x5b5f7a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1e94c2['id'],_0x2c540a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3d5b52,(_0x1e94c2['toVersion']===_0x1e94c2['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4b73d3)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4b73d3),this['_revisionTracker']['_createCurrentRevision'](_0x3d5b52));}const {revisions:_0x53de5e,requestId:_0x293d94}=await this['_revisionHistoryService']['reconnect'](_0x4154fb['connection'],this['_lastRequestId']);_0x20cfd6&&_0x53de5e['length']>0x0?_0x33b095['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x53de5e),this['_handleRevisionsUpdate'](_0x53de5e,_0x293d94),this['_revisionTracker']['sendBufferedUpdates']());};return _0x33b095['_isConnected']?_0x5c8d3d():new Promise((_0x259bd8,_0x4cc05f)=>{_0x33b095['once']('change:_isConnected',()=>{_0x5c8d3d()['then'](_0x259bd8)['catch'](_0x4cc05f);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x14e58f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x9921f6=>{_0x9921f6['off'](),_0x14e58f();});});}['_getLatestVersionFromServerOperations'](){const _0x313da7=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x20bf9a of _0x313da7)if('marker'!==_0x20bf9a['type']||_0x20bf9a['affectsData'])return _0x20bf9a['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1d349c=this['editor']['plugins']['get'](l);return new Promise(_0x205e74=>{_0x1d349c['_isPendingUpdate']?_0x1d349c['once']('change:_isPendingUpdate',()=>{_0x205e74(this['_getLatestVersionFromServerOperations']());}):_0x205e74(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x287310,_0x1bd1be){const _0x2a2d32=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1bd1be;for(const _0xd76407 of _0x287310){const _0x402598=_0x2a2d32['getRevision'](_0xd76407['id']);if(_0x402598){if((_0xd76407['fromVersion']||_0xd76407['toVersion'])&&(_0xd76407['diffData']=null),_0x402598===this['_revisionTracker']['currentRevision']){const _0x8bf24a=Math['max'](_0x402598['toVersion'],_0xd76407['toVersion']),_0x1c6957=Math['max'](_0x402598['fromVersion'],_0xd76407['fromVersion']);let _0x111d79;_0x402598['toVersion']===_0xd76407['toVersion']&&_0x402598['fromVersion']===_0xd76407['fromVersion']?(_0x111d79=!0x0,this['_preventResendingRevisionData'](_0xd76407)):_0xd76407['toVersion']===_0x8bf24a&&_0xd76407['fromVersion']===_0x1c6957?_0x111d79=!0x1:(_0x402598['toVersion']===_0x8bf24a&&_0x402598['fromVersion']===_0x1c6957||this['_fixRevision']({'revision':_0x402598,'from':_0x1c6957,'to':_0x8bf24a}),_0x111d79=!0x0),_0x111d79&&(delete _0xd76407['fromVersion'],delete _0xd76407['toVersion'],delete _0xd76407['diffData'],delete _0xd76407['createdAt'],delete _0xd76407['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xd76407),this['_preventResendingRevisionData'](_0xd76407);}else this['_revisionTracker']['addRevisionData'](_0xd76407);}const _0x4f120a=_0x2a2d32['getRevisions']();_0x4f120a['reverse']();for(let _0x263505=0x0;_0x263505<_0x4f120a['length']-0x1;_0x263505++){const _0xd49462=_0x4f120a[_0x263505],_0xaad9dc=_0x4f120a[_0x263505+0x1];if(_0xd49462['fromVersion']<_0xaad9dc['toVersion']){const _0x2bb865=_0xaad9dc['toVersion'],_0x1e3d35=Math['max'](_0x2bb865,_0xd49462['toVersion']);this['_fixRevision']({'revision':_0xd49462,'from':_0x2bb865,'to':_0x1e3d35});}}}['_fixRevision']({revision:_0x57dc10,from:_0x343c3d,to:_0x2f73c1}={}){const _0x1bf46f=this['editor']['plugins']['get'](_0x32b321),_0x296633=this['_revisionTracker']['buildRevisionData']({'revision':_0x57dc10,'from':_0x343c3d,'to':_0x2f73c1});_0x296633['authors']=_0x296633['authorsIds']['map'](_0x21ca80=>_0x1bf46f['getUser'](_0x21ca80)),_0x57dc10['_update'](_0x296633);}['_preventResendingRevisionData'](_0x158474){const _0x372f16={};_0x372f16['id']=_0x158474['id'];for(const _0x5d60da of Object['keys'](_0x158474))'id'!==_0x5d60da&&(_0x372f16[_0x5d60da]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x372f16['id'],_0x372f16,!0x0);}async['_fetchMissingUsers'](_0x509287){const _0x142835=this['editor']['plugins']['get'](_0x32b321),{connection:_0x141455}=this['editor']['plugins']['get'](c),_0x18804c=new Set();for(const _0x1c86d5 of _0x509287){for(const _0x3317c4 of _0x1c86d5['authorsIds'])_0x3b54e3(_0x3317c4);_0x1c86d5['creatorId']&&_0x3b54e3(_0x1c86d5['creatorId']);}if(0x0===_0x18804c['size'])return;const _0x1ba55a=await lt['getMany'](_0x141455,Array['from'](_0x18804c));for(const _0x4b1d1e of _0x1ba55a)_0x142835['getUser'](_0x4b1d1e['id'])||_0x142835['addUser'](_0x4b1d1e);function _0x3b54e3(_0x5e8c20){_0x142835['getUser'](_0x5e8c20)||_0x18804c['add'](_0x5e8c20);}}}function st(_0x1b130f){return _0x1b130f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1b130f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1b130f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x20e9b2{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x73abea{constructor(_0x34e322){super(_0x34e322);const _0x393d6a=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x393d6a['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x393d6a['to']('usersCount',_0x5a161e=>q(_0x34e322,'CONNECTED_USERS',_0x5a161e))}]});}}class es extends _0x73abea{['items'];['keystrokes'];constructor(_0x29d74c){super(_0x29d74c);const _0x33d792=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0xab26ed(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x33d792['if']('hasPopup'),'aria-expanded':_0x33d792['to']('isExpanded',_0x2436f3=>this['hasPopup']&&String(_0x2436f3)),'aria-label':_0x33d792['to']('hasPopup',_0x1362b3=>q(_0x29d74c,_0x1362b3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x33d792['to']('hasPopup',_0x397274=>!!_0x397274&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x33d792['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x5e905a,_0x303ecd,_0x238cf5)=>{this['element']&&(_0x238cf5?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _ extends _0x73abea{['counterView'];['inlineListView'];constructor(_0x4b18f4){super(_0x4b18f4);const _0x84d422=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x4b18f4),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x396bc4 of this['inlineListView']['items'])_0x396bc4['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',_0x84d422['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class M extends _0x73abea{['listWrapperView'];constructor(_0x2e5656,_0x4a21d5){super(_0x2e5656),this['listWrapperView']=new mt(_0x2e5656,_0x4a21d5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x2e5656,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x2e578f{constructor(_0x1a5f0a,_0x58c7ad){super(_0x1a5f0a);const _0x45ec23=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x58c7ad?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x45ec23['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x45ec23['to']('role'),'aria-label':_0x45ec23['to']('ariaLabel'),'aria-labelledby':_0x45ec23['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x355670['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x279025=this['element'];_0x279025&&(this['_isScrollable']=Math['max'](_0x279025['scrollHeight'],_0x279025['clientHeight'])>0.8*window['innerHeight']);}}class E extends rt{['userView'];constructor(_0x363bf0,_0x2e9e4b,_0x3c8dba){super(_0x363bf0);const _0x177db2=this['bindTemplate'];this['userView']=new ct(_0x363bf0,_0x2e9e4b);const _0x1a9415={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2e9e4b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2e9e4b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2e9e4b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x3c8dba&&(_0x1a9415['tag']='button',_0x1a9415['on']={'click':_0x177db2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1a9415);}['focus'](){this['element']['focus']();}}class T extends _0x73abea{['userView'];['markerView'];constructor(_0x43b5ab,_0x48bf49,_0x595d1e){super(_0x43b5ab);const _0x118343=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x43b5ab,_0x48bf49),this['markerView']=new at(_0x43b5ab,_0x48bf49);const _0x55a70c=new ot(_0x43b5ab);_0x55a70c['template']['tag']='span',_0x55a70c['text']=_0x48bf49['name'];const _0x59562a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x118343['to']('isFocusable',_0x20afc0=>!!_0x20afc0&&0x0),'aria-labelledby':_0x55a70c['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x118343['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x118343['to']('hasTooltip',_0x21a414=>!_0x21a414),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x55a70c]};_0x595d1e&&(_0x59562a['tag']='button',_0x59562a['on']={'click':_0x118343['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x59562a);}}class at extends _0x73abea{constructor(_0x36e883,_0x207499){super(_0x36e883),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x207499['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x497d5d{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x581d9c){super(_0x581d9c),this['context']['config']['define']('presenceList',D);const _0x3a6f3f=_0x581d9c['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3a6f3f)throw new _0x2b9d7d('presencelist-collapseat-invalid-format',this);if(_0x3a6f3f<0x1)throw new _0x2b9d7d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x20b753(),this['balloonPanelView']=new _0x21bb65(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x2857e4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2857e4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e6ecc,_0x55b574)=>{this['_handleUserAdd'](_0x55b574);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1da44b,_0x56aff6)=>{this['_handleUserRemove'](_0x56aff6);});}['_createView'](){const _0x1665fb=this['context'],_0x3e55b7=new _(this['context']['locale']),_0x17e7cb=this['balloonPanelView'];if(!_0x10bb8f(_0x1665fb['config']['get']('presenceList.container')))throw new _0x2b9d7d('presencelist-missing-container',this);return _0x3e55b7['counterView']['bind']('usersCount')['to'](this),_0x3e55b7['bind']('isCollapsed')['to'](this,'usersCount',_0x352dd6=>{const {collapseAt:_0xcc0d8c,displayMe:_0xd64df9}=_0x1665fb['config']['get']('presenceList'),_0x21170f=_0x352dd6>=_0xcc0d8c;return _0x3e55b7['counterView']['isHidden']=!(0x1==_0x352dd6&&_0xd64df9||_0x21170f),_0x21170f||this['hideDropdown'](),_0x21170f;}),_0x3e55b7['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x7116c3=>{const _0x527836=_0x1665fb['config']['get']('presenceList'),_0x388be2=new T(_0x1665fb['locale'],_0x7116c3,!!_0x527836['onClick']);return _0x388be2['bind']('hasTooltip')['to'](_0x3e55b7,'isCollapsed',_0x1a72f0=>!_0x1a72f0),_0x388be2['bind']('isFocusable')['to'](_0x3e55b7,'isCollapsed',_0x30210a=>!_0x30210a),_0x527836['onClick']&&this['listenTo'](_0x388be2,'execute',()=>{this['view']['isCollapsed']||_0x527836['onClick'](_0x7116c3,_0x388be2['element']);}),_0x388be2;}),this['listenTo'](_0x3e55b7['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x3e55b7['inlineListView']['keystrokes']['set']('Enter',(_0x1a3948,_0x50aee0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x50aee0());}),_0x3e55b7['render'](),_0x17e7cb['render'](),_0x45be88({'emitter':_0x3e55b7,'activator':()=>_0x17e7cb['isVisible'],'contextElements':[_0x17e7cb['element'],_0x3e55b7['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1665fb['config']['get']('presenceList.container')['appendChild'](_0x3e55b7['element']),this['_bodyCollection']=new _0x52cf7c(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3e55b7;}['_handleUserAdd'](_0x48ea9c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x48ea9c['isMe'])return;const _0x18eb9a=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x18eb9a&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x12fa3d=_0x48ea9c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x48ea9c,_0x12fa3d);}['_handleUserRemove'](_0x3f585b){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x3f585b['id'])&&(this['currentDisplayedUsers']['remove'](_0x3f585b['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x1b5cd8 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1b5cd8['id']))return void this['currentDisplayedUsers']['add'](_0x1b5cd8,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1df28f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new M(this['context']['locale'],!!_0x1df28f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x1da8e1}=this['presenceDropdownView'];_0x1da8e1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x59872e=>{if(!_0x1df28f['displayMe']&&_0x59872e['isMe'])return null;const _0x5b1cee=new E(this['context']['locale'],_0x59872e,!!_0x1df28f['onClick']);return _0x1df28f['onClick']&&this['listenTo'](_0x5b1cee,'execute',()=>{_0x1df28f['onClick'](_0x59872e,_0x5b1cee['element']);}),_0x5b1cee;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1da8e1['focus'](),_0x1da8e1['checkIfScrollable']();const _0x334321=(_0x576fe0,_0x53813b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x53813b();};_0x1da8e1['keystrokes']['set']('Esc',_0x334321),_0x1da8e1['keystrokes']['set']('Shift+Tab',_0x334321),_0x1da8e1['keystrokes']['set']('Tab',(_0x164fe4,_0x11a374)=>{!function(_0x3c79dc){const _0x4fa290=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x25051c=>_0x25051c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x3669af=[...document['body']['querySelectorAll'](_0x4fa290)]['filter'](_0x54a364=>_0x54a364===document['activeElement']||_0x54a364['offsetWidth']+_0x54a364['offsetHeight']>0x0)['sort']((_0x2155c1,_0x15be6c)=>(_0x2155c1['tabIndex']||0x0)-(_0x15be6c['tabIndex']||0x0)),_0x293e7f=_0x3669af['indexOf'](_0x3c79dc),_0x331c30=_0x3669af[(_0x293e7f+0x1)%_0x3669af['length']];_0x331c30&&_0x331c30['focus']();}(this['view']['element']),this['hideDropdown'](),_0x11a374();}),_0x1da8e1['focusTracker']['add'](this['view']['element']),_0x1da8e1['focusTracker']['on']('change:isFocused',(_0x3917cb,_0x22e03a,_0x3c7b7d)=>{_0x3c7b7d||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class i extends _0x497d5d{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x34d5bf,Plugin as _0x255d8c,PendingActions as _0x3c2701,Context as _0x326182}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4bc5a2,CKEditorError as _0x2e31b4,Collection as _0x3b97a7,global as _0x54f579,version as dt,uid as _0x24a4f3,KeystrokeHandler as _0x38ba82}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xb84eee,View as _0x4a9566,ListView as _0x51992f,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x21dd49,clickOutsideHandler as _0x1e1784,BodyCollection as tt}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0xa9ff56,NoOperation as _0x712f2e,InsertOperation as _0x3558c6,MarkerOperation as _0x4bec01,RootAttributeOperation as _0x35113a,transformSets as _0x2d51b7,OperationFactory as _0x460006}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x5c0f85,CollaborativeEditingService as _0x4564af,User as mt,CommentsService as _0x3b207a,TrackChangesService as nt,RevisionHistoryService as _0xca19f1,EditorService as _0x25c071}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3ff6b5,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1142ec}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as st}from'lodash-es';class c extends _0x34d5bf{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xb84eee];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4ac7ea){super(_0x4ac7ea),this['set']('state',_0x5c0f85['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x4bc5a2);}['init'](){const _0x51bc35=this['context'],_0x2c1ea1=_0x51bc35['plugins']['get']('CloudServices'),_0x3cd429=_0x51bc35['plugins']['get'](_0xb84eee);if(!_0x2c1ea1['token'])throw new _0x2e31b4('websocketgateway-missing-token',this);if(!_0x2c1ea1['webSocketUrl'])throw new _0x2e31b4('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),c['WebSocketGateway']['connect'](_0x2c1ea1['token'],_0x2c1ea1['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1705ee=>{if(this['connection']=_0x1705ee,this['bind']('state')['to'](_0x1705ee,'state',this,'_isBrowserOffline',(_0x3d8e99,_0x3ee91e)=>('connected'!==_0x3d8e99&&(this['_shouldPluginsReconnect']=!0x0),_0x3ee91e||_0x3d8e99!==_0x5c0f85['CONNECTED']?_0x5c0f85['DISCONNECTED']:this['state']==_0x5c0f85['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5c0f85['CONNECTING']):_0x5c0f85['CONNECTED'])),this['connection']['on']('error',(_0x36ada9,_0x68113f)=>{if('limitExceeded'!==_0x68113f['code'])throw console['error'](_0x68113f),new _0x2e31b4('cloudservices-init',null,{'originalError':_0x68113f});_0x3cd429['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'});}),!_0x1705ee['me'])return new Promise(_0x1c71de=>_0x1705ee['on']('change:me',_0x1c71de));})['catch'](_0x1edee8=>{throw console['error'](_0x1edee8),new _0x2e31b4('cloudservices-init',null,{'originalError':_0x1edee8});});}['addToReconnectionStack'](_0x5913b0){if('function'!=typeof _0x5913b0['reconnect'])throw new _0x2e31b4('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5913b0))throw new _0x2e31b4('websocketgateway-plugin-already-registered',this,{'name':_0x5913b0['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5913b0);}['removeFromReconnectionStack'](_0x55b6fd){this['_reconnectionStack']['delete'](_0x55b6fd);}['isInReconnectionStack'](_0x396e62){return this['_reconnectionStack']['has'](_0x396e62);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x27c40f=>_0x27c40f['reconnect']())))['then'](()=>this['state']=_0x5c0f85['CONNECTED'])['catch'](_0x7d545=>{throw console['error'](_0x7d545),new _0x2e31b4('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5c0f85['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x34d5bf{['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[c,_0x3ff6b5];}constructor(_0x3e8837){super(_0x3e8837),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3b97a7(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3ff6b5);}['init'](){const _0x541ab6=this['context']['plugins']['get'](c);this['listenTo'](_0x541ab6,'change:state',(_0x2f212f,_0x1d0deb,_0x5d7bf0)=>{if('connected'!==_0x5d7bf0)this['channelSessions']['forEach'](_0x4dc8f5=>_0x4dc8f5['clear']()),this['channelConnectedUsers']['forEach'](_0x1ff037=>_0x1ff037['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2c9396,_0x5ab6f2]of this['_registeredSessions'])for(const _0xe6076a of _0x5ab6f2)this['_handleSessionAdd'](_0x2c9396,_0xe6076a);}}),this['_createUser'](_0x541ab6['connection']['me'],!0x0);}['register'](_0x1541d8,_0x12ef6d){if(this['_registeredSessions']['has'](_0x1541d8))throw new _0x2e31b4('sessions-register-already-registered',null,{'channelId':_0x1541d8});this['_registeredSessions']['set'](_0x1541d8,_0x12ef6d),this['channelSessions']['set'](_0x1541d8,new _0x3b97a7()),this['channelConnectedUsers']['set'](_0x1541d8,new _0x3b97a7()),this['listenTo'](_0x12ef6d,'add',(_0x5249e0,_0xf96e35)=>this['_handleSessionAdd'](_0x1541d8,_0xf96e35)),this['listenTo'](_0x12ef6d,'remove',(_0x3a370b,_0x380049)=>this['_handleSessionRemove'](_0x1541d8,_0x380049));for(const _0x45f8f7 of _0x12ef6d)this['_handleSessionAdd'](_0x1541d8,_0x45f8f7);}['unregister'](_0xd597df){if(!this['_registeredSessions']['has'](_0xd597df))throw new _0x2e31b4('sessions-unregister-not-exist',null,{'channelId':_0xd597df});const _0x547266=this['_registeredSessions']['get'](_0xd597df);this['stopListening'](_0x547266);for(const _0x15b8cd of _0x547266)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0xd597df,_0x15b8cd);this['_registeredSessions']['delete'](_0xd597df),this['channelSessions']['delete'](_0xd597df),this['channelConnectedUsers']['delete'](_0xd597df);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x307448){for(const _0x176d8b of this['channelSessions']['values']())for(const _0x578ce3 of _0x176d8b)if(_0x578ce3['id']===_0x307448)return _0x578ce3['user'];}['getUserSessions'](_0x1d65f9,_0x1d1ef6){const _0x5cd742=_0x1d1ef6?[this['channelSessions']['get'](_0x1d1ef6)]:this['channelSessions']['values'](),_0x36e814=new Set();for(const _0x20752a of _0x5cd742)for(const _0x26c4c3 of _0x20752a)_0x26c4c3['user']['id']===_0x1d65f9['id']&&_0x36e814['add'](_0x26c4c3['id']);return _0x36e814;}['getUserRole'](_0x4b8bfa){for(const _0x13688f of this['channelSessions']['values']())for(const _0x468506 of _0x13688f)if(_0x468506['user']===_0x4b8bfa)return _0x468506['role'];}['_handleSessionAdd'](_0x3ba294,_0x4ac7aa){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x20c2ce=_0x4ac7aa['user'],_0x1cfd9f=this['_users']['getUser'](_0x20c2ce['id'])||this['_createUser'](_0x20c2ce),_0x114340=Object['assign']({},_0x4ac7aa,{'user':_0x1cfd9f});this['channelSessions']['get'](_0x3ba294)['add'](_0x114340);const _0x1ac7d9=this['channelConnectedUsers']['get'](_0x3ba294);_0x1ac7d9['has'](_0x1cfd9f['id'])||_0x1ac7d9['add'](_0x1cfd9f),this['allConnectedUsers']['has'](_0x1cfd9f['id'])||this['allConnectedUsers']['add'](_0x1cfd9f,_0x1cfd9f['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3ba294,{'channelId':_0x3ba294,'session':_0x114340});}['_handleSessionRemove'](_0x4bbf7e,_0x53bc28){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x475ebf=this['channelConnectedUsers']['get'](_0x4bbf7e),_0x23c3e7=_0x53bc28['user'];_0x23c3e7['id']&&(this['channelSessions']['get'](_0x4bbf7e)['remove'](_0x53bc28['id']),_0x475ebf['has'](_0x23c3e7['id'])&&!this['getUserSessions'](_0x23c3e7,_0x4bbf7e)['size']&&_0x475ebf['remove'](_0x23c3e7['id']),this['allConnectedUsers']['get'](_0x23c3e7['id'])&&!this['getUserSessions'](_0x23c3e7)['size']&&this['allConnectedUsers']['remove'](_0x23c3e7['id']));}['_createUser'](_0x33901c,_0x5e0854){const _0x2f9328=this['_users']['addUser'](_0x33901c);return _0x5e0854&&this['_users']['defineMe'](_0x33901c['id']),_0x2f9328['orderNumber']=this['_uniqueUsersCount']++,_0x2f9328;}}class N extends _0x255d8c{['_domEmitter']=new(_0x4bc5a2())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3d69fe=this['editor'],_0x4fa257=_0x3d69fe['plugins']['get'](i);_0x3d69fe['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4a6ab5,{writer:_0x22e7ea})=>function(_0x2f0afc,_0x5b180a,_0x43719a,_0x4cb300){const _0x1fd566=_0x2f0afc['markerName']['split'](':')[0x2],_0xcd7cc5=_0x43719a['getUserBySessionId'](_0x1fd566);if(!_0xcd7cc5||_0x1fd566===_0x43719a['mySessionId'])return;if(!_0x4cb300['model']['schema']['checkChild'](_0x2f0afc['markerRange']['start'],'$text'))return;const _0x14dd8f={'class':'ck-user__marker\x20'+_0xcd7cc5['color']['getMarkerClass'](),'data-name':_0xcd7cc5['name'],'data-session-id':_0x1fd566},_0x23831e=_0x4cb300['model']['markers']['get'](_0x2f0afc['markerName']),_0x3d4e1e=_0x23831e['getStart'](),_0x842743=_0x3d4e1e['nodeAfter'],_0x351077=_0x4cb300['model']['schema'];if(_0x842743&&_0x351077['isObject'](_0x842743)&&_0x351077['isInline'](_0x842743)&&!_0x4cb300['model']['markers']['get']('user:range:'+_0x1fd566)['getRange']()['isCollapsed'])return;const _0x19286a=_0x3d4e1e['parent'];return _0x4cb300['model']['schema']['isLimit'](_0x19286a)&&!_0x4cb300['model']['hasContent'](_0x19286a)&&(_0x14dd8f['contenteditable']=!0x1),function(_0x4c0618,_0x6583cb,_0x4f83a4){const _0x346fdf=_0x4c0618['createUIElement']('span',_0x6583cb);return _0x4c0618['setCustomProperty']('userPositionMarker',!0x0,_0x346fdf),_0x346fdf['render']=function(_0x40dd81){const _0x2a19ea=this['toDomElement'](_0x40dd81);return _0x2a19ea['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x4f83a4['name']+'</span>⁠',_0x2a19ea['addEventListener']('mouseenter',()=>{_0x2a19ea['classList']['add']('ck-user__marker_hovered');}),_0x2a19ea['addEventListener']('mouseleave',()=>{_0x2a19ea['classList']['remove']('ck-user__marker_hovered');}),_0x2a19ea;},_0x346fdf['isSimilar']=function(_0x2cbf8e){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2cbf8e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2cbf8e['getAttribute']('data-session-id'));},_0x346fdf;}(_0x5b180a,_0x14dd8f,_0xcd7cc5);}(_0x4a6ab5,_0x22e7ea,_0x4fa257,_0x3d69fe)}),_0x3d69fe['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x46ec7f=>function(_0x341750,_0x663d14){const _0x2a9341=_0x341750['markerName']['split'](':')[0x2];if(_0x2a9341===_0x663d14['mySessionId'])return null;const _0x463cc2=_0x663d14['getUserBySessionId'](_0x2a9341);if(!_0x463cc2)return{'id':_0x2a9341,'classes':[]};return{'id':_0x2a9341,'classes':['ck-user__selection',_0x463cc2['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2a9341},'priority':0x7d0+_0x463cc2['orderNumber']};}(_0x46ec7f,_0x4fa257)}),function(_0x11d8ad){const _0x11709e=_0x11d8ad['model'],_0x24da7f=new Map(),_0x2fc70c=_0x11d8ad['plugins']['get'](i);_0x11709e['markers']['on']('update:user:range',(_0x543e9a,_0xae36c6,_0x328272,_0x27d83b)=>{if(!_0x27d83b&&_0x24da7f['get'](_0xae36c6['name']))return _0x24da7f['get'](_0xae36c6['name'])['detach'](),void _0x24da7f['delete'](_0xae36c6['name']);const _0x36f4be=_0xae36c6['name']['split'](':')[0x2];if(_0x36f4be===_0x2fc70c['mySessionId'])return;const _0x5789d2='user:position:'+_0x36f4be;_0x11709e['markers']['has'](_0x5789d2)&&_0x11d8ad['editing']['reconvertMarker'](_0x5789d2),_0xae36c6['on']('change:range',(_0x21407e,_0x5775d3,_0x5a9580)=>{if('$graveyard'!=_0x5775d3['root']['rootName']&&'$graveyard'==_0xae36c6['getRange']()['root']['rootName']&&!_0x24da7f['has'](_0xae36c6['name'])){const _0x80a346=_0x11709e['schema']['getNearestSelectionRange'](_0x5a9580['deletionPosition']);if(_0x80a346){const _0x190508=ut['fromRange'](_0x80a346);_0x24da7f['set'](_0xae36c6['name'],_0x190508),_0x190508['on']('change:range',(_0x1b918b,_0x52fc73,_0x550a65)=>{if('$graveyard'==_0x190508['root']['rootName']){const _0xdd30d2=_0x11709e['schema']['getNearestSelectionRange'](_0x550a65['deletionPosition']);_0xdd30d2?(_0x190508['start']=_0xdd30d2['start'],_0x190508['end']=_0xdd30d2['end']):(_0x24da7f['delete'](_0xae36c6['name']),_0x190508['detach']());}});}}});}),_0x11709e['document']['on']('change',()=>{_0x24da7f['size']>0x0&&_0x11709e['enqueueChange']({'isUndoable':!0x1},_0x149efc=>{for(const [_0x421676,_0x39c0b5]of _0x24da7f)'$graveyard'==_0x11709e['markers']['get'](_0x421676)['getRange']()['root']['rootName']&&(G(_0x421676['split'](':')[0x2],_0x39c0b5['toRange'](),_0x11709e,_0x149efc),_0x39c0b5['detach']());_0x24da7f['clear']();});});}(_0x3d69fe),this['_domEmitter']['listenTo'](_0x54f579['document'],'keydown',(_0x39027c,{key:_0x20fc36})=>{'Escape'===_0x20fc36&&function(_0xf1023e){_0xf1023e['editing']['view']['change'](_0x51daf4=>{for(const _0x50471e of _0xf1023e['model']['markers']){if(!_0x50471e['name']['startsWith']('user:position'))continue;const _0x4a9cc9=_0xf1023e['editing']['mapper']['markerNameToElements'](_0x50471e['name']);if(_0x4a9cc9){for(const _0x3b92ed of _0x4a9cc9)_0x51daf4['removeClass']('ck-user__marker_hovered',_0x3b92ed);}}});}(_0x3d69fe);},{'useCapture':!0x0});}['afterInit'](){const _0x19ba80=this['editor'],_0x4c46b4=_0x19ba80['commands']['get']('undo');_0x4c46b4&&_0x19ba80['model']['on']('applyOperation',(_0x1c6d81,_0x44fb9d)=>{const _0x3b7010=_0x44fb9d[0x0];if('marker'!=_0x3b7010['type']||!_0x3b7010['name']['startsWith']('user:'))return;const _0x25fae4=_0x3b7010['batch'];_0x4c46b4['_createdBatches']['has'](_0x25fae4)&&(_0x3b7010['newRange']=_0x3b7010['oldRange']?_0x19ba80['model']['createRange'](_0x3b7010['oldRange']['start'],_0x3b7010['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xff7cfa=this['editor'],_0x42564e=_0xff7cfa['model']['document'],_0x1bed41=_0xff7cfa['plugins']['get'](i);_0xff7cfa['model']['enqueueChange']({'isUndoable':!0x1},_0x2dbff3=>{const _0x1843ba='user:range:'+_0x1bed41['mySessionId'],_0x2559c9='user:position:'+_0x1bed41['mySessionId'],_0x3d83b4=_0xff7cfa['model']['markers']['has'](_0x1843ba);_0xff7cfa['editing']['view']['hasDomSelection']?G(_0x1bed41['mySessionId'],_0x42564e['selection']['getFirstRange'](),_0xff7cfa['model'],_0x2dbff3):_0x3d83b4&&(_0x2dbff3['removeMarker'](_0x1843ba),_0x2dbff3['removeMarker'](_0x2559c9));});}}function G(_0x1fd4a7,_0x4a6171,_0x5e16a6,_0x1bee2d){const _0x130778='user:range:'+_0x1fd4a7,_0x2161fb='user:position:'+_0x1fd4a7,_0x129ad2=_0x4a6171['getContainedElement']();let _0x186dc0=_0x4a6171['start'];_0x129ad2&&_0x129ad2['is']('element','tableCell')&&(_0x186dc0=function(_0x42abe4,_0x34486f){for(const _0x322b47 of _0x42abe4['getPositions']())if(_0x34486f['schema']['checkChild'](_0x322b47,'$text'))return _0x322b47;}(_0x4a6171,_0x5e16a6),_0x4a6171=_0x1bee2d['createRange'](_0x186dc0));const _0x39a9b7=_0x1bee2d['createRange'](_0x186dc0);_0x5e16a6['markers']['has'](_0x130778)?(_0x1bee2d['updateMarker'](_0x130778,{'range':_0x4a6171}),_0x1bee2d['updateMarker'](_0x2161fb,{'range':_0x39a9b7})):(_0x1bee2d['addMarker'](_0x130778,{'range':_0x4a6171,'usingOperation':!0x0}),_0x1bee2d['addMarker'](_0x2161fb,{'range':_0x39a9b7,'usingOperation':!0x0}));}function E(_0x2b0d22,_0x56868b,_0x4a91e8){const _0x5f3aea=_0x2b0d22['t'],t=_0x2b0d22['t'];switch(_0x56868b){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 _0x5f3aea({'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'},_0x4a91e8);default:return'';}}let M=0x1;class l extends _0x255d8c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x4564af)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,N,_0x3c2701,_0x3ff6b5,_0xb84eee];}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 _0x54c536=this['serverHistory']['getOperations']();for(let _0x1c6af6=_0x54c536['length']-0x1;_0x1c6af6>=0x0;_0x1c6af6--){const _0x4d16f6=_0x54c536[_0x1c6af6];if(!this['_disconnectionOperations']['has'](_0x4d16f6))return _0x4d16f6['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2efed0){if(super(_0x2efed0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xa9ff56(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2e31b4('collaboration-missing-channelid',this);const _0x348240=_0x2efed0['config']['get']('cloudServices.bundleVersion')||dt;this['_service']=new l['CollaborativeEditingService'](_0x348240,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1142ec(),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 W(this['_disconnectionOperations']);}['init'](){const _0x3cb529=this['editor'],_0xd9ad23=_0x3cb529['plugins']['get'](_0x3ff6b5),_0x4cb23e=_0x3cb529['plugins']['get'](c);this['listenTo'](_0xd9ad23,'getOperationAuthor',(_0x378249,_0x3aa26f)=>{const _0x1789a9=_0x3aa26f[0x0];_0x1789a9['_authorId']&&(_0x378249['return']=_0xd9ad23['getUser'](_0x1789a9['_authorId']),_0x378249['stop']()),null===_0x1789a9['_authorId']&&(_0x378249['return']=null,_0x378249['stop']());},{'priority':'high'}),this['listenTo'](_0x3cb529['model']['document']['selection'],'change:range',(_0x3ea83c,_0x404994)=>{_0x404994['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3cb529['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3cb529['model']['on']('applyOperation',(_0x547491,_0x4dc801)=>{const _0x326441=_0x4dc801[0x0];_0x326441['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x326441),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4cb23e,'state',this,'_hasSynchronizationProblem',(_0x2855a4,_0x3e1080)=>'connected'===_0x2855a4&&!_0x3e1080),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3cb529['disableReadOnlyMode']('rtc-offline'):_0x3cb529['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3cb529['disableReadOnlyMode']('rtc-offline'):_0x3cb529['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x52dcd0=this['editor']['plugins']['get'](i),_0x48c4db=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x52dcd0['unregister'](this['_channelId']);const _0x5bbb88=await this['_service']['reconnect'](_0x48c4db['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5bbb88)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3c1e37=await this['_service']['getConnectedSessions']();_0x52dcd0['register'](this['_channelId'],_0x3c1e37),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1d6109){if(function(_0x4aab7e){return'404'===_0x4aab7e['code'];}(_0x1d6109)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x963931){return'409'===_0x963931['code'];}(_0x1d6109)){const _0x226124=E(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'](_0x226124);}else{if(!(_0x1d6109 instanceof z))throw _0x1d6109;this['_handleReconnectionError']();}}}}['destroy'](){const _0x440a20=this['editor']['plugins']['get'](c),_0x4f2d2c=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4f2d2c['channelSessions']['has'](this['_channelId'])&&_0x4f2d2c['unregister'](this['_channelId']),_0x440a20['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5a9c21){if(this['sessionId']!==_0x5a9c21['sessionId']&&this['_lastSyncedOperationId']!==_0x5a9c21['lastOperationId'])throw new z();return this['sessionId']=_0x5a9c21['sessionId'],this['_handleServerResponse']([],{..._0x5a9c21,'wereChangesApplied':!0x1,'data':_0x5a9c21['data']},'reconnect');}async['_connectService'](_0x26c356,_0x2229f1=!0x1){const {connection:_0x106f55}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x106f55,this['_channelId'])['then'](_0x3fcf93=>this['_initSessionsHandling'](_0x3fcf93))['catch'](_0x3c5695=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3c5695);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x31f093,_0x36a9a7)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x36a9a7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2df6db=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x26c356);this['_isPendingUpdate']=!0x0;const _0x20a6e7=await this['_service']['connect'](_0x106f55,this['_compressOperations'](_0x26c356),_0x2df6db);if(this['sessionId']=_0x20a6e7['sessionId'],_0x2229f1){if(!_0x20a6e7['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x20a6e7['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x26c356,_0x20a6e7,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x20a6e7,_0x26c356);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4f836f=this['editor']['plugins']['get'](i),_0x4354d1=this['editor']['plugins']['get'](N),_0x577985=_0x4f836f['channelSessions']['get'](this['_channelId']);_0x577985&&_0x577985['length']>0x1?_0x4354d1['createUserMarkerOperations']():this['listenTo'](_0x4f836f,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4f836f['channelSessions']['get'](this['_channelId'])['length']&&_0x4354d1['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4dbe17,_0x2432d1,_0xecc235,_0xd110ec){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2432d1){const _0x381c21=this['_decompressOperations'](_0xecc235,_0xd110ec);await this['_fetchMissingUsers'](_0x381c21),this['_handleExternalOperations'](_0x381c21,_0x2432d1,_0xecc235['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xc47f82}=this['editor'];let _0x1c5f33;try{_0x1c5f33=await this['_service']['getDocumentDetails']();}catch(_0x36153f){const _0x53232b=E(_0xc47f82,'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'](_0x53232b);}const _0x35bcb5=_0x1c5f33['currentDocumentSession']||_0x1c5f33['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x35bcb5['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x507223=E(_0xc47f82,'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.');this['_handleReconnectionError'](_0x507223);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4a82ce){const _0x291b8f=this['editor']['plugins']['get'](i);this['listenTo'](_0x291b8f,'sessionAdd:'+this['_channelId'],(_0x1aaf5f,{session:_0x5f09e4})=>{if(_0x5f09e4['id']===_0x291b8f['mySessionId']){_0x1aaf5f['off']();const _0x1e9be4=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x274f8a=_0x5f09e4['permissions'];_0x1e9be4&&_0x1e9be4['isEnabled']&&(_0x274f8a=_0x274f8a['filter'](_0x2bdf47=>'document:write'!==_0x2bdf47)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x274f8a,this['_channelId']);}}),_0x291b8f['register'](this['_channelId'],_0x4a82ce);}['_initThrowingOnDataSet'](){const _0x2f69d1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xb6a417)=>{if(!_0xb6a417[_0xb6a417['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2e31b4('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2f69d1['apply'](this['editor']['data'],_0xb6a417);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1ed946,[_0x50bd47])=>{if(this['_document']['version'])throw new _0x2e31b4('realtimecollaborationclient-init-document-already-initialized',this);_0x1ed946['stop'](),this['_setPendingAction']();const _0x5b1c7b=this['editor']['config']['get']('rootsAttributes'),_0x38b2c0=this['_getOperationsFromInitData'](_0x50bd47,_0x5b1c7b);0x0==_0x38b2c0['length']&&_0x38b2c0['push'](new _0x712f2e(0x0)),_0x1ed946['return']=this['_connectService'](_0x38b2c0)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5cdb30=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5cdb30))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x5a20bb,[_0x148c2c,_0xcb4d5c])=>{_0x5a20bb['stop']();const _0x2b6e18=this['editor']['model']['document']['getRoot'](_0x148c2c);if(!this['_knownRootNames']['has'](_0x148c2c)){const _0x272864=_0xcb4d5c&&_0xcb4d5c['data']?_0xcb4d5c['data']:'',_0x57b6cc=_0xcb4d5c&&_0xcb4d5c['attributes']?_0xcb4d5c['attributes']:{};await this['_loadRoot'](_0x148c2c,_0x272864,_0x57b6cc);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2b6e18['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2b6e18);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x47381a){const _0x4078ec=this['editor']['plugins']['get'](_0x3ff6b5),{connection:_0x29a48c}=this['editor']['plugins']['get'](c),_0x3b0763=new Set();for(const _0xe3c6b8 of _0x47381a){const _0x2dceb4=_0xe3c6b8['_authorId'];_0x2dceb4&&!_0x4078ec['getUser'](_0x2dceb4)&&_0x3b0763['add'](_0x2dceb4);}if(0x0===_0x3b0763['size'])return;const _0x329290=await mt['getMany'](_0x29a48c,Array['from'](_0x3b0763));for(const _0x2e96fa of _0x329290)_0x4078ec['getUser'](_0x2e96fa['id'])||_0x4078ec['addUser'](_0x2e96fa);}['_getOperationsFromInitData'](_0x42910a,_0xb85e17={}){const _0x326ea3=this['editor']['model'],_0x3e6f7a=[];let _0x5d2f47=0x0;const _0x56de00='string'==typeof _0x42910a?{'main':_0x42910a}:_0x42910a;for(const _0x4e970e of Object['keys'](_0x56de00)){if(!this['_document']['roots']['has'](_0x4e970e))throw new _0x2e31b4('realtimecollaborationclient-init-non-existent-root',this);const _0x41174a=this['editor']['data']['parse'](_0x56de00[_0x4e970e]),_0x4c8ccf=this['_document']['getRoot'](_0x4e970e),_0x2eedc9=new _0x3558c6(_0x326ea3['createPositionAt'](_0x4c8ccf,0x0),_0x41174a,_0x5d2f47++);_0x3e6f7a['push'](_0x2eedc9);for(const [_0x50d682,_0x39a454]of _0x41174a['markers']){const _0x356881=_0x326ea3['createRange'](_0x326ea3['createPositionFromPath'](_0x4c8ccf,_0x39a454['start']['path']['slice']()),_0x326ea3['createPositionFromPath'](_0x4c8ccf,_0x39a454['end']['path']['slice']())),_0xb1c33c=new _0x4bec01(_0x50d682,null,_0x356881,_0x326ea3['markers'],!0x0,_0x5d2f47++);_0x3e6f7a['push'](_0xb1c33c);}}if(_0xb85e17)for(const [_0x59edb5,_0x3205e3]of Object['entries'](_0xb85e17)){const _0x3ffe9d=_0x326ea3['document']['getRoot'](_0x59edb5);if(!_0x3ffe9d)throw new _0x2e31b4('multi-root-editor-root-attributes-no-root',null);for(const [_0x308226,_0x4a19c6]of Object['entries'](_0x3205e3))if(null!==_0x4a19c6){const _0x103077=new _0x35113a(_0x3ffe9d,_0x308226,null,_0x4a19c6,_0x5d2f47++);_0x3e6f7a['push'](_0x103077);}}return _0x3e6f7a;}async['_loadRoot'](_0xe3ade9,_0xb56dc0,_0x27f533){this['_getOperationsFromInitData']({[_0xe3ade9]:_0xb56dc0},{[_0xe3ade9]:_0x27f533})['forEach']((_0x59401b,_0xdc034)=>{_0x59401b['baseVersion']=this['_document']['version']+_0xdc034,_0x59401b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x59401b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4ac3b4,_0x294321){let _0x4d9911;this['_offset']=_0x4ac3b4['offset'];const _0x1237f8=_0x4ac3b4['wereChangesApplied']&&!_0x4ac3b4['initData'],_0x304a5e=_0x1237f8?0x0:_0x4ac3b4['data']['baseVersion'];if(_0x294321['forEach'](_0x1769dc=>{_0x1769dc['_isInit']=!0x0,_0x1769dc['createdAt']=_0x4ac3b4['sessionCreatedAt'],_0x1769dc['_authorId']=null;}),_0x1237f8)_0x4d9911=_0x294321,this['_applyOperationsSet'](_0x4d9911,_0x1237f8);else{if(_0x4ac3b4['initData']){const _0x340fce=this['_getOperationsFromInitData'](_0x4ac3b4['initData']);this['_document']['history']['version']=-_0x340fce['length'],_0x340fce['forEach'](_0x4bf461=>{_0x4bf461['baseVersion']-=_0x340fce['length'],_0x4bf461['createdAt']=_0x4ac3b4['sessionCreatedAt'],_0x4bf461['_isInit']=!0x0,_0x4bf461['_authorId']=null;}),this['_applyOperationsSet'](_0x340fce,!0x0),this['serverHistory']['version']=-_0x340fce['length']+this['_offset'],this['_updateServerHistory'](_0x340fce);}this['_document']['history']['version']=_0x304a5e,_0x4d9911=this['_decompressOperations'](_0x4ac3b4['data'],_0x4ac3b4['metadata']),await this['_fetchMissingUsers'](_0x4d9911),this['_applyOperationsSet'](_0x4d9911,_0x1237f8);}_0x4ac3b4['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4d9911,_0x4ac3b4['lastOperationId']),this['_lastSyncedOperationId']=_0x4ac3b4['lastOperationId']),this['serverHistory']['version']=_0x304a5e+this['_offset'],this['_updateServerHistory'](_0x4d9911),_0x294321['filter'](_0x572ec3=>{const _0x295612=this['_getAffectedRoot'](_0x572ec3);return _0x295612&&!this['_knownRootNames']['has'](_0x295612);})['forEach']((_0x593421,_0x335594)=>{_0x593421['baseVersion']=this['_document']['version']+_0x335594,this['_saveOperationInBuffer'](_0x593421);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3eae08,_0x1e3424){throw this['_isPendingUpdate']=!0x0,_0x1e3424&&console['error'](_0x1e3424),new _0x2e31b4(_0x3eae08,this['editor']);}['_saveOperationInBuffer'](_0x5374f3){this['_knownOperations']['has'](_0x5374f3)||(this['_knownOperations']['add'](_0x5374f3),this['_bufferedOperations']['push'](_0x5374f3),this['_pendingAction']||'marker'==_0x5374f3['type']&&!_0x5374f3['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5076d5=!0x1){!_0x5076d5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x32a0d3=>{_0x32a0d3&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x111bf0=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x594736){return _0x594736['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x594736['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x594736['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x111bf0))throw _0x111bf0;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x78d5c0=>{this['on']('change:_isPendingUpdate',()=>{_0x78d5c0();});});}async['_sendBufferedOperations'](){const _0x3f34d2=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x3f34d2['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1908e0=[...this['_bufferedOperations']];for(const _0xbe5be6 of _0x1908e0)_0xbe5be6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xbe5be6);const _0x1daab6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1908e0),_0x2bb8d6=M++,_0xaa080=this['_compressOperations'](_0x1908e0),_0x26c7ec=await this['_service']['sendOperations'](_0xaa080,_0xaa080['baseVersion'],_0x1daab6);try{return await this['_handleServerResponse'](_0x1908e0,_0x26c7ec,_0x2bb8d6);}catch(_0x380618){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x380618);}}async['_handleServerResponse'](_0xced1ae,_0x14b668,_0x25bf4f){if('error'in _0x14b668)throw _0x14b668['error'];let _0x4ba738=!0x1;if(_0x14b668['wereChangesApplied']){_0x14b668['lastOperationId']&&(this['_lastSyncedOperationId']=_0x14b668['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2ab341=>!_0xced1ae['includes'](_0x2ab341));for(const _0x4ba6e8 of _0xced1ae)_0x4ba6e8['createdAt']='lastOperationAcceptedAt'in _0x14b668&&_0x14b668['lastOperationAcceptedAt']||void 0x0;V(_0xced1ae,_0x14b668['version']-_0xced1ae['length']),this['_updateServerHistory'](_0xced1ae);const _0x17a112=_0xced1ae['filter'](_0x5595f8=>{if(!_0x5595f8['_isInit'])return!0x1;const _0x531457=this['_getAffectedRoot'](_0x5595f8);return _0x531457&&!this['_knownRootNames']['has'](_0x531457);});V(_0x17a112,this['_document']['version']),this['_applyOperationsSet'](_0x17a112),_0x4ba738=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5e1032=this['_decompressOperations'](_0x14b668['data'],_0x14b668['metadata'])['filter'](_0x362965=>_0x362965['baseVersion']>=this['_lastServerVersion']);_0x5e1032['forEach'](_0x18a2e9=>this['_addKnownRoot'](_0x18a2e9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x21c6ee=>!_0x21c6ee['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x21c6ee))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5e1032),_0x4ba738=this['_handleExternalOperations'](_0x5e1032,_0x14b668['version'],_0x14b668['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4ba738?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x240bfd,_0x45152c,_0x5c4164){try{const _0x472c9d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x55f136,operationsB:_0x3306bb,originalOperations:_0x34f7dc}=_0x2d51b7(_0x240bfd,this['_bufferedOperations'],_0x472c9d);V(_0x55f136,this['_document']['version']),V(_0x3306bb,_0x45152c);for(const _0x2f739a of _0x55f136){const _0x226bfd=_0x34f7dc['get'](_0x2f739a);_0x2f739a['_authorId']=_0x226bfd?_0x226bfd['_authorId']:null;}_0x5c4164&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x240bfd,_0x5c4164),this['_lastSyncedOperationId']=_0x5c4164),this['_bufferedOperations']=[..._0x3306bb],this['_applyOperationsSet'](_0x55f136),this['_updateServerHistory'](_0x240bfd);}catch(_0x4ee6d8){return console['error'](_0x4ee6d8),!0x1;}return!0x0;}['_applyOperationsSet'](_0x4f1c6f,_0x3a9a2e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4c90c1=>{for(const _0x458a4f of _0x4f1c6f)this['_knownOperations']['add'](_0x458a4f),this['_addKnownRoot'](_0x458a4f),_0x4c90c1['batch']['addOperation'](_0x458a4f),this['editor']['model']['applyOperation'](_0x458a4f);});}['_addKnownRoot'](_0x7ca3dd){const _0x13cb1b=this['_getAffectedRoot'](_0x7ca3dd);_0x13cb1b&&this['_knownRootNames']['add'](_0x13cb1b);}['_getAffectedRoot'](_0xa03b46){let _0x33d4f3,_0x38b780;switch(_0xa03b46['type']){case'insert':_0x33d4f3=_0xa03b46['position']['root'];break;case'marker':if(_0x38b780=_0xa03b46['newRange'],!_0x38b780)return null;_0x33d4f3=_0x38b780['root'];break;case'addRootAttribute':_0x33d4f3=_0xa03b46['root'];break;case'addRoot':_0x33d4f3=_0xa03b46['affectedSelectable'];break;case'move':_0x33d4f3=_0xa03b46['targetPosition']['root'];break;default:return null;}return _0x33d4f3['rootName'];}['_updateServerHistory'](_0x55ec4d){_0x55ec4d['forEach'](_0x3ceb1f=>{const _0x516e6e=_0x3ceb1f['clone']();_0x516e6e['_authorId']=_0x3ceb1f['_authorId'],_0x516e6e['_isInit']=!!_0x3ceb1f['_isInit'],_0x516e6e['createdAt']=_0x3ceb1f['createdAt'],_0x516e6e['baseVersion']+=this['_offset'],_0x3ceb1f['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x516e6e),this['serverHistory']['addOperation'](_0x516e6e);});}['_handleReconnectionError'](_0x56f521){const _0x251030=this['editor']['plugins']['get']('Notification'),_0x1f5eb2=this['editor']['locale'];_0x56f521||(_0x56f521=E(_0x1f5eb2,'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.')),_0x251030['showWarning'](_0x56f521,{'title':E(_0x1f5eb2,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3c2701)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3c2701)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3d197a){const _0x968fd1=_0x3d197a['map'](_0x2d9c2c=>_0x2d9c2c['toJSON']());return this['_compressor']['compress'](_0x968fd1);}['_decompressOperations'](_0x268a2e,_0xf5c5cb){return this['_compressor']['decompress'](_0x268a2e)['map']((_0x2e21d1,_0x5bb455)=>{const _0x3384aa='init'==_0xf5c5cb[_0x5bb455]['type'];if('InsertOperation'==_0x2e21d1['__className']){const _0x5f1451=_0x2e21d1['position']['root'];!this['_document']['getRoot'](_0x5f1451)&&(this['_document']['createRoot']('$root',_0x5f1451)['_isAttached']=!0x1);}const _0x215550=_0x460006['fromJSON'](_0x2e21d1,this['_document']);return _0x215550['wasUndone']=_0x2e21d1['wasUndone'],_0x215550['_isInit']=_0x3384aa,_0x215550['_authorId']=_0x3384aa?null:_0xf5c5cb[_0x5bb455]['userId'],_0x215550['_isDisconnection']='cs:removeUser'===_0xf5c5cb[_0x5bb455]['type'],_0x215550['createdAt']=_0xf5c5cb[_0x5bb455]['createdAt'],_0x215550;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5a03ed=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5a03ed&&_0x5a03ed['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class z extends Error{}function V(_0x47bd3a,_0x591e1e){for(const _0x1010e0 of _0x47bd3a)_0x1010e0['baseVersion']=_0x591e1e++;}class W{['_ignoredOperations'];['_operationToId'];constructor(_0x50c9e1){this['_ignoredOperations']=_0x50c9e1,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3eb4cc){let _0x38b489=_0x3eb4cc['length'];for(;_0x38b489--;){const _0x285354=_0x3eb4cc[_0x38b489];if(!this['_ignoredOperations']['has'](_0x285354)){if(!this['_operationToId']['has'](_0x285354)){const _0x2e1d33=_0x24a4f3()['slice'](0x1,0x12);this['_operationToId']['set'](_0x285354,_0x2e1d33);}return this['_operationToId']['get'](_0x285354);}}}['setIdForTheLastOperation'](_0x5cb69a,_0xa24c4a){if(!_0xa24c4a)return;let _0x529397=_0x5cb69a['length'];for(;_0x529397--;){const _0x44a66c=_0x5cb69a[_0x529397];this['_ignoredOperations']['has'](_0x44a66c)||this['_operationToId']['set'](_0x44a66c,_0xa24c4a);}}}class n extends _0x255d8c{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x34d5bf{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3b207a)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x3ff6b5];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3bf2a3){super(_0x3bf2a3),this['_services']=new Map();}async['init'](){const _0x44857f=this['context'],_0xa8781b=_0x44857f['plugins']['get']('CommentsRepository');if(_0x44857f['plugins']['get'](c)['addToReconnectionStack'](this),_0xa8781b['adapter']={'addCommentThread':async({channelId:_0xa9eadd,threadId:_0x37f266,comments:_0x2ebefd,resolvedAt:_0x469558,resolvedBy:_0x181579,context:_0x1c104a,attributes:_0x11294f})=>{const _0x3999a1=await this['_getService'](_0xa9eadd)['addCommentThread']({'commentThreadId':_0x37f266,'comments':_0x2ebefd['map'](_0x323ea2=>function(_0x2b0e30,_0x56abb2,_0x2d5941){return{'commentThreadId':_0x2d5941,'commentId':_0x2b0e30['commentId'],'userId':_0x2b0e30['authorId'],'content':_0x2b0e30['content'],'documentId':_0x56abb2,'createdAt':_0x2b0e30['createdAt'],'attributes':_0x2b0e30['attributes']||{}};}(_0x323ea2,_0xa9eadd,_0x37f266)),'resolvedAt':_0x469558,'resolvedBy':_0x181579,'context':_0x1c104a,'attributes':_0x11294f})['catch'](gt);return{'threadId':_0x3999a1['commentThreadId'],'comments':_0x3999a1['comments']};},'getCommentThread':async({channelId:_0x28f4c0,threadId:_0x3d00ad})=>{const _0x5e2660=await this['_getService'](_0x28f4c0)['getCommentThread'](_0x3d00ad)['catch'](gt);return _0x5e2660['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5e2660]),{'threadId':_0x5e2660['commentThreadId'],'comments':_0x5e2660['comments']['map'](b),'context':_0x5e2660['context'],'resolvedAt':_0x5e2660['resolvedAt'],'resolvedBy':_0x5e2660['resolvedBy'],'attributes':_0x5e2660['attributes']||{}});},'updateCommentThread':async({channelId:_0x3e56b8,threadId:_0x4a491d,context:_0x17f9dc,unlinkedAt:_0x5665f2,attributes:_0x3216b4})=>this['_getService'](_0x3e56b8)['updateCommentThread']({'commentThreadId':_0x4a491d,'context':_0x17f9dc,'attributes':_0x3216b4,'unlinkedAt':_0x5665f2})['catch'](y)['catch'](gt),'resolveCommentThread':async({channelId:_0x444d8e,threadId:_0x4a2324})=>{const _0xed1aca=await this['_getService'](_0x444d8e)['resolveCommentThread'](_0x4a2324)['catch'](y)['catch'](gt);return{'threadId':_0xed1aca['commentThreadId'],'resolvedAt':_0xed1aca['resolvedAt'],'resolvedBy':_0xed1aca['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2750c1,threadId:_0x370540})=>this['_getService'](_0x2750c1)['reopenCommentThread'](_0x370540)['catch'](y)['catch'](gt),'removeCommentThread':({channelId:_0x44b873,threadId:_0x5847c4})=>this['_getService'](_0x44b873)['removeCommentThread'](_0x5847c4)['catch'](y)['catch'](gt),'addComment':({channelId:_0x2cac7a,threadId:_0x337d79,commentId:_0x2b7008,content:_0x58b52b,attributes:_0x1c1141})=>this['_getService'](_0x2cac7a)['addComment'](_0x337d79,_0x2b7008,_0x58b52b,_0x1c1141)['catch'](gt),'updateComment':({channelId:_0xbec47c,threadId:_0x45e3bc,commentId:_0x2eeb16,content:_0x302e1b,attributes:_0x7567ee})=>this['_getService'](_0xbec47c)['updateComment'](_0x45e3bc,_0x2eeb16,_0x302e1b,_0x7567ee)['catch'](y)['catch'](gt),'removeComment':({channelId:_0x1605a5,threadId:_0x464e86,commentId:_0x5119c3})=>this['_getService'](_0x1605a5)['removeComment'](_0x464e86,_0x5119c3)['catch'](y)['catch'](gt)},_0x44857f instanceof _0x326182){const _0x56a0fa=_0x44857f['config']['get']('collaboration.channelId'),_0x164ee2=_0x44857f['plugins']['get'](i);await this['_setUpService'](_0x56a0fa);const _0xb44ba2=await this['_services']['get'](_0x56a0fa)['getConnectedSessions']();this['listenTo'](_0x164ee2,'sessionAdd:'+_0x56a0fa,(_0x1ce055,{session:_0x22b843})=>{_0x22b843['id']===_0x164ee2['mySessionId']&&(_0x1ce055['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x22b843['permissions'],_0x56a0fa));}),_0x164ee2['register'](_0x56a0fa,_0xb44ba2);}}async['_setUpService'](_0x199659){if(this['_services']['has'](_0x199659))throw new _0x2e31b4('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x199659});const _0x1550e3=this['context']['plugins']['get']('CommentsRepository'),_0x35214d=new a['CommentsService'](_0x199659);this['_services']['set'](_0x199659,_0x35214d),this['listenTo'](_0x35214d,'commentThreadAdded',(_0x186b53,_0x335e71)=>{const {commentThreadId:_0x1c3ff8,documentId:_0x3de4dc,context:_0x4ed30e,attributes:_0x1dd760,resolvedAt:_0x28dcc8,resolvedBy:_0xdd416b,comments:_0xe12b50}=_0x335e71;_0x1550e3['getCommentThread'](_0x1c3ff8)||_0x1550e3['addCommentThread']({'threadId':_0x1c3ff8,'channelId':_0x3de4dc,'comments':_0xe12b50?_0xe12b50['map'](b):[],'context':_0x4ed30e,'attributes':_0x1dd760,'resolvedAt':_0x28dcc8,'resolvedBy':_0xdd416b,'isFromAdapter':!0x0});}),this['listenTo'](_0x35214d,'commentThreadUpdated',(_0x4949f0,{commentThreadId:_0x3b5bee,documentId:_0x5cac53,context:_0x426d0d,unlinkedAt:_0x5f1c1a,attributes:_0x4d4de5})=>{_0x1550e3['getCommentThread'](_0x3b5bee)&&_0x1550e3['updateCommentThread']({'threadId':_0x3b5bee,'channelId':_0x5cac53,'context':_0x426d0d,'unlinkedAt':_0x5f1c1a,'attributes':_0x4d4de5,'isFromAdapter':!0x0});}),this['listenTo'](_0x35214d,'commentThreadResolved',(_0x11a2b4,{commentThreadId:_0xffc32f,resolvedBy:_0x2eb725,resolvedAt:_0x3a9813})=>{const _0x19a1ed=_0x1550e3['getCommentThread'](_0xffc32f);_0x19a1ed&&_0x19a1ed['resolve']({'resolvedBy':_0x2eb725,'resolvedAt':_0x3a9813,'isFromAdapter':!0x0});}),this['listenTo'](_0x35214d,'commentThreadReopened',(_0x2d5a5b,{commentThreadId:_0x5ad5c6})=>{const _0x37cbd5=_0x1550e3['getCommentThread'](_0x5ad5c6);_0x37cbd5&&_0x37cbd5['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x35214d,'commentThreadRemoved',(_0x50ff13,{commentThreadId:_0x9dbde5})=>{const _0x1e153a=_0x1550e3['getCommentThread'](_0x9dbde5);_0x1e153a&&_0x1e153a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x35214d,'commentAdded',(_0x5d1f2a,_0x38e882)=>{const _0x1900ab=_0x38e882['commentThreadId'],_0x3a0971=_0x1550e3['getCommentThread'](_0x1900ab);_0x3a0971&&_0x3a0971['addComment']({...b(_0x38e882),'isFromAdapter':!0x0});}),this['listenTo'](_0x35214d,'commentUpdated',(_0x2f85f5,{commentThreadId:_0xa270e7,commentId:_0x38aeb9,content:_0x4e6789,attributes:_0xe419d4})=>{const _0x2068ae=_0x1550e3['getCommentThread'](_0xa270e7);if(_0x2068ae){const _0x4eea8f=_0x2068ae['getComment'](_0x38aeb9);_0x4eea8f&&_0x4eea8f['update']({'content':_0x4e6789,'attributes':_0xe419d4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x35214d,'commentRemoved',(_0x226534,{commentThreadId:_0x11697b,commentId:_0x5836f6})=>{const _0xf3b7fd=_0x1550e3['getCommentThread'](_0x11697b);if(_0xf3b7fd){const _0x33dff4=_0xf3b7fd['getComment'](_0x5836f6);_0x33dff4&&_0x33dff4['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x199659);}['destroy'](){if(this['context']instanceof _0x326182){const _0x4f5130=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4f5130);}}['_terminateService'](_0x2135f8){if(!this['_services']['has'](_0x2135f8))throw new _0x2e31b4('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2135f8});this['_getService'](_0x2135f8)['disconnect'](),this['_services']['delete'](_0x2135f8);}async['reconnect'](){for(const _0x1c300d of this['_services']['keys']())await this['_connectService'](_0x1c300d);if(this['context']instanceof _0x326182){const _0x5dca9c=this['context']['config']['get']('collaboration.channelId'),_0x2061e9=this['context']['plugins']['get'](i);_0x2061e9['unregister'](_0x5dca9c);const _0x14d19b=await this['_services']['get'](_0x5dca9c)['getConnectedSessions']();_0x2061e9['register'](_0x5dca9c,_0x14d19b);}}async['_connectService'](_0x35d143){const {connection:_0x1637b3}=this['context']['plugins']['get'](c),_0x372373=this['context']['plugins']['get']('CommentsRepository'),_0x52008e=this['_services']['get'](_0x35d143),_0x30ecf1=await _0x52008e['connect'](_0x1637b3);await this['_fetchMissingUsersForThreads'](_0x30ecf1);const _0x5ab2cd=new Set(Array['from'](_0x372373['getCommentThreads']({'channelId':_0x35d143}),_0xd84e3e=>_0xd84e3e['id']));for(const _0x2f1438 of _0x30ecf1)_0x2f1438['deletedAt']||_0x5ab2cd['delete'](_0x2f1438['commentThreadId']);for(const _0x54dea8 of _0x5ab2cd)_0x372373['getCommentThread'](_0x54dea8)['remove']({'isFromAdapter':!0x0});for(const _0x5f21a4 of _0x30ecf1){let _0x2c6b0c=_0x372373['getCommentThread'](_0x5f21a4['commentThreadId']);const {commentThreadId:_0x31ed92,context:_0x439365,attributes:_0x31b4e7,resolvedBy:_0x303a78,resolvedAt:_0x19bc5d,unlinkedAt:_0x4f0911,deletedAt:_0x428bb8}=_0x5f21a4;if(_0x428bb8)continue;_0x2c6b0c||(_0x2c6b0c=_0x372373['addCommentThread']({'channelId':_0x35d143,'threadId':_0x31ed92,'context':_0x439365,'attributes':_0x31b4e7||{},'resolvedBy':_0x303a78,'resolvedAt':_0x19bc5d,'unlinkedAt':_0x4f0911,'isFromAdapter':!0x0}));const _0x203055=new Set(Array['from'](_0x2c6b0c['comments'],_0x40afae=>_0x40afae['id']));for(const _0x1cb42b of _0x5f21a4['comments'])_0x203055['delete'](_0x1cb42b['commentId']);for(const _0x377b67 of _0x203055)_0x2c6b0c['getComment'](_0x377b67)['remove']({'isFromAdapter':!0x0});for(const _0x360331 of _0x5f21a4['comments']){const _0x542882=_0x2c6b0c['getComment'](_0x360331['commentId']);_0x542882?_0x542882['content']!==_0x360331['content']&&_0x542882['update']({'content':_0x360331['content'],'isFromAdapter':!0x0}):_0x2c6b0c['addComment'](Object['assign'](b(_0x360331),{'isFromAdapter':!0x0}));}}}['_getService'](_0x30161b){if(!this['_services']['has'](_0x30161b))throw new _0x2e31b4('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x30161b});return this['_services']['get'](_0x30161b);}async['_fetchMissingUsersForThreads'](_0x26b178){const _0x4f276e=this['context']['plugins']['get'](_0x3ff6b5),{connection:_0x740874}=this['context']['plugins']['get'](c),_0x3fcf4b=new Set();for(const {resolvedBy:_0x2a24bd,comments:_0x416d6b}of _0x26b178){_0x2a24bd&&!_0x4f276e['getUser'](_0x2a24bd)&&_0x3fcf4b['add'](_0x2a24bd);for(const {userId:_0x3d2195}of _0x416d6b)_0x4f276e['getUser'](_0x3d2195)||_0x3fcf4b['add'](_0x3d2195);}if(0x0===_0x3fcf4b['size'])return;const _0x44206d=await mt['getMany'](_0x740874,Array['from'](_0x3fcf4b));for(const _0x16d9a0 of _0x44206d)_0x4f276e['getUser'](_0x16d9a0['id'])||_0x4f276e['addUser'](_0x16d9a0);}}async function y(_0x7cf2b8){if('404'!==_0x7cf2b8['code'])throw _0x7cf2b8;}function gt(_0x18ead8){if((_0x5800d8=_0x18ead8)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5800d8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5800d8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5800d8;throw _0x18ead8;}function b(_0x22c9e2){return{'threadId':_0x22c9e2['commentThreadId'],'commentId':_0x22c9e2['commentId'],'content':_0x22c9e2['content'],'createdAt':_0x22c9e2['createdAt'],'authorId':_0x22c9e2['userId'],'attributes':_0x22c9e2['attributes']||{}};}class f extends _0x255d8c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>nt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x573219){super(_0x573219);const _0x4c2724=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x4c2724);}['init'](){const _0x357219=this['editor']['plugins']['get'](c),_0x122b48=this['editor']['plugins']['get']('TrackChangesEditing');return _0x122b48['adapter']={'getSuggestion':async _0x521b14=>{await this['_waitForServiceReady']();const _0x1c3868=await this['_trackChangesService']['get'](_0x521b14)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x1c3868]),_0x1c3868;},'addSuggestion':async({id:_0x119a0e,type:_0x5e89e7,data:_0x445991,originalSuggestionId:_0x18274d,attributes:_0x580d0b})=>{await this['_waitForServiceReady']();const _0x3602f7={'id':_0x119a0e,'type':_0x5e89e7,'data':_0x445991,'originalSuggestionId':_0x18274d,'attributes':_0x580d0b},_0x53deea=await this['_trackChangesService']['add'](_0x119a0e,_0x5e89e7,_0x445991,_0x18274d,_0x580d0b)['catch'](_0xeb4da8=>{if(wt(_0xeb4da8))return new Promise(_0x5a1124=>{this['_bufferedRequests']['set'](_0x119a0e,{'resolve':_0x5a1124,'suggestionData':_0x3602f7});});throw _0xeb4da8;});return this['_bufferedRequests']['delete'](_0x119a0e),_0x53deea;},'updateSuggestion':async(_0x23107e,_0x231eca)=>{if(await this['_waitForServiceReady'](),'open'!==_0x231eca['state'])return this['_trackChangesService']['update'](_0x23107e,_0x231eca)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x586bd9,_0x48003a)=>{_0x122b48['hasSuggestion'](_0x48003a['id'])&&(_0x122b48['getSuggestion'](_0x48003a['id'])['attributes']=_0x48003a['attributes']);}),this['_trackChangesService']['connect'](_0x357219['connection'])['then'](_0xf95582=>(_0x357219['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xf95582)['then'](()=>{for(const _0x33a37c of _0xf95582){_0x122b48['addSuggestionData'](_0x33a37c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1d5d34=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xf53349}=this['editor']['plugins']['get'](c),_0x4423b1=await this['_trackChangesService']['connect'](_0xf53349);await this['_fetchMissingUsersForThreads'](_0x4423b1);for(const {suggestionData:_0x5095c3,resolve:_0x222089}of this['_bufferedRequests']['values']()){let _0x590caa=_0x4423b1['find'](_0x2a00c1=>_0x2a00c1['id']===_0x5095c3['id']);_0x590caa||(_0x590caa=await this['_trackChangesService']['add'](_0x5095c3['id'],_0x5095c3['type'],_0x5095c3['data'],_0x5095c3['originalSuggestionId'])),_0x222089(_0x590caa);}for(const _0x3f6bca of _0x4423b1)_0x1d5d34['hasSuggestion'](_0x3f6bca['id'])||_0x1d5d34['addSuggestionData'](_0x3f6bca);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1f1fd9=>{this['listenTo'](this['_trackChangesService'],'connected',_0x6fdda3=>{_0x6fdda3['off'](),_0x1f1fd9();});});}async['_fetchMissingUsersForThreads'](_0x2a9d52){const _0x57606e=this['editor']['plugins']['get'](_0x3ff6b5),{connection:_0x296ceb}=this['editor']['plugins']['get'](c),_0x31dc77=new Set();for(const {authorId:_0x473016}of _0x2a9d52)_0x57606e['getUser'](_0x473016)||_0x31dc77['add'](_0x473016);if(0x0===_0x31dc77['size'])return;const _0x3bda91=await mt['getMany'](_0x296ceb,Array['from'](_0x31dc77));for(const _0x5cf8d4 of _0x3bda91)_0x57606e['getUser'](_0x5cf8d4['id'])||_0x57606e['addUser'](_0x5cf8d4);}}function w(_0x53a5ea){if(wt(_0x53a5ea))return new Promise(()=>{});throw _0x53a5ea;}function wt(_0x34baf7){return _0x34baf7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x34baf7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x255d8c{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3db55e=this['editor']['plugins']['get'](c),_0x23317a=this['editor']['plugins']['get']('CommentsEditing'),_0x54da3d=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3db55e,'change:state',(_0x25cedd,_0xb428e5,_0x260889)=>{_0x23317a['isThreadsLoadingPaused']='connected'!==_0x260889;});}),this['listenTo'](_0x3db55e,'change:state',(_0x3af8f2,_0x2547d4,_0x92b087)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x92b087);}),_0x54da3d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x255d8c{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x255d8c{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0xca19f1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x3ff6b5];}constructor(_0x234fe4){super(_0x234fe4);const _0x22a0f6=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x22a0f6);}async['init'](){const _0xa9b21d=this['editor']['plugins']['get'](l),_0x71558a=_0xa9b21d['serverHistory'],_0x3c2984=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x71558a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xa9b21d['sessionId']});const _0x465cde=this['editor']['config']['get']('cloudServices.bundleVersion')||dt,_0x24f4b5=await _0x25c071['isBundleUploaded'](_0x3c2984['connection'],_0x465cde);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x21fc52})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x21fc52)),'updateRevisions':async _0x24f361=>{await this['_waitForServiceReady']();const _0x22b159=this['_revisionTracker']['currentRevision'];if(_0x24f4b5&&0x1===_0x24f361['length']&&_0x24f361[0x0]['id']===_0x22b159['id'])return _0x24f361;for(const _0x12e03b of _0x24f361)_0x12e03b['id']===_0x22b159['id']&&(_0x12e03b['isEmptyCurrent']=_0x12e03b['fromVersion']===_0x12e03b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x24f361,this['_lastRequestId'])['then'](_0x4aa250=>(this['_lastRequestId']=_0x4aa250,_0x24f361))['catch'](_0x1eb7e3=>{if(X(_0x1eb7e3)||'400'===_0x1eb7e3['code']&&void 0x0!==_0x1eb7e3['data']['wrongRequestId']){for(const _0x361049 of _0x24f361){!this['_revisionTracker']['repository']['getRevision'](_0x361049['id'])||this['_revisionTracker']['_bufferUpdate'](_0x361049['id'],_0x361049,!0x1);}if(X(_0x1eb7e3))throw _0x1eb7e3;return _0x24f361;}throw _0x1eb7e3;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2c5495,{revisionsData:_0x3ed43c,requestId:_0x3f8e49})=>{Math['max'](..._0x3ed43c['map'](_0xfa0594=>_0xfa0594['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3ed43c,_0x3f8e49);}):this['_handleRevisionsUpdate'](_0x3ed43c,_0x3f8e49);});const {revisions:_0x96cb1d,requestId:_0x5a90dc}=await this['_revisionHistoryService']['connect'](_0x3c2984['connection']);_0x3c2984['addToReconnectionStack'](this),this['_lastRequestId']=_0x5a90dc,await this['_fetchMissingUsers'](_0x96cb1d);for(const _0x41da9f of _0x96cb1d)this['_revisionTracker']['addRevisionData'](_0x41da9f);this['listenTo'](_0xa9b21d,'change:_isConnected',(_0x3e085c,_0x31a143,_0x2380bd)=>{_0x2380bd&&(this['_oldOffset']=_0xa9b21d['_offset'],_0x3e085c['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3c2984,'state',_0x1fb024=>_0x1fb024===_0x5c0f85['CONNECTED']);}async['reconnect'](){const _0x4ab57a=this['editor']['plugins']['get'](c),_0x6551f6=this['editor']['plugins']['get'](l),_0x56f614=async()=>{const _0x25af31=this['_revisionTracker']['currentRevision'],_0x29e436=_0x25af31['id'],_0xb4165d=_0x29e436!==_0x6551f6['sessionId'];if(_0xb4165d){const _0x38a6a2=_0x6551f6['_offset']-this['_oldOffset'],_0x486a89=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x25af31['toVersion']+_0x38a6a2!==_0x486a89){const _0x5bbc24=_0x25af31['fromVersion']+_0x38a6a2,_0x407e9f=this['editor']['plugins']['get'](_0x3ff6b5),_0x1bf517=this['_revisionTracker']['buildRevisionData']({'revision':_0x25af31,'from':_0x5bbc24,'to':_0x486a89});_0x1bf517['id']=_0x25af31['id'];const _0x15159f=_0x1bf517['authorsIds']['map'](_0x1e9faa=>_0x407e9f['getUser'](_0x1e9faa));_0x25af31['_update']({..._0x1bf517,'authors':_0x15159f},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x25af31['id'],_0x1bf517,!0x0);}this['_revisionTracker']['_startingVersion']=_0x486a89,(_0x25af31['toVersion']===_0x25af31['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x29e436)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x29e436),this['_revisionTracker']['_createCurrentRevision'](_0x486a89));}const {revisions:_0x4d12bd,requestId:_0x2dac26}=await this['_revisionHistoryService']['reconnect'](_0x4ab57a['connection'],this['_lastRequestId']);_0xb4165d&&_0x4d12bd['length']>0x0?_0x6551f6['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4d12bd),this['_handleRevisionsUpdate'](_0x4d12bd,_0x2dac26),this['_revisionTracker']['sendBufferedUpdates']());};return _0x6551f6['_isConnected']?_0x56f614():new Promise((_0x17733e,_0x3c9d7b)=>{_0x6551f6['once']('change:_isConnected',()=>{_0x56f614()['then'](_0x17733e)['catch'](_0x3c9d7b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x490c59=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x42a012=>{_0x42a012['off'](),_0x490c59();});});}['_getLatestVersionFromServerOperations'](){const _0x33c962=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3298c1 of _0x33c962)if('marker'!==_0x3298c1['type']||_0x3298c1['affectsData'])return _0x3298c1['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5d4111=this['editor']['plugins']['get'](l);return new Promise(_0x1917b0=>{_0x5d4111['_isPendingUpdate']?_0x5d4111['once']('change:_isPendingUpdate',()=>{_0x1917b0(this['_getLatestVersionFromServerOperations']());}):_0x1917b0(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4c4b37,_0x497e81){const _0x4b9d1c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x497e81;for(const _0x35a256 of _0x4c4b37){const _0x4f4521=_0x4b9d1c['getRevision'](_0x35a256['id']);if(_0x4f4521){if((_0x35a256['fromVersion']||_0x35a256['toVersion'])&&(_0x35a256['diffData']=null),_0x4f4521===this['_revisionTracker']['currentRevision']){const _0x4fe3f8=Math['max'](_0x4f4521['toVersion'],_0x35a256['toVersion']),_0x4c8136=Math['max'](_0x4f4521['fromVersion'],_0x35a256['fromVersion']);let _0x38658f;_0x4f4521['toVersion']===_0x35a256['toVersion']&&_0x4f4521['fromVersion']===_0x35a256['fromVersion']?(_0x38658f=!0x0,this['_preventResendingRevisionData'](_0x35a256)):_0x35a256['toVersion']===_0x4fe3f8&&_0x35a256['fromVersion']===_0x4c8136?_0x38658f=!0x1:(_0x4f4521['toVersion']===_0x4fe3f8&&_0x4f4521['fromVersion']===_0x4c8136||this['_fixRevision']({'revision':_0x4f4521,'from':_0x4c8136,'to':_0x4fe3f8}),_0x38658f=!0x0),_0x38658f&&(delete _0x35a256['fromVersion'],delete _0x35a256['toVersion'],delete _0x35a256['diffData'],delete _0x35a256['createdAt'],delete _0x35a256['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x35a256),this['_preventResendingRevisionData'](_0x35a256);}else this['_revisionTracker']['addRevisionData'](_0x35a256);}const _0x57123a=_0x4b9d1c['getRevisions']();_0x57123a['reverse']();for(let _0xd1b967=0x0;_0xd1b967<_0x57123a['length']-0x1;_0xd1b967++){const _0x5ab4e0=_0x57123a[_0xd1b967],_0x28b74e=_0x57123a[_0xd1b967+0x1];if(_0x5ab4e0['fromVersion']<_0x28b74e['toVersion']){const _0x44e078=_0x28b74e['toVersion'],_0x2a98a0=Math['max'](_0x44e078,_0x5ab4e0['toVersion']);this['_fixRevision']({'revision':_0x5ab4e0,'from':_0x44e078,'to':_0x2a98a0});}}}['_fixRevision']({revision:_0x26003d,from:_0x3116f2,to:_0x3b5e72}={}){const _0xb4d505=this['editor']['plugins']['get'](_0x3ff6b5),_0xa66521=this['_revisionTracker']['buildRevisionData']({'revision':_0x26003d,'from':_0x3116f2,'to':_0x3b5e72});_0xa66521['authors']=_0xa66521['authorsIds']['map'](_0x74150c=>_0xb4d505['getUser'](_0x74150c)),_0x26003d['_update'](_0xa66521);}['_preventResendingRevisionData'](_0x4fb4ec){const _0x5ee2b3={};_0x5ee2b3['id']=_0x4fb4ec['id'];for(const _0x333883 of Object['keys'](_0x4fb4ec))'id'!==_0x333883&&(_0x5ee2b3[_0x333883]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5ee2b3['id'],_0x5ee2b3,!0x0);}async['_fetchMissingUsers'](_0x39cc71){const _0x1d7d1c=this['editor']['plugins']['get'](_0x3ff6b5),{connection:_0x2f4bdf}=this['editor']['plugins']['get'](c),_0xe5f524=new Set();for(const _0x385ea5 of _0x39cc71){for(const _0x190d6e of _0x385ea5['authorsIds'])_0x2b5457(_0x190d6e);_0x385ea5['creatorId']&&_0x2b5457(_0x385ea5['creatorId']);}if(0x0===_0xe5f524['size'])return;const _0x31fbea=await mt['getMany'](_0x2f4bdf,Array['from'](_0xe5f524));for(const _0x579b2b of _0x31fbea)_0x1d7d1c['getUser'](_0x579b2b['id'])||_0x1d7d1c['addUser'](_0x579b2b);function _0x2b5457(_0x35b3a1){_0x1d7d1c['getUser'](_0x35b3a1)||_0xe5f524['add'](_0x35b3a1);}}}function X(_0x5657f3){return _0x5657f3['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5657f3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5657f3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x255d8c{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x4a9566{constructor(_0x355c9e){super(_0x355c9e);const _0x187802=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x187802['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x187802['to']('usersCount',_0x264e53=>E(_0x355c9e,'CONNECTED_USERS',_0x264e53))}]});}}class es extends _0x4a9566{['items'];['keystrokes'];constructor(_0x566395){super(_0x566395);const _0x169c28=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x38ba82(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x169c28['if']('hasPopup'),'aria-expanded':_0x169c28['to']('isExpanded',_0x1676af=>this['hasPopup']&&String(_0x1676af)),'aria-label':_0x169c28['to']('hasPopup',_0xa68d7d=>E(_0x566395,_0xa68d7d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x169c28['to']('hasPopup',_0x5ab470=>!!_0x5ab470&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x169c28['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x54e633,_0x2927a8,_0x33a424)=>{this['element']&&(_0x33a424?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class it extends _0x4a9566{['counterView'];['inlineListView'];constructor(_0x5332e5){super(_0x5332e5);const _0x4288be=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x5332e5),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x38f820 of this['inlineListView']['items'])_0x38f820['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',_0x4288be['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class et extends _0x4a9566{['listWrapperView'];constructor(_0x49ddc9,_0x2b2c94){super(_0x49ddc9),this['listWrapperView']=new vt(_0x49ddc9,_0x2b2c94),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x49ddc9,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x51992f{constructor(_0x3508ed,_0x1f8def){super(_0x3508ed);const _0x47eb0f=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1f8def?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x47eb0f['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x47eb0f['to']('role'),'aria-label':_0x47eb0f['to']('ariaLabel'),'aria-labelledby':_0x47eb0f['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x54f579['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4c44f2=this['element'];_0x4c44f2&&(this['_isScrollable']=Math['max'](_0x4c44f2['scrollHeight'],_0x4c44f2['clientHeight'])>0.8*window['innerHeight']);}}class ht extends ct{['userView'];constructor(_0x1e6a48,_0x5cc43c,_0x5a0346){super(_0x1e6a48);const _0x712660=this['bindTemplate'];this['userView']=new at(_0x1e6a48,_0x5cc43c);const _0xf2d59c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5cc43c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5cc43c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5cc43c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5a0346&&(_0xf2d59c['tag']='button',_0xf2d59c['on']={'click':_0x712660['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xf2d59c);}['focus'](){this['element']['focus']();}}class rt extends _0x4a9566{['userView'];['markerView'];constructor(_0x1315d3,_0x358530,_0x17848e){super(_0x1315d3);const _0x103a0f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x1315d3,_0x358530),this['markerView']=new pt(_0x1315d3,_0x358530);const _0x4130cb=new lt(_0x1315d3);_0x4130cb['template']['tag']='span',_0x4130cb['text']=_0x358530['name'];const _0x1375ac={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x103a0f['to']('isFocusable',_0x498769=>!!_0x498769&&0x0),'aria-labelledby':_0x4130cb['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x103a0f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x103a0f['to']('hasTooltip',_0x486920=>!_0x486920),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4130cb]};_0x17848e&&(_0x1375ac['tag']='button',_0x1375ac['on']={'click':_0x103a0f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1375ac);}}class pt extends _0x4a9566{constructor(_0x51cc67,_0x1a3387){super(_0x51cc67),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1a3387['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ot={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x34d5bf{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x75b2d8){super(_0x75b2d8),this['context']['config']['define']('presenceList',ot);const _0x2d453a=_0x75b2d8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2d453a)throw new _0x2e31b4('presencelist-collapseat-invalid-format',this);if(_0x2d453a<0x1)throw new _0x2e31b4('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3b97a7(),this['balloonPanelView']=new _0x21dd49(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x41b40c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x41b40c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x47fe8f,_0x12b2e1)=>{this['_handleUserAdd'](_0x12b2e1);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x3ca1f5,_0x269f5b)=>{this['_handleUserRemove'](_0x269f5b);});}['_createView'](){const _0x378525=this['context'],_0x5b70c8=new it(this['context']['locale']),_0x5c4106=this['balloonPanelView'];if(!st(_0x378525['config']['get']('presenceList.container')))throw new _0x2e31b4('presencelist-missing-container',this);return _0x5b70c8['counterView']['bind']('usersCount')['to'](this),_0x5b70c8['bind']('isCollapsed')['to'](this,'usersCount',_0x54c295=>{const {collapseAt:_0x3bed75,displayMe:_0x446c04}=_0x378525['config']['get']('presenceList'),_0x476ed6=_0x54c295>=_0x3bed75;return _0x5b70c8['counterView']['isHidden']=!(0x1==_0x54c295&&_0x446c04||_0x476ed6),_0x476ed6||this['hideDropdown'](),_0x476ed6;}),_0x5b70c8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5d099b=>{const _0x16b355=_0x378525['config']['get']('presenceList'),_0x62fd8a=new rt(_0x378525['locale'],_0x5d099b,!!_0x16b355['onClick']);return _0x62fd8a['bind']('hasTooltip')['to'](_0x5b70c8,'isCollapsed',_0x50f2af=>!_0x50f2af),_0x62fd8a['bind']('isFocusable')['to'](_0x5b70c8,'isCollapsed',_0x2a274a=>!_0x2a274a),_0x16b355['onClick']&&this['listenTo'](_0x62fd8a,'execute',()=>{this['view']['isCollapsed']||_0x16b355['onClick'](_0x5d099b,_0x62fd8a['element']);}),_0x62fd8a;}),this['listenTo'](_0x5b70c8['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x5b70c8['inlineListView']['keystrokes']['set']('Enter',(_0x36471f,_0x2661b8)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2661b8());}),_0x5b70c8['render'](),_0x5c4106['render'](),_0x1e1784({'emitter':_0x5b70c8,'activator':()=>_0x5c4106['isVisible'],'contextElements':[_0x5c4106['element'],_0x5b70c8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x378525['config']['get']('presenceList.container')['appendChild'](_0x5b70c8['element']),this['_bodyCollection']=new tt(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5b70c8;}['_handleUserAdd'](_0x56f53f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x56f53f['isMe'])return;const _0x57acbd=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x57acbd&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x9028d0=_0x56f53f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x56f53f,_0x9028d0);}['_handleUserRemove'](_0x1111e8){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x1111e8['id'])&&(this['currentDisplayedUsers']['remove'](_0x1111e8['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x560ab4 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x560ab4['id']))return void this['currentDisplayedUsers']['add'](_0x560ab4,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5c9d4b=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new et(this['context']['locale'],!!_0x5c9d4b['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x559d65}=this['presenceDropdownView'];_0x559d65['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x184a5a=>{if(!_0x5c9d4b['displayMe']&&_0x184a5a['isMe'])return null;const _0x1aa8f5=new ht(this['context']['locale'],_0x184a5a,!!_0x5c9d4b['onClick']);return _0x5c9d4b['onClick']&&this['listenTo'](_0x1aa8f5,'execute',()=>{_0x5c9d4b['onClick'](_0x184a5a,_0x1aa8f5['element']);}),_0x1aa8f5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x559d65['focus'](),_0x559d65['checkIfScrollable']();const _0x5dd822=(_0x1225e1,_0x4a357f)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4a357f();};_0x559d65['keystrokes']['set']('Esc',_0x5dd822),_0x559d65['keystrokes']['set']('Shift+Tab',_0x5dd822),_0x559d65['keystrokes']['set']('Tab',(_0x53b19d,_0x31caac)=>{!function(_0x4e17c1){const _0x4c3ae5=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x448858=>_0x448858+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52e414=[...document['body']['querySelectorAll'](_0x4c3ae5)]['filter'](_0x2be570=>_0x2be570===document['activeElement']||_0x2be570['offsetWidth']+_0x2be570['offsetHeight']>0x0)['sort']((_0x1146e1,_0x438567)=>(_0x1146e1['tabIndex']||0x0)-(_0x438567['tabIndex']||0x0)),_0x22518e=_0x52e414['indexOf'](_0x4e17c1),_0x42c3fa=_0x52e414[(_0x22518e+0x1)%_0x52e414['length']];_0x42c3fa&&_0x42c3fa['focus']();}(this['view']['element']),this['hideDropdown'](),_0x31caac();}),_0x559d65['focusTracker']['add'](this['view']['element']),_0x559d65['focusTracker']['on']('change:isFocused',(_0x3b39db,_0x5f59e4,_0x40129e)=>{_0x40129e||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x34d5bf{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
@@ -29,4 +29,12 @@ export default class PresenceList extends ContextPlugin {
29
29
  * @inheritDoc
30
30
  */
31
31
  static get pluginName(): "PresenceList";
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get isOfficialPlugin(): true;
36
+ /**
37
+ * @inheritDoc
38
+ */
39
+ static get isPremiumPlugin(): true;
32
40
  }
@@ -31,6 +31,14 @@ export default class CloudServicesCommentsAdapter extends ContextPlugin implemen
31
31
  * @inheritDoc
32
32
  */
33
33
  static get pluginName(): "CloudServicesCommentsAdapter";
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get isOfficialPlugin(): true;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ static get isPremiumPlugin(): true;
34
42
  /**
35
43
  * @inheritDoc
36
44
  */
@@ -29,6 +29,14 @@ export default class RealTimeCollaborativeComments extends Plugin {
29
29
  * @inheritDoc
30
30
  */
31
31
  static get pluginName(): "RealTimeCollaborativeComments";
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get isOfficialPlugin(): true;
36
+ /**
37
+ * @inheritDoc
38
+ */
39
+ static get isPremiumPlugin(): true;
32
40
  /**
33
41
  * @inheritDoc
34
42
  */