@ckeditor/ckeditor5-real-time-collaboration 0.0.0-internal-20241017.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 (311) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +25 -0
  3. package/README.md +41 -0
  4. package/build/real-time-collaboration.js +5 -0
  5. package/build/translations/ar.js +1 -0
  6. package/build/translations/bg.js +1 -0
  7. package/build/translations/bn.js +1 -0
  8. package/build/translations/ca.js +1 -0
  9. package/build/translations/cs.js +1 -0
  10. package/build/translations/da.js +1 -0
  11. package/build/translations/de-ch.js +1 -0
  12. package/build/translations/de.js +1 -0
  13. package/build/translations/el.js +1 -0
  14. package/build/translations/en-au.js +1 -0
  15. package/build/translations/es.js +1 -0
  16. package/build/translations/et.js +1 -0
  17. package/build/translations/fa.js +1 -0
  18. package/build/translations/fi.js +1 -0
  19. package/build/translations/fr.js +1 -0
  20. package/build/translations/gl.js +1 -0
  21. package/build/translations/he.js +1 -0
  22. package/build/translations/hi.js +1 -0
  23. package/build/translations/hr.js +1 -0
  24. package/build/translations/hu.js +1 -0
  25. package/build/translations/id.js +1 -0
  26. package/build/translations/it.js +1 -0
  27. package/build/translations/ja.js +1 -0
  28. package/build/translations/ko.js +1 -0
  29. package/build/translations/lt.js +1 -0
  30. package/build/translations/lv.js +1 -0
  31. package/build/translations/ms.js +1 -0
  32. package/build/translations/nl.js +1 -0
  33. package/build/translations/no.js +1 -0
  34. package/build/translations/pl.js +1 -0
  35. package/build/translations/pt-br.js +1 -0
  36. package/build/translations/pt.js +1 -0
  37. package/build/translations/ro.js +1 -0
  38. package/build/translations/ru.js +1 -0
  39. package/build/translations/sk.js +1 -0
  40. package/build/translations/sr-latn.js +1 -0
  41. package/build/translations/sr.js +1 -0
  42. package/build/translations/sv.js +1 -0
  43. package/build/translations/th.js +1 -0
  44. package/build/translations/tk.js +1 -0
  45. package/build/translations/tr.js +1 -0
  46. package/build/translations/uk.js +1 -0
  47. package/build/translations/vi.js +1 -0
  48. package/build/translations/zh-cn.js +1 -0
  49. package/build/translations/zh.js +1 -0
  50. package/ckeditor5-metadata.json +87 -0
  51. package/dist/augmentation.d.ts +68 -0
  52. package/dist/common-translations.d.ts +13 -0
  53. package/dist/config.d.ts +52 -0
  54. package/dist/index-content.css +5 -0
  55. package/dist/index-editor.css +321 -0
  56. package/dist/index.css +423 -0
  57. package/dist/index.d.ts +18 -0
  58. package/dist/index.js +28 -0
  59. package/dist/presencelist/presencelistui.d.ts +51 -0
  60. package/dist/presencelist/view/presencecounterview.d.ts +15 -0
  61. package/dist/presencelist/view/presencedropdownlistitemview.d.ts +19 -0
  62. package/dist/presencelist/view/presencedropdownlistview.d.ts +36 -0
  63. package/dist/presencelist/view/presenceinlinelistitemview.d.ts +23 -0
  64. package/dist/presencelist/view/presenceinlinelistview.d.ts +38 -0
  65. package/dist/presencelist/view/presencelistview.d.ts +24 -0
  66. package/dist/presencelist.d.ts +40 -0
  67. package/dist/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +64 -0
  68. package/dist/realtimecollaborativecomments.d.ts +48 -0
  69. package/dist/realtimecollaborativeediting/realtimecollaborationclient.d.ts +149 -0
  70. package/dist/realtimecollaborativeediting/sessions.d.ts +130 -0
  71. package/dist/realtimecollaborativeediting/usermarkers.d.ts +52 -0
  72. package/dist/realtimecollaborativeediting/websocketgateway.d.ts +67 -0
  73. package/dist/realtimecollaborativeediting.d.ts +38 -0
  74. package/dist/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +49 -0
  75. package/dist/realtimecollaborativerevisionhistory.d.ts +41 -0
  76. package/dist/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +43 -0
  77. package/dist/realtimecollaborativetrackchanges.d.ts +39 -0
  78. package/dist/translations/ar.d.ts +8 -0
  79. package/dist/translations/ar.js +23 -0
  80. package/dist/translations/ar.umd.js +23 -0
  81. package/dist/translations/bg.d.ts +8 -0
  82. package/dist/translations/bg.js +23 -0
  83. package/dist/translations/bg.umd.js +23 -0
  84. package/dist/translations/bn.d.ts +8 -0
  85. package/dist/translations/bn.js +23 -0
  86. package/dist/translations/bn.umd.js +23 -0
  87. package/dist/translations/ca.d.ts +8 -0
  88. package/dist/translations/ca.js +23 -0
  89. package/dist/translations/ca.umd.js +23 -0
  90. package/dist/translations/cs.d.ts +8 -0
  91. package/dist/translations/cs.js +23 -0
  92. package/dist/translations/cs.umd.js +23 -0
  93. package/dist/translations/da.d.ts +8 -0
  94. package/dist/translations/da.js +23 -0
  95. package/dist/translations/da.umd.js +23 -0
  96. package/dist/translations/de-ch.d.ts +8 -0
  97. package/dist/translations/de-ch.js +23 -0
  98. package/dist/translations/de-ch.umd.js +23 -0
  99. package/dist/translations/de.d.ts +8 -0
  100. package/dist/translations/de.js +23 -0
  101. package/dist/translations/de.umd.js +23 -0
  102. package/dist/translations/el.d.ts +8 -0
  103. package/dist/translations/el.js +23 -0
  104. package/dist/translations/el.umd.js +23 -0
  105. package/dist/translations/en-au.d.ts +8 -0
  106. package/dist/translations/en-au.js +23 -0
  107. package/dist/translations/en-au.umd.js +23 -0
  108. package/dist/translations/en.d.ts +8 -0
  109. package/dist/translations/en.js +23 -0
  110. package/dist/translations/en.umd.js +23 -0
  111. package/dist/translations/es.d.ts +8 -0
  112. package/dist/translations/es.js +23 -0
  113. package/dist/translations/es.umd.js +23 -0
  114. package/dist/translations/et.d.ts +8 -0
  115. package/dist/translations/et.js +23 -0
  116. package/dist/translations/et.umd.js +23 -0
  117. package/dist/translations/fa.d.ts +8 -0
  118. package/dist/translations/fa.js +23 -0
  119. package/dist/translations/fa.umd.js +23 -0
  120. package/dist/translations/fi.d.ts +8 -0
  121. package/dist/translations/fi.js +23 -0
  122. package/dist/translations/fi.umd.js +23 -0
  123. package/dist/translations/fr.d.ts +8 -0
  124. package/dist/translations/fr.js +23 -0
  125. package/dist/translations/fr.umd.js +23 -0
  126. package/dist/translations/gl.d.ts +8 -0
  127. package/dist/translations/gl.js +23 -0
  128. package/dist/translations/gl.umd.js +23 -0
  129. package/dist/translations/he.d.ts +8 -0
  130. package/dist/translations/he.js +23 -0
  131. package/dist/translations/he.umd.js +23 -0
  132. package/dist/translations/hi.d.ts +8 -0
  133. package/dist/translations/hi.js +23 -0
  134. package/dist/translations/hi.umd.js +23 -0
  135. package/dist/translations/hr.d.ts +8 -0
  136. package/dist/translations/hr.js +23 -0
  137. package/dist/translations/hr.umd.js +23 -0
  138. package/dist/translations/hu.d.ts +8 -0
  139. package/dist/translations/hu.js +23 -0
  140. package/dist/translations/hu.umd.js +23 -0
  141. package/dist/translations/id.d.ts +8 -0
  142. package/dist/translations/id.js +23 -0
  143. package/dist/translations/id.umd.js +23 -0
  144. package/dist/translations/it.d.ts +8 -0
  145. package/dist/translations/it.js +23 -0
  146. package/dist/translations/it.umd.js +23 -0
  147. package/dist/translations/ja.d.ts +8 -0
  148. package/dist/translations/ja.js +23 -0
  149. package/dist/translations/ja.umd.js +23 -0
  150. package/dist/translations/ko.d.ts +8 -0
  151. package/dist/translations/ko.js +23 -0
  152. package/dist/translations/ko.umd.js +23 -0
  153. package/dist/translations/lt.d.ts +8 -0
  154. package/dist/translations/lt.js +23 -0
  155. package/dist/translations/lt.umd.js +23 -0
  156. package/dist/translations/lv.d.ts +8 -0
  157. package/dist/translations/lv.js +23 -0
  158. package/dist/translations/lv.umd.js +23 -0
  159. package/dist/translations/ms.d.ts +8 -0
  160. package/dist/translations/ms.js +23 -0
  161. package/dist/translations/ms.umd.js +23 -0
  162. package/dist/translations/nl.d.ts +8 -0
  163. package/dist/translations/nl.js +23 -0
  164. package/dist/translations/nl.umd.js +23 -0
  165. package/dist/translations/no.d.ts +8 -0
  166. package/dist/translations/no.js +23 -0
  167. package/dist/translations/no.umd.js +23 -0
  168. package/dist/translations/pl.d.ts +8 -0
  169. package/dist/translations/pl.js +23 -0
  170. package/dist/translations/pl.umd.js +23 -0
  171. package/dist/translations/pt-br.d.ts +8 -0
  172. package/dist/translations/pt-br.js +23 -0
  173. package/dist/translations/pt-br.umd.js +23 -0
  174. package/dist/translations/pt.d.ts +8 -0
  175. package/dist/translations/pt.js +23 -0
  176. package/dist/translations/pt.umd.js +23 -0
  177. package/dist/translations/ro.d.ts +8 -0
  178. package/dist/translations/ro.js +23 -0
  179. package/dist/translations/ro.umd.js +23 -0
  180. package/dist/translations/ru.d.ts +8 -0
  181. package/dist/translations/ru.js +23 -0
  182. package/dist/translations/ru.umd.js +23 -0
  183. package/dist/translations/sk.d.ts +8 -0
  184. package/dist/translations/sk.js +23 -0
  185. package/dist/translations/sk.umd.js +23 -0
  186. package/dist/translations/sr-latn.d.ts +8 -0
  187. package/dist/translations/sr-latn.js +23 -0
  188. package/dist/translations/sr-latn.umd.js +23 -0
  189. package/dist/translations/sr.d.ts +8 -0
  190. package/dist/translations/sr.js +23 -0
  191. package/dist/translations/sr.umd.js +23 -0
  192. package/dist/translations/sv.d.ts +8 -0
  193. package/dist/translations/sv.js +23 -0
  194. package/dist/translations/sv.umd.js +23 -0
  195. package/dist/translations/th.d.ts +8 -0
  196. package/dist/translations/th.js +23 -0
  197. package/dist/translations/th.umd.js +23 -0
  198. package/dist/translations/tk.d.ts +8 -0
  199. package/dist/translations/tk.js +23 -0
  200. package/dist/translations/tk.umd.js +23 -0
  201. package/dist/translations/tr.d.ts +8 -0
  202. package/dist/translations/tr.js +23 -0
  203. package/dist/translations/tr.umd.js +23 -0
  204. package/dist/translations/uk.d.ts +8 -0
  205. package/dist/translations/uk.js +23 -0
  206. package/dist/translations/uk.umd.js +23 -0
  207. package/dist/translations/vi.d.ts +8 -0
  208. package/dist/translations/vi.js +23 -0
  209. package/dist/translations/vi.umd.js +23 -0
  210. package/dist/translations/zh-cn.d.ts +8 -0
  211. package/dist/translations/zh-cn.js +23 -0
  212. package/dist/translations/zh-cn.umd.js +23 -0
  213. package/dist/translations/zh.d.ts +8 -0
  214. package/dist/translations/zh.js +23 -0
  215. package/dist/translations/zh.umd.js +23 -0
  216. package/lang/contexts.json +12 -0
  217. package/lang/translations/ar.po +64 -0
  218. package/lang/translations/bg.po +60 -0
  219. package/lang/translations/bn.po +60 -0
  220. package/lang/translations/ca.po +60 -0
  221. package/lang/translations/cs.po +62 -0
  222. package/lang/translations/da.po +60 -0
  223. package/lang/translations/de-ch.po +60 -0
  224. package/lang/translations/de.po +60 -0
  225. package/lang/translations/el.po +60 -0
  226. package/lang/translations/en-au.po +60 -0
  227. package/lang/translations/en.po +60 -0
  228. package/lang/translations/es.po +61 -0
  229. package/lang/translations/et.po +60 -0
  230. package/lang/translations/fa.po +60 -0
  231. package/lang/translations/fi.po +60 -0
  232. package/lang/translations/fr.po +61 -0
  233. package/lang/translations/gl.po +60 -0
  234. package/lang/translations/he.po +61 -0
  235. package/lang/translations/hi.po +60 -0
  236. package/lang/translations/hr.po +61 -0
  237. package/lang/translations/hu.po +60 -0
  238. package/lang/translations/id.po +59 -0
  239. package/lang/translations/it.po +61 -0
  240. package/lang/translations/ja.po +59 -0
  241. package/lang/translations/ko.po +59 -0
  242. package/lang/translations/lt.po +62 -0
  243. package/lang/translations/lv.po +61 -0
  244. package/lang/translations/ms.po +59 -0
  245. package/lang/translations/nl.po +60 -0
  246. package/lang/translations/no.po +60 -0
  247. package/lang/translations/pl.po +62 -0
  248. package/lang/translations/pt-br.po +61 -0
  249. package/lang/translations/pt.po +61 -0
  250. package/lang/translations/ro.po +61 -0
  251. package/lang/translations/ru.po +62 -0
  252. package/lang/translations/sk.po +62 -0
  253. package/lang/translations/sr-latn.po +61 -0
  254. package/lang/translations/sr.po +61 -0
  255. package/lang/translations/sv.po +60 -0
  256. package/lang/translations/th.po +59 -0
  257. package/lang/translations/tk.po +60 -0
  258. package/lang/translations/tr.po +60 -0
  259. package/lang/translations/uk.po +62 -0
  260. package/lang/translations/vi.po +59 -0
  261. package/lang/translations/zh-cn.po +59 -0
  262. package/lang/translations/zh.po +59 -0
  263. package/package.json +57 -0
  264. package/src/augmentation.d.ts +64 -0
  265. package/src/augmentation.js +23 -0
  266. package/src/common-translations.d.ts +9 -0
  267. package/src/common-translations.js +23 -0
  268. package/src/config.d.ts +48 -0
  269. package/src/config.js +23 -0
  270. package/src/index.d.ts +14 -0
  271. package/src/index.js +23 -0
  272. package/src/presencelist/presencelistui.d.ts +47 -0
  273. package/src/presencelist/presencelistui.js +23 -0
  274. package/src/presencelist/view/presencecounterview.d.ts +11 -0
  275. package/src/presencelist/view/presencecounterview.js +23 -0
  276. package/src/presencelist/view/presencedropdownlistitemview.d.ts +15 -0
  277. package/src/presencelist/view/presencedropdownlistitemview.js +23 -0
  278. package/src/presencelist/view/presencedropdownlistview.d.ts +32 -0
  279. package/src/presencelist/view/presencedropdownlistview.js +23 -0
  280. package/src/presencelist/view/presenceinlinelistitemview.d.ts +19 -0
  281. package/src/presencelist/view/presenceinlinelistitemview.js +23 -0
  282. package/src/presencelist/view/presenceinlinelistview.d.ts +34 -0
  283. package/src/presencelist/view/presenceinlinelistview.js +23 -0
  284. package/src/presencelist/view/presencelistview.d.ts +20 -0
  285. package/src/presencelist/view/presencelistview.js +23 -0
  286. package/src/presencelist.d.ts +36 -0
  287. package/src/presencelist.js +23 -0
  288. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +60 -0
  289. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +23 -0
  290. package/src/realtimecollaborativecomments.d.ts +44 -0
  291. package/src/realtimecollaborativecomments.js +23 -0
  292. package/src/realtimecollaborativeediting/realtimecollaborationclient.d.ts +145 -0
  293. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +23 -0
  294. package/src/realtimecollaborativeediting/sessions.d.ts +126 -0
  295. package/src/realtimecollaborativeediting/sessions.js +23 -0
  296. package/src/realtimecollaborativeediting/usermarkers.d.ts +48 -0
  297. package/src/realtimecollaborativeediting/usermarkers.js +23 -0
  298. package/src/realtimecollaborativeediting/websocketgateway.d.ts +63 -0
  299. package/src/realtimecollaborativeediting/websocketgateway.js +23 -0
  300. package/src/realtimecollaborativeediting.d.ts +34 -0
  301. package/src/realtimecollaborativeediting.js +23 -0
  302. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +45 -0
  303. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +23 -0
  304. package/src/realtimecollaborativerevisionhistory.d.ts +37 -0
  305. package/src/realtimecollaborativerevisionhistory.js +23 -0
  306. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +39 -0
  307. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +23 -0
  308. package/src/realtimecollaborativetrackchanges.d.ts +35 -0
  309. package/src/realtimecollaborativetrackchanges.js +23 -0
  310. package/theme/presencelist.css +262 -0
  311. package/theme/usermarkers.css +107 -0
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ function _0x3aaa(_0x5eabb1,_0x5d45e7){const _0x5a7255=_0x5a72();return _0x3aaa=function(_0x3aaa29,_0x5bdf85){_0x3aaa29=_0x3aaa29-0x171;let _0x5017d5=_0x5a7255[_0x3aaa29];return _0x5017d5;},_0x3aaa(_0x5eabb1,_0x5d45e7);}const _0x52940a=_0x3aaa;(function(_0x1df0f1,_0xed5756){const _0x2b1e8e=_0x3aaa,_0x277b33=_0x1df0f1();while(!![]){try{const _0x3d55be=-parseInt(_0x2b1e8e(0x174))/0x1+parseInt(_0x2b1e8e(0x18b))/0x2+-parseInt(_0x2b1e8e(0x17e))/0x3+parseInt(_0x2b1e8e(0x188))/0x4*(-parseInt(_0x2b1e8e(0x178))/0x5)+parseInt(_0x2b1e8e(0x177))/0x6+parseInt(_0x2b1e8e(0x189))/0x7*(-parseInt(_0x2b1e8e(0x171))/0x8)+parseInt(_0x2b1e8e(0x179))/0x9;if(_0x3d55be===_0xed5756)break;else _0x277b33['push'](_0x277b33['shift']());}catch(_0x4db9a8){_0x277b33['push'](_0x277b33['shift']());}}}(_0x5a72,0xc9cb9));import{View as _0x1e79c1}from'ckeditor5/src/ui.js';import{KeystrokeHandler as _0x17888f}from'ckeditor5/src/utils.js';import{getTranslation as _0x3e360b}from'../../common-translations.js';function _0x5a72(){const _0x2519e0=['list','hasPopup','focus','36ZgvUUv','3737783ImbMyj','render','2855568YnlWXn','set','listenTo','ck-presence-list__list','bindTemplate','isExpanded','8pzspQG','element','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)','524917YZHMBZ','change:hasPopup','createCollection','8238198IjmEKU','319085isExwP','9260037BjYTUW','keystrokes','div','setAttribute','execute','4109754sgnyJA','setTemplate','aria-expanded','removeAttribute','fire','items','Connected\x20users\x20list'];_0x5a72=function(){return _0x2519e0;};return _0x5a72();}export default class es extends _0x1e79c1{constructor(_0x29630b){const _0x42321a=_0x3aaa;super(_0x29630b);const _0x3acb54=this[_0x42321a(0x18f)];this[_0x42321a(0x183)]=this[_0x42321a(0x176)](),this[_0x42321a(0x17a)]=new _0x17888f(),this[_0x42321a(0x18c)]({'hasPopup':!0x1,'isExpanded':!0x1}),this[_0x42321a(0x17f)]({'tag':_0x42321a(0x17b),'attributes':{'aria-haspopup':_0x3acb54['if'](_0x42321a(0x186)),'aria-expanded':_0x3acb54['to'](_0x42321a(0x190),_0x3a891d=>this[_0x42321a(0x186)]&&String(_0x3a891d)),'aria-label':_0x3acb54['to'](_0x42321a(0x186),_0x3fea18=>_0x3e360b(_0x29630b,_0x3fea18?_0x42321a(0x173):_0x42321a(0x184))),'role':_0x42321a(0x185),'tabindex':_0x3acb54['to'](_0x42321a(0x186),_0x1ae55a=>!!_0x1ae55a&&0x0),'class':['ck',_0x42321a(0x18e)]},'children':this[_0x42321a(0x183)],'on':{'click':_0x3acb54['to'](()=>this[_0x42321a(0x182)](_0x42321a(0x17d)))}}),this['on'](_0x42321a(0x175),(_0x847e32,_0x1a3ba1,_0x3c3148)=>{const _0x3c95d8=_0x42321a;this[_0x3c95d8(0x172)]&&(_0x3c3148?this[_0x3c95d8(0x172)][_0x3c95d8(0x17c)](_0x3c95d8(0x180),String(this[_0x3c95d8(0x190)])):this[_0x3c95d8(0x172)][_0x3c95d8(0x181)](_0x3c95d8(0x180)));});}[_0x52940a(0x187)](){const _0x2dc6fc=_0x52940a;this[_0x2dc6fc(0x172)][_0x2dc6fc(0x187)]();}[_0x52940a(0x18a)](){const _0x2ba7ec=_0x52940a;super[_0x2ba7ec(0x18a)](),this[_0x2ba7ec(0x17a)][_0x2ba7ec(0x18d)](this[_0x2ba7ec(0x172)]);}}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module real-time-collaboration/presencelist/view/presencelistview
7
+ * @publicApi
8
+ */
9
+ import { View } from 'ckeditor5/src/ui.js';
10
+ import type { Locale } from 'ckeditor5/src/utils.js';
11
+ import '../../../theme/presencelist.css';
12
+ /**
13
+ * `PresenceListView` is the default view for the presence list. It shows the inline list of users, and an optional user counter.
14
+ */
15
+ export default class PresenceListView extends View {
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ constructor(locale: Locale);
20
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ (function(_0x5cc3bd,_0x281502){const _0x238f89=_0x179d,_0x2dd845=_0x5cc3bd();while(!![]){try{const _0x47dece=-parseInt(_0x238f89(0xb3))/0x1+parseInt(_0x238f89(0xbc))/0x2+-parseInt(_0x238f89(0xbf))/0x3+-parseInt(_0x238f89(0xbd))/0x4*(parseInt(_0x238f89(0xcb))/0x5)+parseInt(_0x238f89(0xc4))/0x6+parseInt(_0x238f89(0xb6))/0x7*(-parseInt(_0x238f89(0xbe))/0x8)+parseInt(_0x238f89(0xc7))/0x9;if(_0x47dece===_0x281502)break;else _0x2dd845['push'](_0x2dd845['shift']());}catch(_0x2073b4){_0x2dd845['push'](_0x2dd845['shift']());}}}(_0x1658,0xa4cc1));import{View as _0x2ad2d8}from'ckeditor5/src/ui.js';import _0x1c2787 from'./presencecounterview.js';function _0x179d(_0x67500e,_0x27150f){const _0x16583d=_0x1658();return _0x179d=function(_0x179d53,_0x21ecd4){_0x179d53=_0x179d53-0xb1;let _0x26812a=_0x16583d[_0x179d53];return _0x26812a;},_0x179d(_0x67500e,_0x27150f);}import _0x4c3775 from'./presenceinlinelistview.js';function _0x1658(){const _0x2dab3f=['div','tooltipPosition','3809286YIvlYf','isCollapsed','ck-presence-list--collapsed','20892987GUdtvY','set','first','listenTo','5HlKeSR','ck-presence-list','counterView','change','548600WkfrwL','ck-reset','bindTemplate','15043qqcIjd','inlineListView','hasPopup','ck-rounded-corners','locale','bind','2193394QWXRWC','4308040RySJUZ','3736MHxqaG','2246457ESomAd','items','setTemplate'];_0x1658=function(){return _0x2dab3f;};return _0x1658();}import'../../../theme/presencelist.css';export default class _ extends _0x2ad2d8{constructor(_0x4f3fe0){const _0x4ca8ef=_0x179d;super(_0x4f3fe0);const _0x2e918c=this[_0x4ca8ef(0xb5)];this[_0x4ca8ef(0xc8)](_0x4ca8ef(0xc5),!0x0),this[_0x4ca8ef(0xb1)]=new _0x1c2787(this[_0x4ca8ef(0xba)]),this[_0x4ca8ef(0xb7)]=new _0x4c3775(_0x4f3fe0),this[_0x4ca8ef(0xb7)][_0x4ca8ef(0xbb)](_0x4ca8ef(0xb8))['to'](this,_0x4ca8ef(0xc5)),this[_0x4ca8ef(0xca)](this[_0x4ca8ef(0xb7)][_0x4ca8ef(0xc0)],_0x4ca8ef(0xb2),()=>{const _0x158406=_0x4ca8ef;for(const _0x49b070 of this[_0x158406(0xb7)][_0x158406(0xc0)])_0x49b070[_0x158406(0xc3)]='s';this[_0x158406(0xb7)][_0x158406(0xc0)][_0x158406(0xc9)]&&(this[_0x158406(0xb7)][_0x158406(0xc0)][_0x158406(0xc9)][_0x158406(0xc3)]='se');}),this[_0x4ca8ef(0xc1)]({'tag':_0x4ca8ef(0xc2),'attributes':{'class':['ck',_0x4ca8ef(0xcc),_0x4ca8ef(0xb4),_0x4ca8ef(0xb9),_0x2e918c['if'](_0x4ca8ef(0xc5),_0x4ca8ef(0xc6))]},'children':[this[_0x4ca8ef(0xb1)],this[_0x4ca8ef(0xb7)]]});}}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module real-time-collaboration/presencelist
7
+ * @publicApi
8
+ */
9
+ import { ContextPlugin } from 'ckeditor5/src/core.js';
10
+ import Sessions from './realtimecollaborativeediting/sessions.js';
11
+ import PresenceListUI from './presencelist/presencelistui.js';
12
+ /**
13
+ * The `PresenceList` plugin provides a UI which displays all {@link module:collaboration-core/users~Users users} that are
14
+ * currently connected to the edited document. The users are displayed as a row of avatars.
15
+ * The information about the users is provided by {@glink @cs developer-resources/security/token-endpoint#user CKEditor Cloud Services}.
16
+ *
17
+ * The presence list UI collapses to a dropdown if six or more users are connected.
18
+ */
19
+ export default class PresenceList extends ContextPlugin {
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ static get requires(): readonly [typeof Sessions, typeof PresenceListUI];
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get pluginName(): "PresenceList";
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get isOfficialPlugin(): true;
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get isPremiumPlugin(): true;
36
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ var _0x5520dd=_0x876d;(function(_0x13c1cb,_0x471a6e){var _0x195973=_0x876d,_0x35625f=_0x13c1cb();while(!![]){try{var _0x4d0a21=-parseInt(_0x195973(0xf0))/0x1*(-parseInt(_0x195973(0xf9))/0x2)+-parseInt(_0x195973(0xf7))/0x3+-parseInt(_0x195973(0xec))/0x4+parseInt(_0x195973(0xef))/0x5+-parseInt(_0x195973(0xf2))/0x6+parseInt(_0x195973(0xf4))/0x7+-parseInt(_0x195973(0xf1))/0x8*(-parseInt(_0x195973(0xed))/0x9);if(_0x4d0a21===_0x471a6e)break;else _0x35625f['push'](_0x35625f['shift']());}catch(_0x5d6510){_0x35625f['push'](_0x35625f['shift']());}}}(_0x29ad,0x83815));import{ContextPlugin as _0x31e593}from'ckeditor5/src/core.js';function _0x876d(_0x9a3bac,_0x399ed6){var _0x29adbe=_0x29ad();return _0x876d=function(_0x876d76,_0x120438){_0x876d76=_0x876d76-0xec;var _0x506fa1=_0x29adbe[_0x876d76];return _0x506fa1;},_0x876d(_0x9a3bac,_0x399ed6);}import _0xfcc940 from'./realtimecollaborativeediting/sessions.js';function _0x29ad(){var _0x179316=['requires','4373925wVAyQS','395949CHseHx','16pnuErP','3203382amlFyC','isOfficialPlugin','3747499DhmREk','isPremiumPlugin','pluginName','2898504aQMDPH','PresenceList','2zeIzdz','1056156pnyMJN','2234961rivjzw'];_0x29ad=function(){return _0x179316;};return _0x29ad();}import _0x2f4b88 from'./presencelist/presencelistui.js';export default class s extends _0x31e593{static get[_0x5520dd(0xee)](){return[_0xfcc940,_0x2f4b88];}static get[_0x5520dd(0xf6)](){var _0x3c2979=_0x5520dd;return _0x3c2979(0xf8);}static get[_0x5520dd(0xf3)](){return!0x0;}static get[_0x5520dd(0xf5)](){return!0x0;}}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module real-time-collaboration/realtimecollaborativecomments/cloudservicescommentsadapter
7
+ * @publicApi
8
+ */
9
+ import { Context, ContextPlugin, type Editor } from 'ckeditor5/src/core.js';
10
+ import { Users } from 'ckeditor5-collaboration/src/collaboration-core.js';
11
+ import { CommentsService } from '@ckeditor/ckeditor-cloud-services-collaboration/src/services.js';
12
+ import WebSocketGateway, { type ReconnectContextPlugin } from '../realtimecollaborativeediting/websocketgateway.js';
13
+ import Sessions from '../realtimecollaborativeediting/sessions.js';
14
+ /**
15
+ * The Cloud Services Comments Adapter plugin.
16
+ *
17
+ * Visit the {@glink features/collaboration/context-and-collaboration-features Context and Collaboration Features} guide
18
+ * to learn how to use it.
19
+ */
20
+ export default class CloudServicesCommentsAdapter extends ContextPlugin implements ReconnectContextPlugin {
21
+ static CommentsService: typeof CommentsService;
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get requires(): readonly [typeof WebSocketGateway, "CommentsRepository", typeof Sessions, typeof Users];
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get pluginName(): "CloudServicesCommentsAdapter";
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get isOfficialPlugin(): true;
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get isPremiumPlugin(): true;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ constructor(context: Editor | Context);
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ init(): Promise<void>;
46
+ /**
47
+ * @inheritDoc
48
+ */
49
+ destroy(): void;
50
+ /**
51
+ * A method that will be executed when the `WebSocketGateway` will reconnect.
52
+ */
53
+ reconnect(): Promise<void>;
54
+ /**
55
+ * It connects a service for the given channel ID to the WebSocket and synchronizes local comments (`CommentsRepository`)
56
+ * with remote comments (the `service.connect()`'s response).
57
+ */
58
+ private _connectService;
59
+ private _fetchMissingUsersForThreads;
60
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x1a4c14=_0x319b;(function(_0x215362,_0x2bd7c3){const _0x3a673a=_0x319b,_0x145606=_0x215362();while(!![]){try{const _0x30cff5=-parseInt(_0x3a673a(0x13a))/0x1+parseInt(_0x3a673a(0x16b))/0x2+parseInt(_0x3a673a(0x16e))/0x3*(parseInt(_0x3a673a(0x17a))/0x4)+-parseInt(_0x3a673a(0x180))/0x5*(-parseInt(_0x3a673a(0x133))/0x6)+-parseInt(_0x3a673a(0x169))/0x7+parseInt(_0x3a673a(0x17b))/0x8*(parseInt(_0x3a673a(0x121))/0x9)+-parseInt(_0x3a673a(0x17d))/0xa;if(_0x30cff5===_0x2bd7c3)break;else _0x145606['push'](_0x145606['shift']());}catch(_0x194492){_0x145606['push'](_0x145606['shift']());}}}(_0xbc47,0xad4c4));function _0xbc47(){const _0x11fd92=['getComment','cloudservicescommentsadapter-service-not-exist','commentThreadAdded','commentThreadUpdated','remove','context','reopenCommentThread','size','removeComment','CommentsRepository','authorId','comments','delete','plugins','CloudServicesCommentsAdapter','destroy','addToReconnectionStack','disconnect','catch','_fetchMissingUsersForThreads','pluginName','getUser','_setUpService','addComment','listenTo','add','assign','mySessionId','cloudservicescommentsadapter-disconnect-not-exist','addCommentThread','permissions','commentUpdated','commentThreadRemoved','getConnectedSessions','resolvedAt','404','reconnect','setPermissions','cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.','_services','unregister','keys','code','off','content','userId','8787065zsOLQa','getMany','2522822klHKtI','commentId','_getService','7101AcpoEY','collaboration.channelId','isPremiumPlugin','updateComment','from','commentThreadReopened','createdAt','getCommentThread','register','message','addUser','commentAdded','708LxsLkL','112GhhoST','map','7349130gcTuOm','cloudservicescommentsadapter-connect-already-connected','cloud-services-internal-error:\x20Request\x20timeout.','5UVZQWx','_terminateService','startsWith','requires','cloud-services-internal-error:\x20Not\x20connected.','resolve','isOfficialPlugin','674226EoQXSO','_connectService','get','updateCommentThread','commentThreadResolved','commentThreadId','has','connect','reopen','init','getCommentThreads','attributes','CommentsService','removeCommentThread','commentRemoved','resolveCommentThread','sessionAdd:','Permissions','5752374lGBvDY','resolvedBy','deletedAt','update','config','set','adapter','987859LFCzyH'];_0xbc47=function(){return _0x11fd92;};return _0xbc47();}import{Context as _0x40123f,ContextPlugin as _0x877894}from'ckeditor5/src/core.js';import{CKEditorError as _0x2e1200}from'ckeditor5/src/utils.js';import{Users as _0x15a931}from'ckeditor5-collaboration/src/collaboration-core.js';import{CommentsService as _0x4952fa,User as _0x339dc3}from'@ckeditor/ckeditor-cloud-services-collaboration/src/services.js';import _0xfc0eb8 from'../realtimecollaborativeediting/websocketgateway.js';import _0x480878 from'../realtimecollaborativeediting/sessions.js';class a extends _0x877894{static get[_0x1a4c14(0x183)](){const _0x3cb0a4=_0x1a4c14;return[_0xfc0eb8,_0x3cb0a4(0x144),_0x480878,_0x15a931];}static get[_0x1a4c14(0x14f)](){const _0x150dd1=_0x1a4c14;return _0x150dd1(0x149);}static get[_0x1a4c14(0x120)](){return!0x0;}static get[_0x1a4c14(0x170)](){return!0x0;}constructor(_0xd35679){const _0x5e0914=_0x1a4c14;super(_0xd35679),this[_0x5e0914(0x162)]=new Map();}async[_0x1a4c14(0x12a)](){const _0x5ddc1c=_0x1a4c14,_0x178632=this[_0x5ddc1c(0x140)],_0x4e8bdf=_0x178632[_0x5ddc1c(0x148)][_0x5ddc1c(0x123)](_0x5ddc1c(0x144));if(_0x178632[_0x5ddc1c(0x148)][_0x5ddc1c(0x123)](_0xfc0eb8)[_0x5ddc1c(0x14b)](this),_0x4e8bdf[_0x5ddc1c(0x139)]={'addCommentThread':async({channelId:_0x122674,threadId:_0x556527,comments:_0x5398ea,resolvedAt:_0x258c10,resolvedBy:_0x267940,context:_0xb451d1,attributes:_0x53acfd})=>{const _0xcfb0d4=_0x5ddc1c,_0x554e32=await this[_0xcfb0d4(0x16d)](_0x122674)[_0xcfb0d4(0x158)]({'commentThreadId':_0x556527,'comments':_0x5398ea[_0xcfb0d4(0x17c)](_0x58837b=>function(_0x1cfb80,_0x489b4e,_0x3c6eee){const _0x392ba5=_0xcfb0d4;return{'commentThreadId':_0x3c6eee,'commentId':_0x1cfb80[_0x392ba5(0x16c)],'userId':_0x1cfb80[_0x392ba5(0x145)],'content':_0x1cfb80[_0x392ba5(0x167)],'documentId':_0x489b4e,'createdAt':_0x1cfb80[_0x392ba5(0x174)],'attributes':_0x1cfb80[_0x392ba5(0x12c)]||{}};}(_0x58837b,_0x122674,_0x556527)),'resolvedAt':_0x258c10,'resolvedBy':_0x267940,'context':_0xb451d1,'attributes':_0x53acfd})[_0xcfb0d4(0x14d)](w);return{'threadId':_0x554e32[_0xcfb0d4(0x126)],'comments':_0x554e32[_0xcfb0d4(0x146)]};},'getCommentThread':async({channelId:_0x244a9c,threadId:_0x27cf7b})=>{const _0x4a60db=_0x5ddc1c,_0x319069=await this[_0x4a60db(0x16d)](_0x244a9c)[_0x4a60db(0x175)](_0x27cf7b)[_0x4a60db(0x14d)](w);return _0x319069[_0x4a60db(0x135)]?null:(await this[_0x4a60db(0x14e)]([_0x319069]),{'threadId':_0x319069[_0x4a60db(0x126)],'comments':_0x319069[_0x4a60db(0x146)][_0x4a60db(0x17c)](b),'context':_0x319069[_0x4a60db(0x140)],'resolvedAt':_0x319069[_0x4a60db(0x15d)],'resolvedBy':_0x319069[_0x4a60db(0x134)],'attributes':_0x319069[_0x4a60db(0x12c)]||{}});},'updateCommentThread':async({channelId:_0x8f0e52,threadId:_0x40f2b8,context:_0x3856e0,unlinkedAt:_0x36ffe2,attributes:_0x36b255})=>this[_0x5ddc1c(0x16d)](_0x8f0e52)[_0x5ddc1c(0x124)]({'commentThreadId':_0x40f2b8,'context':_0x3856e0,'attributes':_0x36b255,'unlinkedAt':_0x36ffe2})[_0x5ddc1c(0x14d)](y)[_0x5ddc1c(0x14d)](w),'resolveCommentThread':async({channelId:_0x1b5a48,threadId:_0x2cae93})=>{const _0x58f51c=_0x5ddc1c,_0x190271=await this[_0x58f51c(0x16d)](_0x1b5a48)[_0x58f51c(0x130)](_0x2cae93)[_0x58f51c(0x14d)](y)[_0x58f51c(0x14d)](w);return{'threadId':_0x190271[_0x58f51c(0x126)],'resolvedAt':_0x190271[_0x58f51c(0x15d)],'resolvedBy':_0x190271[_0x58f51c(0x134)]};},'reopenCommentThread':async({channelId:_0x453b5e,threadId:_0x469f9b})=>this[_0x5ddc1c(0x16d)](_0x453b5e)[_0x5ddc1c(0x141)](_0x469f9b)[_0x5ddc1c(0x14d)](y)[_0x5ddc1c(0x14d)](w),'removeCommentThread':({channelId:_0x790412,threadId:_0x52870c})=>this[_0x5ddc1c(0x16d)](_0x790412)[_0x5ddc1c(0x12e)](_0x52870c)[_0x5ddc1c(0x14d)](y)[_0x5ddc1c(0x14d)](w),'addComment':({channelId:_0x1579ea,threadId:_0x5a7ea3,commentId:_0x123c4c,content:_0xd7e7ae,attributes:_0x13e576})=>this[_0x5ddc1c(0x16d)](_0x1579ea)[_0x5ddc1c(0x152)](_0x5a7ea3,_0x123c4c,_0xd7e7ae,_0x13e576)[_0x5ddc1c(0x14d)](w),'updateComment':({channelId:_0x5c2d65,threadId:_0x550f2a,commentId:_0x1e1e34,content:_0x28ae29,attributes:_0x3e7a13})=>this[_0x5ddc1c(0x16d)](_0x5c2d65)[_0x5ddc1c(0x171)](_0x550f2a,_0x1e1e34,_0x28ae29,_0x3e7a13)[_0x5ddc1c(0x14d)](y)[_0x5ddc1c(0x14d)](w),'removeComment':({channelId:_0x38629e,threadId:_0x59870f,commentId:_0x409ab3})=>this[_0x5ddc1c(0x16d)](_0x38629e)[_0x5ddc1c(0x143)](_0x59870f,_0x409ab3)[_0x5ddc1c(0x14d)](y)[_0x5ddc1c(0x14d)](w)},_0x178632 instanceof _0x40123f){const _0x483fb0=_0x178632[_0x5ddc1c(0x137)][_0x5ddc1c(0x123)](_0x5ddc1c(0x16f)),_0x1fffce=_0x178632[_0x5ddc1c(0x148)][_0x5ddc1c(0x123)](_0x480878);await this[_0x5ddc1c(0x151)](_0x483fb0);const _0x3f3b8e=await this[_0x5ddc1c(0x162)][_0x5ddc1c(0x123)](_0x483fb0)[_0x5ddc1c(0x15c)]();this[_0x5ddc1c(0x153)](_0x1fffce,_0x5ddc1c(0x131)+_0x483fb0,(_0x23d646,{session:_0x70d89e})=>{const _0x28db08=_0x5ddc1c;_0x70d89e['id']===_0x1fffce[_0x28db08(0x156)]&&(_0x23d646[_0x28db08(0x166)](),this[_0x28db08(0x140)][_0x28db08(0x148)][_0x28db08(0x123)](_0x28db08(0x132))[_0x28db08(0x160)](_0x70d89e[_0x28db08(0x159)],_0x483fb0));}),_0x1fffce[_0x5ddc1c(0x176)](_0x483fb0,_0x3f3b8e);}}async[_0x1a4c14(0x151)](_0x2b03f3){const _0x863ff=_0x1a4c14;if(this[_0x863ff(0x162)][_0x863ff(0x127)](_0x2b03f3))throw new _0x2e1200(_0x863ff(0x17e),null,{'channelId':_0x2b03f3});const _0x2e6356=this[_0x863ff(0x140)][_0x863ff(0x148)][_0x863ff(0x123)](_0x863ff(0x144)),_0x1d71be=new a[(_0x863ff(0x12d))](_0x2b03f3);this[_0x863ff(0x162)][_0x863ff(0x138)](_0x2b03f3,_0x1d71be),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x13d),(_0x54a8b3,_0x3a635a)=>{const _0x5a7d61=_0x863ff,{commentThreadId:_0x37bbec,documentId:_0x25831e,context:_0x1c399e,attributes:_0x1ed67a,resolvedAt:_0x119bd9,resolvedBy:_0x26448d,comments:_0x20e849}=_0x3a635a;_0x2e6356[_0x5a7d61(0x175)](_0x37bbec)||_0x2e6356[_0x5a7d61(0x158)]({'threadId':_0x37bbec,'channelId':_0x25831e,'comments':_0x20e849?_0x20e849[_0x5a7d61(0x17c)](b):[],'context':_0x1c399e,'attributes':_0x1ed67a,'resolvedAt':_0x119bd9,'resolvedBy':_0x26448d,'isFromAdapter':!0x0});}),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x13e),(_0x3b300d,{commentThreadId:_0x4f376c,documentId:_0x53a8b7,context:_0x45a5c0,unlinkedAt:_0x16160a,attributes:_0x33a84d})=>{const _0x4b2c7b=_0x863ff;_0x2e6356[_0x4b2c7b(0x175)](_0x4f376c)&&_0x2e6356[_0x4b2c7b(0x124)]({'threadId':_0x4f376c,'channelId':_0x53a8b7,'context':_0x45a5c0,'unlinkedAt':_0x16160a,'attributes':_0x33a84d,'isFromAdapter':!0x0});}),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x125),(_0xb74170,{commentThreadId:_0x2adfed,resolvedBy:_0x541ffe,resolvedAt:_0x1cc74b})=>{const _0x5e95f9=_0x863ff,_0x3b52d4=_0x2e6356[_0x5e95f9(0x175)](_0x2adfed);_0x3b52d4&&_0x3b52d4[_0x5e95f9(0x11f)]({'resolvedBy':_0x541ffe,'resolvedAt':_0x1cc74b,'isFromAdapter':!0x0});}),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x173),(_0x539ecb,{commentThreadId:_0x1dfcb4})=>{const _0xa15b9a=_0x863ff,_0x580c6c=_0x2e6356[_0xa15b9a(0x175)](_0x1dfcb4);_0x580c6c&&_0x580c6c[_0xa15b9a(0x129)]({'isFromAdapter':!0x0});}),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x15b),(_0x50fadc,{commentThreadId:_0x5638ef})=>{const _0x37d6ec=_0x863ff,_0x378713=_0x2e6356[_0x37d6ec(0x175)](_0x5638ef);_0x378713&&_0x378713[_0x37d6ec(0x13f)]({'isFromAdapter':!0x0});}),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x179),(_0x3d3c45,_0x4a4214)=>{const _0xcae208=_0x863ff,_0x51d481=_0x4a4214[_0xcae208(0x126)],_0xcdb26c=_0x2e6356[_0xcae208(0x175)](_0x51d481);_0xcdb26c&&_0xcdb26c[_0xcae208(0x152)]({...b(_0x4a4214),'isFromAdapter':!0x0});}),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x15a),(_0x4e8599,{commentThreadId:_0x31cd47,commentId:_0x2c39c8,content:_0x1285b7,attributes:_0x2c5f44})=>{const _0x331a2a=_0x863ff,_0x506c76=_0x2e6356[_0x331a2a(0x175)](_0x31cd47);if(_0x506c76){const _0x12a665=_0x506c76[_0x331a2a(0x13b)](_0x2c39c8);_0x12a665&&_0x12a665[_0x331a2a(0x136)]({'content':_0x1285b7,'attributes':_0x2c5f44,'isFromAdapter':!0x0});}}),this[_0x863ff(0x153)](_0x1d71be,_0x863ff(0x12f),(_0x3e34ff,{commentThreadId:_0x2c7f22,commentId:_0xa10e3})=>{const _0x3a2516=_0x863ff,_0x4b536c=_0x2e6356[_0x3a2516(0x175)](_0x2c7f22);if(_0x4b536c){const _0x4e2cc3=_0x4b536c[_0x3a2516(0x13b)](_0xa10e3);_0x4e2cc3&&_0x4e2cc3[_0x3a2516(0x13f)]({'isFromAdapter':!0x0});}}),await this[_0x863ff(0x122)](_0x2b03f3);}[_0x1a4c14(0x14a)](){const _0x4920f3=_0x1a4c14;if(this[_0x4920f3(0x140)]instanceof _0x40123f){const _0x417a12=this[_0x4920f3(0x140)][_0x4920f3(0x137)][_0x4920f3(0x123)](_0x4920f3(0x16f));this[_0x4920f3(0x181)](_0x417a12);}}[_0x1a4c14(0x181)](_0x3a99fe){const _0x5d84b3=_0x1a4c14;if(!this[_0x5d84b3(0x162)][_0x5d84b3(0x127)](_0x3a99fe))throw new _0x2e1200(_0x5d84b3(0x157),null,{'channelId':_0x3a99fe});this[_0x5d84b3(0x16d)](_0x3a99fe)[_0x5d84b3(0x14c)](),this[_0x5d84b3(0x162)][_0x5d84b3(0x147)](_0x3a99fe);}async[_0x1a4c14(0x15f)](){const _0x520218=_0x1a4c14;for(const _0x145267 of this[_0x520218(0x162)][_0x520218(0x164)]())await this[_0x520218(0x122)](_0x145267);if(this[_0x520218(0x140)]instanceof _0x40123f){const _0x456ff6=this[_0x520218(0x140)][_0x520218(0x137)][_0x520218(0x123)](_0x520218(0x16f)),_0x3d4efa=this[_0x520218(0x140)][_0x520218(0x148)][_0x520218(0x123)](_0x480878);_0x3d4efa[_0x520218(0x163)](_0x456ff6);const _0xa389f7=await this[_0x520218(0x162)][_0x520218(0x123)](_0x456ff6)[_0x520218(0x15c)]();_0x3d4efa[_0x520218(0x176)](_0x456ff6,_0xa389f7);}}async[_0x1a4c14(0x122)](_0x55b6a9){const _0x341898=_0x1a4c14,{connection:_0x562c45}=this[_0x341898(0x140)][_0x341898(0x148)][_0x341898(0x123)](_0xfc0eb8),_0x5bdd7e=this[_0x341898(0x140)][_0x341898(0x148)][_0x341898(0x123)](_0x341898(0x144)),_0x28647e=this[_0x341898(0x162)][_0x341898(0x123)](_0x55b6a9),_0x2644b3=await _0x28647e[_0x341898(0x128)](_0x562c45);await this[_0x341898(0x14e)](_0x2644b3);const _0x10cdc6=new Set(Array[_0x341898(0x172)](_0x5bdd7e[_0x341898(0x12b)]({'channelId':_0x55b6a9}),_0x234736=>_0x234736['id']));for(const _0x3e6a92 of _0x2644b3)_0x3e6a92[_0x341898(0x135)]||_0x10cdc6[_0x341898(0x147)](_0x3e6a92[_0x341898(0x126)]);for(const _0x23e1f8 of _0x10cdc6)_0x5bdd7e[_0x341898(0x175)](_0x23e1f8)[_0x341898(0x13f)]({'isFromAdapter':!0x0});for(const _0xd11acd of _0x2644b3){let _0x3e31d7=_0x5bdd7e[_0x341898(0x175)](_0xd11acd[_0x341898(0x126)]);const {commentThreadId:_0xd74afc,context:_0x526058,attributes:_0x4fd289,resolvedBy:_0x2ab7e1,resolvedAt:_0x390d0e,unlinkedAt:_0x13d159,deletedAt:_0xd37de4}=_0xd11acd;if(_0xd37de4)continue;_0x3e31d7||(_0x3e31d7=_0x5bdd7e[_0x341898(0x158)]({'channelId':_0x55b6a9,'threadId':_0xd74afc,'context':_0x526058,'attributes':_0x4fd289||{},'resolvedBy':_0x2ab7e1,'resolvedAt':_0x390d0e,'unlinkedAt':_0x13d159,'isFromAdapter':!0x0}));const _0x571fd7=new Set(Array[_0x341898(0x172)](_0x3e31d7[_0x341898(0x146)],_0x38f478=>_0x38f478['id']));for(const _0x36c45c of _0xd11acd[_0x341898(0x146)])_0x571fd7[_0x341898(0x147)](_0x36c45c[_0x341898(0x16c)]);for(const _0x263bed of _0x571fd7)_0x3e31d7[_0x341898(0x13b)](_0x263bed)[_0x341898(0x13f)]({'isFromAdapter':!0x0});for(const _0x529452 of _0xd11acd[_0x341898(0x146)]){const _0x219d65=_0x3e31d7[_0x341898(0x13b)](_0x529452[_0x341898(0x16c)]);_0x219d65?_0x219d65[_0x341898(0x167)]!==_0x529452[_0x341898(0x167)]&&_0x219d65[_0x341898(0x136)]({'content':_0x529452[_0x341898(0x167)],'isFromAdapter':!0x0}):_0x3e31d7[_0x341898(0x152)](Object[_0x341898(0x155)](b(_0x529452),{'isFromAdapter':!0x0}));}}}[_0x1a4c14(0x16d)](_0x234d17){const _0x2c8b24=_0x1a4c14;if(!this[_0x2c8b24(0x162)][_0x2c8b24(0x127)](_0x234d17))throw new _0x2e1200(_0x2c8b24(0x13c),null,{'channelId':_0x234d17});return this[_0x2c8b24(0x162)][_0x2c8b24(0x123)](_0x234d17);}async[_0x1a4c14(0x14e)](_0x4fcb85){const _0x135d34=_0x1a4c14,_0x532e50=this[_0x135d34(0x140)][_0x135d34(0x148)][_0x135d34(0x123)](_0x15a931),{connection:_0x11bd85}=this[_0x135d34(0x140)][_0x135d34(0x148)][_0x135d34(0x123)](_0xfc0eb8),_0x66a52e=new Set();for(const {resolvedBy:_0x4738eb,comments:_0xd5b1fb}of _0x4fcb85){_0x4738eb&&!_0x532e50[_0x135d34(0x150)](_0x4738eb)&&_0x66a52e[_0x135d34(0x154)](_0x4738eb);for(const {userId:_0x5be3b5}of _0xd5b1fb)_0x532e50[_0x135d34(0x150)](_0x5be3b5)||_0x66a52e[_0x135d34(0x154)](_0x5be3b5);}if(0x0===_0x66a52e[_0x135d34(0x142)])return;const _0x25f129=await _0x339dc3[_0x135d34(0x16a)](_0x11bd85,Array[_0x135d34(0x172)](_0x66a52e));for(const _0x2cd75d of _0x25f129)_0x532e50[_0x135d34(0x150)](_0x2cd75d['id'])||_0x532e50[_0x135d34(0x178)](_0x2cd75d);}}a[_0x1a4c14(0x12d)]=_0x4952fa;export default a;async function y(_0x147a11){const _0x30a194=_0x1a4c14;if(_0x30a194(0x15e)!==_0x147a11[_0x30a194(0x165)])throw _0x147a11;}function w(_0x4ea0e8){const _0x3fff5e=_0x1a4c14;if((_0x276e48=_0x4ea0e8)[_0x3fff5e(0x177)][_0x3fff5e(0x182)](_0x3fff5e(0x161))||_0x276e48[_0x3fff5e(0x177)][_0x3fff5e(0x182)](_0x3fff5e(0x184))||_0x276e48[_0x3fff5e(0x177)][_0x3fff5e(0x182)](_0x3fff5e(0x17f)))return new Promise(()=>{});var _0x276e48;throw _0x4ea0e8;}function _0x319b(_0x36d0cf,_0x83efe9){const _0xbc4712=_0xbc47();return _0x319b=function(_0x319bad,_0x35489f){_0x319bad=_0x319bad-0x11f;let _0x4a71e6=_0xbc4712[_0x319bad];return _0x4a71e6;},_0x319b(_0x36d0cf,_0x83efe9);}function b(_0x156133){const _0x4f8be8=_0x1a4c14;return{'threadId':_0x156133[_0x4f8be8(0x126)],'commentId':_0x156133[_0x4f8be8(0x16c)],'content':_0x156133[_0x4f8be8(0x167)],'createdAt':_0x156133[_0x4f8be8(0x174)],'authorId':_0x156133[_0x4f8be8(0x168)],'attributes':_0x156133[_0x4f8be8(0x12c)]||{}};}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module real-time-collaboration/realtimecollaborativecomments
7
+ * @publicApi
8
+ */
9
+ import { Plugin } from 'ckeditor5/src/core.js';
10
+ import CloudServicesCommentsAdapter from './realtimecollaborativecomments/cloudservicescommentsadapter.js';
11
+ import RealTimeCollaborativeEditing from './realtimecollaborativeediting.js';
12
+ import WebSocketGateway from './realtimecollaborativeediting/websocketgateway.js';
13
+ /**
14
+ * Enables the real-time collaborative comments feature.
15
+ *
16
+ * Check the {@glink features/collaboration/real-time-collaboration/real-time-collaboration-integration Real-time collaboration guide}
17
+ * to see how to launch the editor in the real-time collaboration mode.
18
+ */
19
+ export default class RealTimeCollaborativeComments extends Plugin {
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ static get requires(): readonly ["Comments", typeof CloudServicesCommentsAdapter, typeof RealTimeCollaborativeEditing, typeof WebSocketGateway];
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get pluginName(): "RealTimeCollaborativeComments";
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get isOfficialPlugin(): true;
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get isPremiumPlugin(): true;
36
+ /**
37
+ * @inheritDoc
38
+ */
39
+ init(): Promise<void>;
40
+ /**
41
+ * @inheritDoc
42
+ */
43
+ destroy(): void;
44
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x2ebe49=_0x321d;(function(_0x27402b,_0xa53431){const _0x2b9e50=_0x321d,_0x15fe6b=_0x27402b();while(!![]){try{const _0x56bd6b=-parseInt(_0x2b9e50(0xfd))/0x1*(parseInt(_0x2b9e50(0xff))/0x2)+-parseInt(_0x2b9e50(0xf0))/0x3+-parseInt(_0x2b9e50(0xf1))/0x4+-parseInt(_0x2b9e50(0x104))/0x5+parseInt(_0x2b9e50(0x108))/0x6*(parseInt(_0x2b9e50(0xf5))/0x7)+parseInt(_0x2b9e50(0xf6))/0x8+parseInt(_0x2b9e50(0xfa))/0x9;if(_0x56bd6b===_0xa53431)break;else _0x15fe6b['push'](_0x15fe6b['shift']());}catch(_0x5add22){_0x15fe6b['push'](_0x15fe6b['shift']());}}}(_0x10b0,0x2768f));import{Plugin as _0xfe8b73}from'ckeditor5/src/core.js';function _0x321d(_0xca7033,_0x4b3104){const _0x10b029=_0x10b0();return _0x321d=function(_0x321ddb,_0x132975){_0x321ddb=_0x321ddb-0xf0;let _0x552a9a=_0x10b029[_0x321ddb];return _0x552a9a;},_0x321d(_0xca7033,_0x4b3104);}import _0x3b8d6c from'./realtimecollaborativecomments/cloudservicescommentsadapter.js';function _0x10b0(){const _0x477d2a=['isOfficialPlugin','destroy','CommentsEditing','1197yRuZrh','1786256bEXnao','plugins','ready','change:state','2769327hFobyz','_terminateService','isThreadsLoadingPaused','704DDAJgS','config','296NFczHZ','CommentsRepository','RealTimeCollaborativeComments','init','switchReadOnly','799715OhCTYo','isPremiumPlugin','requires','editor','3714BZMxyy','data','listenTo','pluginName','_setUpService','get','once','collaboration.channelId','connected','Comments','632799UqAsFa','1372LnXwKR'];_0x10b0=function(){return _0x477d2a;};return _0x10b0();}import _0x2055d3 from'./realtimecollaborativeediting.js';import _0x4a94d0 from'./realtimecollaborativeediting/websocketgateway.js';export default class m extends _0xfe8b73{static get[_0x2ebe49(0x106)](){const _0x2c4ac9=_0x2ebe49;return[_0x2c4ac9(0x111),_0x3b8d6c,_0x2055d3,_0x4a94d0];}static get[_0x2ebe49(0x10b)](){const _0x2e1578=_0x2ebe49;return _0x2e1578(0x101);}static get[_0x2ebe49(0xf2)](){return!0x0;}static get[_0x2ebe49(0x105)](){return!0x0;}[_0x2ebe49(0x102)](){const _0x237ff0=_0x2ebe49,_0xc44216=this[_0x237ff0(0x107)][_0x237ff0(0xf7)][_0x237ff0(0x10d)](_0x4a94d0),_0x5ee98f=this[_0x237ff0(0x107)][_0x237ff0(0xf7)][_0x237ff0(0x10d)](_0x237ff0(0xf4)),_0x332acc=this[_0x237ff0(0x107)][_0x237ff0(0xf7)][_0x237ff0(0x10d)](_0x3b8d6c);return this[_0x237ff0(0x107)][_0x237ff0(0x109)][_0x237ff0(0x10e)](_0x237ff0(0xf8),()=>{const _0x2fe266=_0x237ff0;this[_0x2fe266(0x10a)](_0xc44216,_0x2fe266(0xf9),(_0x5e1d39,_0x4b16e3,_0xd7fde4)=>{const _0x2c2ff9=_0x2fe266;_0x5ee98f[_0x2c2ff9(0xfc)]=_0x2c2ff9(0x110)!==_0xd7fde4;});}),this[_0x237ff0(0x10a)](_0xc44216,_0x237ff0(0xf9),(_0x4b361a,_0x24e553,_0x2755fd)=>{const _0x46e7d2=_0x237ff0;this[_0x46e7d2(0x107)][_0x46e7d2(0xf7)][_0x46e7d2(0x10d)](_0x46e7d2(0x100))[_0x46e7d2(0x103)](_0x46e7d2(0x110)!==_0x2755fd);}),_0x332acc[_0x237ff0(0x10c)](this[_0x237ff0(0x107)][_0x237ff0(0xfe)][_0x237ff0(0x10d)](_0x237ff0(0x10f)));}[_0x2ebe49(0xf3)](){const _0x9bc271=_0x2ebe49;this[_0x9bc271(0x107)][_0x9bc271(0xf7)][_0x9bc271(0x10d)](_0x3b8d6c)[_0x9bc271(0xfb)](this[_0x9bc271(0x107)][_0x9bc271(0xfe)][_0x9bc271(0x10d)](_0x9bc271(0x10f))),super[_0x9bc271(0xf3)]();}}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module real-time-collaboration/realtimecollaborativeediting/realtimecollaborationclient
7
+ * @publicApi
8
+ */
9
+ import { Plugin, PendingActions, type Editor } from 'ckeditor5/src/core.js';
10
+ import { Notification } from 'ckeditor5/src/ui.js';
11
+ import WebSocketGateway from './websocketgateway.js';
12
+ import Sessions from './sessions.js';
13
+ import UserMarkers from './usermarkers.js';
14
+ import { Users, type CollaborationHistory } from 'ckeditor5-collaboration/src/collaboration-core.js';
15
+ import { CollaborativeEditingService } from '@ckeditor/ckeditor-cloud-services-collaboration/src/services.js';
16
+ /**
17
+ * Handles the real-time collaborative editing.
18
+ */
19
+ export default class RealTimeCollaborationClient extends Plugin {
20
+ static CollaborativeEditingService: typeof CollaborativeEditingService;
21
+ /**
22
+ * The ID of the current editing session to which the client is connected (or was connected before losing the connection).
23
+ */
24
+ sessionId: string | null;
25
+ /**
26
+ * Holds the history of operations that have been applied on the collaboration server.
27
+ *
28
+ * Contains only these operations, that have been already synchronized. It is exactly the same for all clients
29
+ * connected to the same editing session.
30
+ *
31
+ * All original operations are cloned.
32
+ */
33
+ serverHistory: CollaborationHistory;
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get requires(): readonly [typeof WebSocketGateway, typeof Sessions, typeof UserMarkers, typeof PendingActions, typeof Users, typeof Notification];
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ static get pluginName(): "RealTimeCollaborationClient";
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ static get isOfficialPlugin(): true;
46
+ /**
47
+ * @inheritDoc
48
+ */
49
+ static get isPremiumPlugin(): true;
50
+ /**
51
+ * Incremented every time the document is synchronized with Cloud Services server. It can be treated as the server's current document
52
+ * version. This number is stored between editing sessions, so even when all clients disconnect, the editing session is closed, the
53
+ * next time the document is initialized, the version number will stay the same and will continue to be incremented with
54
+ * subsequent document changes.
55
+ *
56
+ * Use this version to compare which client has a newer version of the document. It is recommended to save it together with the
57
+ * document content in the database. Comparing `cloudDocumentVersion` can be used to prevent overwriting a newer content with
58
+ * an older one from another client.
59
+ */
60
+ get cloudDocumentVersion(): number;
61
+ /**
62
+ * The last document version synchronized with the server during current real-time collaboration session.
63
+ *
64
+ * Equals to `0` when the client is not connected to the server yet.
65
+ *
66
+ * This includes only operations created by this or other clients. Notably, user selection markers operations created by
67
+ * the server are excluded.
68
+ */
69
+ get lastSyncVersion(): number;
70
+ constructor(editor: Editor);
71
+ /**
72
+ * @inheritDoc
73
+ */
74
+ init(): void;
75
+ /**
76
+ * Reconnects the client to the document.
77
+ *
78
+ * If the document has been flushed (editing session for that document was closed) in the meantime, the editing session is recreated
79
+ * using the local operations history.
80
+ *
81
+ * There are several scenarios where the reconnection can fail because it is impossible to synchronize local document state with the
82
+ * server editing session or with the document state saved in the database. In those situations, the editor switches to read-only
83
+ * mode and a {@link module:ui/notification/notification~Notification `Notification`} is created.
84
+ */
85
+ reconnect(): Promise<void>;
86
+ /**
87
+ * @inheritDoc
88
+ */
89
+ destroy(): void;
90
+ /**
91
+ * Handles the server response after the reconnection.
92
+ */
93
+ private _handleReconnectionResponse;
94
+ /**
95
+ * Connects the client to the editing session.
96
+ *
97
+ * If this client is the first one that tries connecting to the session, the session will be created based on its
98
+ * local operations. Otherwise, the server will respond with server operations that are already stored on the server for the
99
+ * existing session and those operations will replace this client's editor content.
100
+ *
101
+ * @param isReconnectionProcess Set to `true` when reconnecting to the document after the document has been flushed.
102
+ */
103
+ private _connectService;
104
+ /**
105
+ * Handles operations received from the server. Callback for the `CollaborativeEditingService#event:operationsReceived`.
106
+ */
107
+ private _handleReceivedOperations;
108
+ /**
109
+ * Connects the client to the editing session after it has been flushed. The client will use the local operations history to re-create
110
+ * the editing session on the server.
111
+ */
112
+ private _connectAfterSessionHasBeenFlushed;
113
+ /**
114
+ * Fetches missing users based on author IDs of the given operations.
115
+ */
116
+ private _fetchMissingUsers;
117
+ /**
118
+ * Performs root loading in a way that is safe for real-time collaboration. Synchronizes with the server and use the local data only
119
+ * if the given root has not been loaded on any other client yet. Returns a promise which resolves after the root is ready.
120
+ *
121
+ * It transforms given data and root attributes into operations and tries to send them to the server. The operations are sent in
122
+ * a regular way. The root is ready after they are finally applied on the server.
123
+ *
124
+ * @private
125
+ */
126
+ private _loadRoot;
127
+ /**
128
+ * Handles the initial connection.
129
+ */
130
+ private _handleInitialConnectionData;
131
+ private _sendBufferedOperations;
132
+ /**
133
+ * Handles a response from the server for the following actions:
134
+ * - connection
135
+ * - reconnection
136
+ * - sending buffered operations.
137
+ *
138
+ * @param sentOperations Operations sent to the server.
139
+ * @param response The server's response.
140
+ * @param requestId
141
+ * @returns Resolves to `true` if the updates process has finished,
142
+ * resolves to `false` if next batch of updates was sent to the server.
143
+ */
144
+ private _handleServerResponse;
145
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x30ce1e=_0x2d5c;(function(_0x202090,_0x3b1a91){const _0x1b41f0=_0x2d5c,_0x4090ed=_0x202090();while(!![]){try{const _0x4bd84c=-parseInt(_0x1b41f0(0xfe))/0x1+parseInt(_0x1b41f0(0x176))/0x2+-parseInt(_0x1b41f0(0x8c))/0x3*(-parseInt(_0x1b41f0(0x112))/0x4)+-parseInt(_0x1b41f0(0x17e))/0x5*(parseInt(_0x1b41f0(0x142))/0x6)+-parseInt(_0x1b41f0(0xb3))/0x7+-parseInt(_0x1b41f0(0x139))/0x8+parseInt(_0x1b41f0(0x105))/0x9;if(_0x4bd84c===_0x3b1a91)break;else _0x4090ed['push'](_0x4090ed['shift']());}catch(_0x36c561){_0x4090ed['push'](_0x4090ed['shift']());}}}(_0x686a,0xa23f4));import{Plugin as _0x53df16,PendingActions as _0x3586dd}from'ckeditor5/src/core.js';function _0x686a(){const _0x50dcdd=['__className','high','_sendBufferedOperations','marker','$root','realtimecollaborationclient-init-connection-failed','isReadOnly','set','_isInit','view','affectedSelectable','cs:removeUser','fromJSON','operationsReceived','_fetchMissingUsers','metadata','markers','position','_isAttached','_clearPendingAction','rtc-destroyed','change:_isPendingUpdate','realtimecollaborationclient-initservice-incorrect-server-operation','editing','add','_isLoaded','disconnected','_getOperationsFromInitData','change:range','newRange','roots','2664896kKpPzs','showWarning','define','reconnection:\x20flushed\x20session','collaboration','connection','get','stop','root','12ksjwLm','state','multi-root-editor-root-attributes-no-root','_shouldSendSelectionUpdate','Permissions','batch','rootsAttributes','type','cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.','realtimecollaborationclient-init-document-already-initialized','wasUndone','stopListening','cloud-services-internal-error:\x20Not\x20connected.','RealTimeCollaborationClient','isDocumentOperation','remove','targetPosition','lastOperationAcceptedAt','_ignoredOperations','document','map','rootName','getMany','_isEditingAllowed','_compressOperations','_operationToId','real-time-collaboration','addUser','lastOperationId','_hasSynchronizationProblem','_handleReconnectionError','reconnect','entries','history','addRoot','disableReadOnlyMode','addToReconnectionStack','plugins','insert','connected','_decompressOperations','pluginName','getDocumentDetails','_setPendingAction','return','realtimecollaborationclient-init-non-existent-root','createPositionAt','enqueueChange','config','fire','realtimecollaborationclient-handleserverresponse','enableReadOnlyMode','1275600pDcwrD','mySessionId','size','change:hasDomSelection','version','_initThrowingOnDataSet','createUserMarkerOperations','end','2725795uEfkeE','_knownOperations','_bufferedOperations','getConnectedSessions','_handleSendingSelectionMarkers','_refreshUserSelectionMarkers','includes','createRange','clone','sessionId','editor','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.','requires','404','collaboration-missing-channelid','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.','_lastServerVersion','2648337mDKSxA','_offset','sessionAdd:','keys','path','getUser','start','_setUpDataInit','startsWith','_document','forEach','permissions','realtimecollaborationclient-sendbufferedoperations','_loadRoot','initData','length','_bufferRootLoad','_handleExternalOperations','isEnabled','PENDING_ACTION_SENDING_DATA','_knownRootNames','_channelId','serverHistory','getIdOfTheLastOperation','change:_isEditingAllowed','applyOperation','sendOperations','ready','realtimecollaborationclient-initservice-internal-error','Synchronization\x20issue','locale','toJSON','slice','_hasSelectionChanged','bind','suppressErrorInCollaboration','wereChangesApplied','decompress','_isDisconnection','9118823KemMOV','connect','lastSyncVersion','init','differ','off','_compressor','_disconnectService','lastDocumentSession','sessionCreatedAt','listenTo','_currentBufferDelay','_saveOperationInBuffer','realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration','push','reset','_service','getRoot','realtimecollaborationclient-init-session-connection-error','getOperationAuthor','_crash','_connectService','_lastSyncedOperationId','collaboration.channelId','cloudServices.bundleVersion','CollaborativeEditingService','destroy','model','_applyOperationsSet','data','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.','setPermissions','from','register','finally','setIdForTheLastOperation','_getAffectedRoot','_isPendingUpdate','isPremiumPlugin','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.','CommentsOnly','_pendingAction','error','_isConnected','_shouldSendUpdate','offset','cloud-services-internal-error:\x20Request\x20timeout.','addOperation','cloudDocumentVersion','rtc-offline','_disconnectionOperations','filter','_authorId','_sendBufferedOperationsDelayed','apply','createPositionFromPath','createdAt','_updateServerHistory','compress','removeFromReconnectionStack','currentDocumentSession','attributes','loadRoot','_baseBufferDelay','_handleServerResponse','then','baseVersion','_sendBufferedOperationsDelayId','move','_handleReceivedOperations','userId','code','_addKnownRoot','getOperations','round','1133487EFUnbE','channelSessions','_waitUntilSynced','selection','unregister','409','message','27032319UJUldS','document:write','_operationIdentifier','_connectAfterSessionHasBeenFlushed','catch','createRoot','isUndoneOperation','string','directChange','Notification','isOfficialPlugin','affectsData','_initSessionsHandling','4BJukjj','parse','InsertOperation','_handleInitialConnectionData','disconnect','_handleReconnectionResponse','has','addRootAttribute'];_0x686a=function(){return _0x50dcdd;};return _0x686a();}import{CKEditorError as _0x1f8f3e,version as _0x495c47,uid as _0x1bb004}from'ckeditor5/src/utils.js';import{Notification as _0x53de8f}from'ckeditor5/src/ui.js';import{transformSets as _0x4c862e,NoOperation as _0x41cf93,InsertOperation as _0x4ad03e,MarkerOperation as _0x529fac,RootAttributeOperation as _0x5b347f,OperationFactory as _0x287a5a,History as _0x342c0f}from'ckeditor5/src/engine.js';import _0x4c74ab from'./websocketgateway.js';import _0x1fe044 from'./sessions.js';import _0x398bc4 from'./usermarkers.js';import{getTranslation as _0x597df8}from'../common-translations.js';function _0x2d5c(_0xc3c9e,_0x2766c1){const _0x686ab6=_0x686a();return _0x2d5c=function(_0x2d5cfb,_0x1c59ad){_0x2d5cfb=_0x2d5cfb-0x8b;let _0x3d63d7=_0x686ab6[_0x2d5cfb];return _0x3d63d7;},_0x2d5c(_0xc3c9e,_0x2766c1);}import{Compressor as _0x5de614}from'@ckeditor/ckeditor5-operations-compressor';import{Users as _0x2270f4}from'ckeditor5-collaboration/src/collaboration-core.js';import{User as _0x5678ab,CollaborativeEditingService as _0x2d7d2b}from'@ckeditor/ckeditor-cloud-services-collaboration/src/services.js';let K=0x1;class l extends _0x53df16{static get[_0x30ce1e(0x18a)](){return[_0x4c74ab,_0x1fe044,_0x398bc4,_0x3586dd,_0x2270f4,_0x53de8f];}static get[_0x30ce1e(0x16b)](){const _0x292725=_0x30ce1e;return _0x292725(0x14f);}static get[_0x30ce1e(0x10f)](){return!0x0;}static get[_0x30ce1e(0xd9)](){return!0x0;}get[_0x30ce1e(0xe3)](){const _0x2ad451=_0x30ce1e;return this[_0x2ad451(0x8b)]+this[_0x2ad451(0x8d)];}get[_0x30ce1e(0x8b)](){const _0x203b87=_0x30ce1e;return this[_0x203b87(0xa2)][_0x203b87(0x17a)]-this[_0x203b87(0x8d)];}get[_0x30ce1e(0xb5)](){const _0x55ef35=_0x30ce1e,_0x42fb63=this[_0x55ef35(0xa2)][_0x55ef35(0xfc)]();for(let _0x1dcb8d=_0x42fb63[_0x55ef35(0x9b)]-0x1;_0x1dcb8d>=0x0;_0x1dcb8d--){const _0x2930b6=_0x42fb63[_0x1dcb8d];if(!this[_0x55ef35(0xe5)][_0x55ef35(0x118)](_0x2930b6))return _0x2930b6[_0x55ef35(0xf5)]+0x1-this[_0x55ef35(0x8d)];}return 0x0;}constructor(_0x1d28e8){const _0x25c9e6=_0x30ce1e;if(super(_0x1d28e8),this[_0x25c9e6(0x8d)]=0x0,this[_0x25c9e6(0x187)]=null,this[_0x25c9e6(0xa2)]=new _0x342c0f(),this[_0x25c9e6(0x188)][_0x25c9e6(0x172)][_0x25c9e6(0x13b)](_0x25c9e6(0x13d),{}),this[_0x25c9e6(0xa1)]=this[_0x25c9e6(0x188)][_0x25c9e6(0x172)][_0x25c9e6(0x13f)](_0x25c9e6(0xca)),!this[_0x25c9e6(0xa1)])throw new _0x1f8f3e(_0x25c9e6(0x18c),this);const _0x466adb=_0x1d28e8[_0x25c9e6(0x172)][_0x25c9e6(0x13f)](_0x25c9e6(0xcb))||_0x495c47;this[_0x25c9e6(0xc3)]=new l[(_0x25c9e6(0xcc))](_0x466adb,this[_0x25c9e6(0xa1)]),this[_0x25c9e6(0x95)]=this[_0x25c9e6(0x188)][_0x25c9e6(0xce)][_0x25c9e6(0x155)],this[_0x25c9e6(0xb9)]=new _0x5de614(),this[_0x25c9e6(0x180)]=[],this[_0x25c9e6(0x17f)]=new WeakSet(),this[_0x25c9e6(0xa0)]=new Set(),this[_0x25c9e6(0x121)](_0x25c9e6(0xd8),!0x1),this[_0x25c9e6(0x121)](_0x25c9e6(0x15f),!0x1),this[_0x25c9e6(0xdc)]=null,this[_0x25c9e6(0xad)]=!0x1,this[_0x25c9e6(0xf6)]=null,this[_0x25c9e6(0xf2)]=0x12c,this[_0x25c9e6(0xbe)]=this[_0x25c9e6(0xf2)],this[_0x25c9e6(0xc9)]=null,this[_0x25c9e6(0xe5)]=new WeakSet(),this[_0x25c9e6(0x107)]=new X(this[_0x25c9e6(0xe5)]);}[_0x30ce1e(0xb6)](){const _0x18d16c=_0x30ce1e,_0x1401d2=this[_0x18d16c(0x188)],_0x49140e=_0x1401d2[_0x18d16c(0x167)][_0x18d16c(0x13f)](_0x2270f4),_0x10daac=_0x1401d2[_0x18d16c(0x167)][_0x18d16c(0x13f)](_0x4c74ab);this[_0x18d16c(0xbd)](_0x49140e,_0x18d16c(0xc6),(_0x3cd358,_0x2776c5)=>{const _0x441e06=_0x18d16c,_0x221c19=_0x2776c5[0x0];_0x221c19[_0x441e06(0xe7)]&&(_0x3cd358[_0x441e06(0x16e)]=_0x49140e[_0x441e06(0x91)](_0x221c19[_0x441e06(0xe7)]),_0x3cd358[_0x441e06(0x140)]()),null===_0x221c19[_0x441e06(0xe7)]&&(_0x3cd358[_0x441e06(0x16e)]=null,_0x3cd358[_0x441e06(0x140)]());},{'priority':_0x18d16c(0x11b)}),this[_0x18d16c(0xbd)](_0x1401d2[_0x18d16c(0xce)][_0x18d16c(0x155)][_0x18d16c(0x101)],_0x18d16c(0x136),(_0x2962f4,_0x3b97d4)=>{const _0x50d96a=_0x18d16c;_0x3b97d4[_0x50d96a(0x10d)]&&this[_0x50d96a(0x183)]();}),this[_0x18d16c(0xbd)](_0x1401d2[_0x18d16c(0x131)][_0x18d16c(0x123)],_0x18d16c(0x179),()=>{const _0x2be219=_0x18d16c;this[_0x2be219(0x183)]();}),this[_0x18d16c(0x17b)](),_0x1401d2[_0x18d16c(0xce)]['on'](_0x18d16c(0xa5),(_0x410d73,_0x69672a)=>{const _0x2dc6e2=_0x18d16c,_0x80647f=_0x69672a[0x0];_0x80647f[_0x2dc6e2(0x150)]&&(this[_0x2dc6e2(0xbf)](_0x80647f),this[_0x2dc6e2(0xdf)]()&&this[_0x2dc6e2(0xe8)]());}),this[_0x18d16c(0x93)](),this[_0x18d16c(0xae)](_0x18d16c(0x159))['to'](_0x10daac,_0x18d16c(0x143),this,_0x18d16c(0x15f),(_0x473adc,_0x146af2)=>_0x18d16c(0x169)===_0x473adc&&!_0x146af2),this['on'](_0x18d16c(0xa4),()=>{const _0x40940d=_0x18d16c;this[_0x40940d(0x159)]?_0x1401d2[_0x40940d(0x165)](_0x40940d(0xe4)):_0x1401d2[_0x40940d(0x175)](_0x40940d(0xe4));}),this[_0x18d16c(0x159)]?_0x1401d2[_0x18d16c(0x165)](_0x18d16c(0xe4)):_0x1401d2[_0x18d16c(0x175)](_0x18d16c(0xe4)),this[_0x18d16c(0x121)](_0x18d16c(0xde),!0x1);}async[_0x30ce1e(0x161)](){const _0x14729e=_0x30ce1e,_0x3db19a=this[_0x14729e(0x188)][_0x14729e(0x167)][_0x14729e(0x13f)](_0x1fe044),_0x317018=this[_0x14729e(0x188)][_0x14729e(0x167)][_0x14729e(0x13f)](_0x4c74ab);try{this[_0x14729e(0xd8)]=!0x0,_0x3db19a[_0x14729e(0x102)](this[_0x14729e(0xa1)]);const _0x415ab6=await this[_0x14729e(0xc3)][_0x14729e(0x161)](_0x317018[_0x14729e(0x13e)],this[_0x14729e(0xb5)]);await this[_0x14729e(0x117)](_0x415ab6)&&(this[_0x14729e(0xd8)]=!0x1,this[_0x14729e(0x12d)]());const _0x90238d=await this[_0x14729e(0xc3)][_0x14729e(0x181)]();_0x3db19a[_0x14729e(0xd4)](this[_0x14729e(0xa1)],_0x90238d),this[_0x14729e(0x182)](),this[_0x14729e(0xde)]=!0x0;}catch(_0x2da330){if(function(_0x332f2f){const _0x5ef03e=_0x14729e;return _0x5ef03e(0x18b)===_0x332f2f[_0x5ef03e(0xfa)];}(_0x2da330)&&this[_0x14729e(0x187)])await this[_0x14729e(0x108)]();else{if(function(_0x1e6e4c){const _0x107dfd=_0x14729e;return _0x107dfd(0x103)===_0x1e6e4c[_0x107dfd(0xfa)];}(_0x2da330)){const _0x32d1e5=_0x597df8(this[_0x14729e(0x188)][_0x14729e(0xaa)],_0x14729e(0xda));this[_0x14729e(0x160)](_0x32d1e5);}else{if(!(_0x2da330 instanceof J))throw _0x2da330;this[_0x14729e(0x160)]();}}}}[_0x30ce1e(0xcd)](){const _0x1b6cf9=_0x30ce1e,_0x5dac94=this[_0x1b6cf9(0x188)][_0x1b6cf9(0x167)][_0x1b6cf9(0x13f)](_0x4c74ab),_0xb4a7f=this[_0x1b6cf9(0x188)][_0x1b6cf9(0x167)][_0x1b6cf9(0x13f)](_0x1fe044);this[_0x1b6cf9(0x188)][_0x1b6cf9(0x175)](_0x1b6cf9(0x12e)),_0xb4a7f[_0x1b6cf9(0xff)][_0x1b6cf9(0x118)](this[_0x1b6cf9(0xa1)])&&_0xb4a7f[_0x1b6cf9(0x102)](this[_0x1b6cf9(0xa1)]),_0x5dac94[_0x1b6cf9(0xee)](this),this[_0x1b6cf9(0xba)](),super[_0x1b6cf9(0xcd)]();}async[_0x30ce1e(0x117)](_0x511ba1){const _0x15f331=_0x30ce1e;if(this[_0x15f331(0x187)]!==_0x511ba1[_0x15f331(0x187)]&&this[_0x15f331(0xc9)]!==_0x511ba1[_0x15f331(0x15e)])throw new J();return this[_0x15f331(0x187)]=_0x511ba1[_0x15f331(0x187)],this[_0x15f331(0xf3)]([],{..._0x511ba1,'wereChangesApplied':!0x1,'data':_0x511ba1[_0x15f331(0xd0)]},_0x15f331(0x161));}async[_0x30ce1e(0xc8)](_0x49153d,_0x2d767f=!0x1){const _0x4b9a27=_0x30ce1e,{connection:_0x521578}=this[_0x4b9a27(0x188)][_0x4b9a27(0x167)][_0x4b9a27(0x13f)](_0x4c74ab);l[_0x4b9a27(0xcc)][_0x4b9a27(0x181)](_0x521578,this[_0x4b9a27(0xa1)])[_0x4b9a27(0xf4)](_0x2ed898=>this[_0x4b9a27(0x111)](_0x2ed898))[_0x4b9a27(0x109)](_0x4a4a6a=>{const _0x2a0eae=_0x4b9a27;this[_0x2a0eae(0xc7)](_0x2a0eae(0xc5),_0x4a4a6a);}),this[_0x4b9a27(0xbd)](this[_0x4b9a27(0xc3)],_0x4b9a27(0x127),this[_0x4b9a27(0xf8)][_0x4b9a27(0xae)](this)),this[_0x4b9a27(0xbd)](this[_0x4b9a27(0xc3)],_0x4b9a27(0xdd),(_0x753fab,_0x307078)=>{const _0x3fca87=_0x4b9a27;this[_0x3fca87(0xc7)](_0x3fca87(0xa8),_0x307078);}),this[_0x4b9a27(0xbd)](this[_0x4b9a27(0xc3)],_0x4b9a27(0x134),()=>{const _0x294460=_0x4b9a27;this[_0x294460(0xde)]=!0x1;});const _0x46daa5=this[_0x4b9a27(0x107)][_0x4b9a27(0xa3)](_0x49153d);this[_0x4b9a27(0xd8)]=!0x0;const _0x4d7a27=await this[_0x4b9a27(0xc3)][_0x4b9a27(0xb4)](_0x521578,this[_0x4b9a27(0x15a)](_0x49153d),_0x46daa5);if(this[_0x4b9a27(0x187)]=_0x4d7a27[_0x4b9a27(0x187)],_0x2d767f){if(!_0x4d7a27[_0x4b9a27(0xb0)])return void this[_0x4b9a27(0x160)]();this[_0x4b9a27(0xd8)]=!0x1,this[_0x4b9a27(0x12d)](),this[_0x4b9a27(0xa2)][_0x4b9a27(0xc2)](),this[_0x4b9a27(0x8d)]=_0x4d7a27[_0x4b9a27(0xe0)],this[_0x4b9a27(0xa2)][_0x4b9a27(0x17a)]=this[_0x4b9a27(0x8d)],await this[_0x4b9a27(0xf3)](_0x49153d,_0x4d7a27,_0x4b9a27(0x13c));}else await this[_0x4b9a27(0x115)](_0x4d7a27,_0x49153d);this[_0x4b9a27(0x182)](),this[_0x4b9a27(0xde)]=!0x0;}[_0x30ce1e(0x182)](){const _0x5157eb=_0x30ce1e,_0x5910bd=this[_0x5157eb(0x188)][_0x5157eb(0x167)][_0x5157eb(0x13f)](_0x1fe044),_0x10367b=this[_0x5157eb(0x188)][_0x5157eb(0x167)][_0x5157eb(0x13f)](_0x398bc4),_0x15b956=_0x5910bd[_0x5157eb(0xff)][_0x5157eb(0x13f)](this[_0x5157eb(0xa1)]);_0x15b956&&_0x15b956[_0x5157eb(0x9b)]>0x1?_0x10367b[_0x5157eb(0x17c)]():this[_0x5157eb(0xbd)](_0x5910bd,_0x5157eb(0x8e)+this[_0x5157eb(0xa1)],()=>{const _0x2eaf1b=_0x5157eb;0x2===_0x5910bd[_0x2eaf1b(0xff)][_0x2eaf1b(0x13f)](this[_0x2eaf1b(0xa1)])[_0x2eaf1b(0x9b)]&&_0x10367b[_0x2eaf1b(0x17c)]();});}async[_0x30ce1e(0xf8)](_0x3e4aab,_0x53cdc8,_0x27e491,_0x230f15){const _0x34d6ae=_0x30ce1e;if(!this[_0x34d6ae(0xd8)]&&this[_0x34d6ae(0x95)][_0x34d6ae(0x17a)]==_0x53cdc8){const _0x26c867=this[_0x34d6ae(0x16a)](_0x27e491,_0x230f15);await this[_0x34d6ae(0x128)](_0x26c867),this[_0x34d6ae(0x9d)](_0x26c867,_0x53cdc8,_0x27e491[_0x34d6ae(0x15e)])||this[_0x34d6ae(0xc7)](_0x34d6ae(0x130));}}async[_0x30ce1e(0x108)](){const _0x478f67=_0x30ce1e;this[_0x478f67(0xba)]();const {locale:_0x33a79e}=this[_0x478f67(0x188)];let _0x466426;try{_0x466426=await this[_0x478f67(0xc3)][_0x478f67(0x16c)]();}catch(_0x4005c2){const _0x24b7f1=_0x597df8(_0x33a79e,_0x478f67(0xd1));return void this[_0x478f67(0x160)](_0x24b7f1);}const _0x3432d6=_0x466426[_0x478f67(0xef)]||_0x466426[_0x478f67(0xbb)];if(this[_0x478f67(0xc9)]===_0x3432d6[_0x478f67(0x15e)])await this[_0x478f67(0xc8)](this[_0x478f67(0x188)][_0x478f67(0xce)][_0x478f67(0x155)][_0x478f67(0x163)][_0x478f67(0xfc)](),!0x0);else{const _0x56caa8=_0x597df8(_0x33a79e,_0x478f67(0x18d));this[_0x478f67(0x160)](_0x56caa8);}}[_0x30ce1e(0xba)](){const _0x37efe1=_0x30ce1e;this[_0x37efe1(0xc3)][_0x37efe1(0x116)](),this[_0x37efe1(0x180)]=[],clearTimeout(this[_0x37efe1(0xf6)]),this[_0x37efe1(0x14d)](this[_0x37efe1(0xc3)]);}[_0x30ce1e(0x111)](_0x22f6e4){const _0x3846ab=_0x30ce1e,_0xdea7f9=this[_0x3846ab(0x188)][_0x3846ab(0x167)][_0x3846ab(0x13f)](_0x1fe044);this[_0x3846ab(0xbd)](_0xdea7f9,_0x3846ab(0x8e)+this[_0x3846ab(0xa1)],(_0x704961,{session:_0x1cce82})=>{const _0x287ec4=_0x3846ab;if(_0x1cce82['id']===_0xdea7f9[_0x287ec4(0x177)]){_0x704961[_0x287ec4(0xb8)]();const _0x4d3e49=this[_0x287ec4(0x188)][_0x287ec4(0x167)][_0x287ec4(0x118)](_0x287ec4(0xdb))&&this[_0x287ec4(0x188)][_0x287ec4(0x167)][_0x287ec4(0x13f)](_0x287ec4(0xdb));let _0x329f06=_0x1cce82[_0x287ec4(0x97)];_0x4d3e49&&_0x4d3e49[_0x287ec4(0x9e)]&&(_0x329f06=_0x329f06[_0x287ec4(0xe6)](_0x4f09a6=>_0x287ec4(0x106)!==_0x4f09a6)),this[_0x287ec4(0x188)][_0x287ec4(0x167)][_0x287ec4(0x13f)](_0x287ec4(0x146))[_0x287ec4(0xd2)](_0x329f06,this[_0x287ec4(0xa1)]);}}),_0xdea7f9[_0x3846ab(0xd4)](this[_0x3846ab(0xa1)],_0x22f6e4);}[_0x30ce1e(0x17b)](){const _0xac7d13=_0x30ce1e,_0x3c2337=this[_0xac7d13(0x188)][_0xac7d13(0xd0)][_0xac7d13(0x121)];this[_0xac7d13(0x188)][_0xac7d13(0xd0)][_0xac7d13(0x121)]=(..._0x945b6b)=>{const _0x29b623=_0xac7d13;if(!_0x945b6b[_0x945b6b[_0x29b623(0x9b)]-0x1][_0x29b623(0xaf)])throw new _0x1f8f3e(_0x29b623(0xc0),this);_0x3c2337[_0x29b623(0xe9)](this[_0x29b623(0x188)][_0x29b623(0xd0)],_0x945b6b);};}[_0x30ce1e(0x93)](){const _0x175fc2=_0x30ce1e;this[_0x175fc2(0x188)][_0x175fc2(0xd0)]['on'](_0x175fc2(0xb6),(_0x611c91,[_0x4462ba])=>{const _0x5005aa=_0x175fc2;if(this[_0x5005aa(0x95)][_0x5005aa(0x17a)])throw new _0x1f8f3e(_0x5005aa(0x14b),this);_0x611c91[_0x5005aa(0x140)](),this[_0x5005aa(0x16d)]();const _0x4d2970=this[_0x5005aa(0x188)][_0x5005aa(0x172)][_0x5005aa(0x13f)](_0x5005aa(0x148)),_0x296b1f=this[_0x5005aa(0x135)](_0x4462ba,_0x4d2970);0x0==_0x296b1f[_0x5005aa(0x9b)]&&_0x296b1f[_0x5005aa(0xc1)](new _0x41cf93(0x0)),_0x611c91[_0x5005aa(0x16e)]=this[_0x5005aa(0xc8)](_0x296b1f)[_0x5005aa(0xf4)](()=>{const _0x354730=_0x5005aa;this[_0x354730(0x188)][_0x354730(0x167)][_0x354730(0x13f)](_0x4c74ab)[_0x354730(0x166)](this),this[_0x354730(0x188)][_0x354730(0xd0)][_0x354730(0x173)](_0x354730(0xa7));})[_0x5005aa(0x109)](_0x275ffd=>this[_0x5005aa(0xc7)](_0x5005aa(0x11f),_0x275ffd))[_0x5005aa(0xd5)](()=>this[_0x5005aa(0x12d)]());},{'priority':_0x175fc2(0x11b)}),this[_0x175fc2(0x188)]['on'](_0x175fc2(0xf1),async(_0x57a7db,[_0x388358,_0x588e14])=>{const _0x208216=_0x175fc2;_0x57a7db[_0x208216(0x140)]();const _0x4591ad=this[_0x208216(0x188)][_0x208216(0xce)][_0x208216(0x155)][_0x208216(0xc4)](_0x388358);if(!this[_0x208216(0xa0)][_0x208216(0x118)](_0x388358)){const _0x1637e4=_0x588e14&&_0x588e14[_0x208216(0xd0)]?_0x588e14[_0x208216(0xd0)]:'',_0x2462ff=_0x588e14&&_0x588e14[_0x208216(0xf0)]?_0x588e14[_0x208216(0xf0)]:{};await this[_0x208216(0x99)](_0x388358,_0x1637e4,_0x2462ff);}this[_0x208216(0x188)][_0x208216(0xce)][_0x208216(0x171)]({'isUndoable':!0x1},()=>{const _0x5631e4=_0x208216;_0x4591ad[_0x5631e4(0x133)]=!0x0,this[_0x5631e4(0x188)][_0x5631e4(0xce)][_0x5631e4(0x155)][_0x5631e4(0xb7)][_0x5631e4(0x9c)](_0x4591ad);});},{'priority':_0x175fc2(0x11b)});}async[_0x30ce1e(0x128)](_0x1afc22){const _0x5348da=_0x30ce1e,_0x134794=this[_0x5348da(0x188)][_0x5348da(0x167)][_0x5348da(0x13f)](_0x2270f4),{connection:_0xf4e421}=this[_0x5348da(0x188)][_0x5348da(0x167)][_0x5348da(0x13f)](_0x4c74ab),_0x14df1b=new Set();for(const _0x4821e8 of _0x1afc22){const _0x3e87cb=_0x4821e8[_0x5348da(0xe7)];_0x3e87cb&&!_0x134794[_0x5348da(0x91)](_0x3e87cb)&&_0x14df1b[_0x5348da(0x132)](_0x3e87cb);}if(0x0===_0x14df1b[_0x5348da(0x178)])return;const _0x5038e8=await _0x5678ab[_0x5348da(0x158)](_0xf4e421,Array[_0x5348da(0xd3)](_0x14df1b));for(const _0x4888be of _0x5038e8)_0x134794[_0x5348da(0x91)](_0x4888be['id'])||_0x134794[_0x5348da(0x15d)](_0x4888be);}[_0x30ce1e(0x135)](_0x1d77f9,_0x4c84ba={}){const _0x5a1d62=_0x30ce1e,_0x1e3285=this[_0x5a1d62(0x188)][_0x5a1d62(0xce)],_0x26ae29=[];let _0x81e0c0=0x0;const _0x215fcc=_0x5a1d62(0x10c)==typeof _0x1d77f9?{'main':_0x1d77f9}:_0x1d77f9;for(const _0x4b1750 of Object[_0x5a1d62(0x8f)](_0x215fcc)){if(!this[_0x5a1d62(0x95)][_0x5a1d62(0x138)][_0x5a1d62(0x118)](_0x4b1750))throw new _0x1f8f3e(_0x5a1d62(0x16f),this);const _0x4a3fff=this[_0x5a1d62(0x188)][_0x5a1d62(0xd0)][_0x5a1d62(0x113)](_0x215fcc[_0x4b1750]),_0x2a3d48=this[_0x5a1d62(0x95)][_0x5a1d62(0xc4)](_0x4b1750),_0x4d88a7=new _0x4ad03e(_0x1e3285[_0x5a1d62(0x170)](_0x2a3d48,0x0),_0x4a3fff,_0x81e0c0++);_0x26ae29[_0x5a1d62(0xc1)](_0x4d88a7);for(const [_0x416ae8,_0x5dd52a]of _0x4a3fff[_0x5a1d62(0x12a)]){const _0x8119c2=_0x1e3285[_0x5a1d62(0x185)](_0x1e3285[_0x5a1d62(0xea)](_0x2a3d48,_0x5dd52a[_0x5a1d62(0x92)][_0x5a1d62(0x90)][_0x5a1d62(0xac)]()),_0x1e3285[_0x5a1d62(0xea)](_0x2a3d48,_0x5dd52a[_0x5a1d62(0x17d)][_0x5a1d62(0x90)][_0x5a1d62(0xac)]())),_0x24767f=new _0x529fac(_0x416ae8,null,_0x8119c2,_0x1e3285[_0x5a1d62(0x12a)],!0x0,_0x81e0c0++);_0x26ae29[_0x5a1d62(0xc1)](_0x24767f);}}if(_0x4c84ba)for(const [_0x42db36,_0x41b577]of Object[_0x5a1d62(0x162)](_0x4c84ba)){const _0x1e09dd=_0x1e3285[_0x5a1d62(0x155)][_0x5a1d62(0xc4)](_0x42db36);if(!_0x1e09dd)throw new _0x1f8f3e(_0x5a1d62(0x144),null);for(const [_0x2b4e8d,_0x119a42]of Object[_0x5a1d62(0x162)](_0x41b577))if(null!==_0x119a42){const _0x31de44=new _0x5b347f(_0x1e09dd,_0x2b4e8d,null,_0x119a42,_0x81e0c0++);_0x26ae29[_0x5a1d62(0xc1)](_0x31de44);}}return _0x26ae29;}async[_0x30ce1e(0x99)](_0x56bb5a,_0x2a00fb,_0x120bb6){const _0xcff8f2=_0x30ce1e;this[_0xcff8f2(0x135)]({[_0x56bb5a]:_0x2a00fb},{[_0x56bb5a]:_0x120bb6})[_0xcff8f2(0x96)]((_0x6e9fd4,_0x3e6e5d)=>{const _0x4d97b6=_0xcff8f2;_0x6e9fd4[_0x4d97b6(0xf5)]=this[_0x4d97b6(0x95)][_0x4d97b6(0x17a)]+_0x3e6e5d,_0x6e9fd4[_0x4d97b6(0x122)]=!0x0,this[_0x4d97b6(0xbf)](_0x6e9fd4);}),this[_0xcff8f2(0xe8)](),await this[_0xcff8f2(0x100)]();}async[_0x30ce1e(0x115)](_0x4bc5a3,_0x173a12){const _0x966b91=_0x30ce1e;let _0x487720;this[_0x966b91(0x8d)]=_0x4bc5a3[_0x966b91(0xe0)];const _0x3e7f94=_0x4bc5a3[_0x966b91(0xb0)]&&!_0x4bc5a3[_0x966b91(0x9a)],_0x4b0ab3=_0x3e7f94?0x0:_0x4bc5a3[_0x966b91(0xd0)][_0x966b91(0xf5)];if(_0x173a12[_0x966b91(0x96)](_0x12a91e=>{const _0x200177=_0x966b91;_0x12a91e[_0x200177(0x122)]=!0x0,_0x12a91e[_0x200177(0xeb)]=_0x4bc5a3[_0x200177(0xbc)],_0x12a91e[_0x200177(0xe7)]=null;}),_0x3e7f94)_0x487720=_0x173a12,this[_0x966b91(0xcf)](_0x487720,_0x3e7f94);else{if(_0x4bc5a3[_0x966b91(0x9a)]){const _0x42c9bb=this[_0x966b91(0x135)](_0x4bc5a3[_0x966b91(0x9a)]);this[_0x966b91(0x95)][_0x966b91(0x163)][_0x966b91(0x17a)]=-_0x42c9bb[_0x966b91(0x9b)],_0x42c9bb[_0x966b91(0x96)](_0x2bba6b=>{const _0x61696b=_0x966b91;_0x2bba6b[_0x61696b(0xf5)]-=_0x42c9bb[_0x61696b(0x9b)],_0x2bba6b[_0x61696b(0xeb)]=_0x4bc5a3[_0x61696b(0xbc)],_0x2bba6b[_0x61696b(0x122)]=!0x0,_0x2bba6b[_0x61696b(0xe7)]=null;}),this[_0x966b91(0xcf)](_0x42c9bb,!0x0),this[_0x966b91(0xa2)][_0x966b91(0x17a)]=-_0x42c9bb[_0x966b91(0x9b)]+this[_0x966b91(0x8d)],this[_0x966b91(0xec)](_0x42c9bb);}this[_0x966b91(0x95)][_0x966b91(0x163)][_0x966b91(0x17a)]=_0x4b0ab3,_0x487720=this[_0x966b91(0x16a)](_0x4bc5a3[_0x966b91(0xd0)],_0x4bc5a3[_0x966b91(0x129)]),await this[_0x966b91(0x128)](_0x487720),this[_0x966b91(0xcf)](_0x487720,_0x3e7f94);}_0x4bc5a3[_0x966b91(0x15e)]&&(this[_0x966b91(0x107)][_0x966b91(0xd6)](_0x487720,_0x4bc5a3[_0x966b91(0x15e)]),this[_0x966b91(0xc9)]=_0x4bc5a3[_0x966b91(0x15e)]),this[_0x966b91(0xa2)][_0x966b91(0x17a)]=_0x4b0ab3+this[_0x966b91(0x8d)],this[_0x966b91(0xec)](_0x487720),_0x173a12[_0x966b91(0xe6)](_0x18c8cc=>{const _0x2f485c=_0x966b91,_0x37acee=this[_0x2f485c(0xd7)](_0x18c8cc);return _0x37acee&&!this[_0x2f485c(0xa0)][_0x2f485c(0x118)](_0x37acee);})[_0x966b91(0x96)]((_0x23d93f,_0x152f73)=>{const _0x5be0df=_0x966b91;_0x23d93f[_0x5be0df(0xf5)]=this[_0x5be0df(0x95)][_0x5be0df(0x17a)]+_0x152f73,this[_0x5be0df(0xbf)](_0x23d93f);}),this[_0x966b91(0xdf)]()?(this[_0x966b91(0xbe)]=0x0,this[_0x966b91(0xe8)](!0x0),await this[_0x966b91(0x100)]()):(this[_0x966b91(0xd8)]=!0x1,this[_0x966b91(0x12d)]());}[_0x30ce1e(0xc7)](_0x5ae546,_0x42d7da){const _0x5d250f=_0x30ce1e;throw this[_0x5d250f(0xd8)]=!0x0,_0x42d7da&&console[_0x5d250f(0xdd)](_0x42d7da),new _0x1f8f3e(_0x5ae546,this[_0x5d250f(0x188)]);}[_0x30ce1e(0xbf)](_0x1e9f16){const _0x1a47c8=_0x30ce1e;this[_0x1a47c8(0x17f)][_0x1a47c8(0x118)](_0x1e9f16)||(this[_0x1a47c8(0x17f)][_0x1a47c8(0x132)](_0x1e9f16),this[_0x1a47c8(0x180)][_0x1a47c8(0xc1)](_0x1e9f16),this[_0x1a47c8(0xdc)]||_0x1a47c8(0x11d)==_0x1e9f16[_0x1a47c8(0x149)]&&!_0x1e9f16[_0x1a47c8(0x110)]||this[_0x1a47c8(0x16d)]());}[_0x30ce1e(0xe8)](_0x4c9bad=!0x1){const _0x597f2f=_0x30ce1e;!_0x4c9bad&&this[_0x597f2f(0xd8)]||(this[_0x597f2f(0xd8)]=!0x0,clearTimeout(this[_0x597f2f(0xf6)]),this[_0x597f2f(0xf6)]=setTimeout(()=>{const _0xf6cc47=_0x597f2f;this[_0xf6cc47(0x11c)]()[_0xf6cc47(0xf4)](_0x305293=>{const _0x11c172=_0xf6cc47;_0x305293&&(this[_0x11c172(0x12d)](),this[_0x11c172(0xd8)]=!0x1);})[_0xf6cc47(0x109)](_0x3bda89=>{const _0xc62ff8=_0xf6cc47;if(this[_0xc62ff8(0x12d)](),this[_0xc62ff8(0xd8)]=!0x1,!function(_0x44d85b){const _0x5a9cda=_0xc62ff8;return _0x44d85b[_0x5a9cda(0x104)][_0x5a9cda(0x94)](_0x5a9cda(0x14e))||_0x44d85b[_0x5a9cda(0x104)][_0x5a9cda(0x94)](_0x5a9cda(0x14a))||_0x44d85b[_0x5a9cda(0x104)][_0x5a9cda(0x94)](_0x5a9cda(0xe1));}(_0x3bda89))throw _0x3bda89;});},this[_0x597f2f(0xbe)]));}[_0x30ce1e(0x100)](){return new Promise(_0x2dbbf9=>{const _0x352926=_0x2d5c;this['on'](_0x352926(0x12f),()=>{_0x2dbbf9();});});}async[_0x30ce1e(0x11c)](){const _0xb8c0d7=_0x30ce1e,_0x13c98d=this[_0xb8c0d7(0x188)][_0xb8c0d7(0x167)][_0xb8c0d7(0x13f)](_0x398bc4);if(this[_0xb8c0d7(0x145)]()&&(_0x13c98d[_0xb8c0d7(0x17c)](),this[_0xb8c0d7(0xad)]=!0x1),!this[_0xb8c0d7(0xdf)]())return!0x0;const _0x1e1e44=[...this[_0xb8c0d7(0x180)]];for(const _0x4b5018 of _0x1e1e44)_0x4b5018[_0xb8c0d7(0x14c)]=this[_0xb8c0d7(0x95)][_0xb8c0d7(0x163)][_0xb8c0d7(0x10b)](_0x4b5018);const _0x1c6b32=this[_0xb8c0d7(0x107)][_0xb8c0d7(0xa3)](_0x1e1e44),_0x42fe8f=K++,_0x584597=this[_0xb8c0d7(0x15a)](_0x1e1e44),_0x5fcda0=await this[_0xb8c0d7(0xc3)][_0xb8c0d7(0xa6)](_0x584597,_0x584597[_0xb8c0d7(0xf5)],_0x1c6b32);try{return await this[_0xb8c0d7(0xf3)](_0x1e1e44,_0x5fcda0,_0x42fe8f);}catch(_0x29219c){return this[_0xb8c0d7(0xc7)](_0xb8c0d7(0x98),_0x29219c);}}async[_0x30ce1e(0xf3)](_0x2e4fa2,_0x35440a,_0x655b7){const _0x83d77=_0x30ce1e;if(_0x83d77(0xdd)in _0x35440a)throw _0x35440a[_0x83d77(0xdd)];let _0x27fde5=!0x1;if(_0x35440a[_0x83d77(0xb0)]){_0x35440a[_0x83d77(0x15e)]&&(this[_0x83d77(0xc9)]=_0x35440a[_0x83d77(0x15e)]),this[_0x83d77(0x180)]=this[_0x83d77(0x180)][_0x83d77(0xe6)](_0x363589=>!_0x2e4fa2[_0x83d77(0x184)](_0x363589));for(const _0x3845e8 of _0x2e4fa2)_0x3845e8[_0x83d77(0xeb)]=_0x83d77(0x153)in _0x35440a&&_0x35440a[_0x83d77(0x153)]||void 0x0;Q(_0x2e4fa2,_0x35440a[_0x83d77(0x17a)]-_0x2e4fa2[_0x83d77(0x9b)]),this[_0x83d77(0xec)](_0x2e4fa2);const _0x2d2e61=_0x2e4fa2[_0x83d77(0xe6)](_0x46c082=>{const _0x49a638=_0x83d77;if(!_0x46c082[_0x49a638(0x122)])return!0x1;const _0x19a21=this[_0x49a638(0xd7)](_0x46c082);return _0x19a21&&!this[_0x49a638(0xa0)][_0x49a638(0x118)](_0x19a21);});Q(_0x2d2e61,this[_0x83d77(0x95)][_0x83d77(0x17a)]),this[_0x83d77(0xcf)](_0x2d2e61),_0x27fde5=!0x0,this[_0x83d77(0xbe)]=this[_0x83d77(0xf2)];}else{const _0x500dc6=this[_0x83d77(0x16a)](_0x35440a[_0x83d77(0xd0)],_0x35440a[_0x83d77(0x129)])[_0x83d77(0xe6)](_0x1782b9=>_0x1782b9[_0x83d77(0xf5)]>=this[_0x83d77(0x8b)]);_0x500dc6[_0x83d77(0x96)](_0x2b0a81=>this[_0x83d77(0xfb)](_0x2b0a81)),this[_0x83d77(0x180)]=this[_0x83d77(0x180)][_0x83d77(0xe6)](_0x1a4613=>!_0x1a4613[_0x83d77(0x122)]||!this[_0x83d77(0xa0)][_0x83d77(0x118)](this[_0x83d77(0xd7)](_0x1a4613))),this[_0x83d77(0x180)][_0x83d77(0x9b)]&&Q(this[_0x83d77(0x180)],this[_0x83d77(0x180)][0x0][_0x83d77(0xf5)]),await this[_0x83d77(0x128)](_0x500dc6),_0x27fde5=this[_0x83d77(0x9d)](_0x500dc6,_0x35440a[_0x83d77(0x17a)],_0x35440a[_0x83d77(0x15e)]),this[_0x83d77(0xbe)]=Math[_0x83d77(0xfd)](this[_0x83d77(0xbe)]/0x2);}return _0x27fde5?!this[_0x83d77(0xdf)]()||(this[_0x83d77(0xe8)](!0x0),!0x1):this[_0x83d77(0xc7)](_0x83d77(0x174));}[_0x30ce1e(0x9d)](_0x3f016c,_0x572972,_0x33d00f){const _0x560b6a=_0x30ce1e;try{const _0x21a1ce={'document':this[_0x560b6a(0x95)],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x17499f,operationsB:_0x5cc8a5,originalOperations:_0x240689}=_0x4c862e(_0x3f016c,this[_0x560b6a(0x180)],_0x21a1ce);Q(_0x17499f,this[_0x560b6a(0x95)][_0x560b6a(0x17a)]),Q(_0x5cc8a5,_0x572972);for(const _0x285c07 of _0x17499f){const _0x210b04=_0x240689[_0x560b6a(0x13f)](_0x285c07);_0x285c07[_0x560b6a(0xe7)]=_0x210b04?_0x210b04[_0x560b6a(0xe7)]:null;}_0x33d00f&&(this[_0x560b6a(0x107)][_0x560b6a(0xd6)](_0x3f016c,_0x33d00f),this[_0x560b6a(0xc9)]=_0x33d00f),this[_0x560b6a(0x180)]=[..._0x5cc8a5],this[_0x560b6a(0xcf)](_0x17499f),this[_0x560b6a(0xec)](_0x3f016c);}catch(_0x3d1137){return console[_0x560b6a(0xdd)](_0x3d1137),!0x1;}return!0x0;}[_0x30ce1e(0xcf)](_0x33beb,_0x5e698f=!0x1){const _0x1b41a0=_0x30ce1e;this[_0x1b41a0(0x188)][_0x1b41a0(0xce)][_0x1b41a0(0x171)]({'isUndoable':!0x1,'isLocal':!0x1},_0xff4fc2=>{const _0x4f1967=_0x1b41a0;for(const _0x257351 of _0x33beb)this[_0x4f1967(0x17f)][_0x4f1967(0x132)](_0x257351),this[_0x4f1967(0xfb)](_0x257351),_0xff4fc2[_0x4f1967(0x147)][_0x4f1967(0xe2)](_0x257351),this[_0x4f1967(0x188)][_0x4f1967(0xce)][_0x4f1967(0xa5)](_0x257351);});}[_0x30ce1e(0xfb)](_0x51ccf3){const _0x3a1cd8=_0x30ce1e,_0xc1c5b1=this[_0x3a1cd8(0xd7)](_0x51ccf3);_0xc1c5b1&&this[_0x3a1cd8(0xa0)][_0x3a1cd8(0x132)](_0xc1c5b1);}[_0x30ce1e(0xd7)](_0x128542){const _0x573577=_0x30ce1e;let _0x28c0a0,_0x16332f;switch(_0x128542[_0x573577(0x149)]){case _0x573577(0x168):_0x28c0a0=_0x128542[_0x573577(0x12b)][_0x573577(0x141)];break;case _0x573577(0x11d):if(_0x16332f=_0x128542[_0x573577(0x137)],!_0x16332f)return null;_0x28c0a0=_0x16332f[_0x573577(0x141)];break;case _0x573577(0x119):_0x28c0a0=_0x128542[_0x573577(0x141)];break;case _0x573577(0x164):_0x28c0a0=_0x128542[_0x573577(0x124)];break;case _0x573577(0xf7):_0x28c0a0=_0x128542[_0x573577(0x152)][_0x573577(0x141)];break;default:return null;}return _0x28c0a0[_0x573577(0x157)];}[_0x30ce1e(0xec)](_0x49766c){const _0x4a708e=_0x30ce1e;_0x49766c[_0x4a708e(0x96)](_0x3e91d8=>{const _0x2f692a=_0x4a708e,_0x4e70d0=_0x3e91d8[_0x2f692a(0x186)]();_0x4e70d0[_0x2f692a(0xe7)]=_0x3e91d8[_0x2f692a(0xe7)],_0x4e70d0[_0x2f692a(0x122)]=!!_0x3e91d8[_0x2f692a(0x122)],_0x4e70d0[_0x2f692a(0xeb)]=_0x3e91d8[_0x2f692a(0xeb)],_0x4e70d0[_0x2f692a(0xf5)]+=this[_0x2f692a(0x8d)],_0x3e91d8[_0x2f692a(0xb2)]&&this[_0x2f692a(0xe5)][_0x2f692a(0x132)](_0x4e70d0),this[_0x2f692a(0xa2)][_0x2f692a(0xe2)](_0x4e70d0);});}[_0x30ce1e(0x160)](_0x59e00a){const _0x33f804=_0x30ce1e,_0x305471=this[_0x33f804(0x188)][_0x33f804(0x167)][_0x33f804(0x13f)](_0x33f804(0x10e)),_0x33a1d7=this[_0x33f804(0x188)][_0x33f804(0xaa)];_0x59e00a||(_0x59e00a=_0x597df8(_0x33a1d7,_0x33f804(0x189))),_0x305471[_0x33f804(0x13a)](_0x59e00a,{'title':_0x597df8(_0x33a1d7,_0x33f804(0xa9)),'namespace':_0x33f804(0x15c)}),this[_0x33f804(0x15f)]=!0x0,clearTimeout(this[_0x33f804(0xf6)]),this[_0x33f804(0x180)]=[],this[_0x33f804(0x188)][_0x33f804(0x167)][_0x33f804(0x13f)](_0x4c74ab)[_0x33f804(0xcd)]();}[_0x30ce1e(0x16d)](){const _0x497388=_0x30ce1e;this[_0x497388(0xdc)]||(this[_0x497388(0xdc)]=this[_0x497388(0x188)][_0x497388(0x167)][_0x497388(0x13f)](_0x3586dd)[_0x497388(0x132)](_0x597df8(this[_0x497388(0x188)][_0x497388(0xaa)],_0x497388(0x9f))));}[_0x30ce1e(0x12d)](){const _0x3aaac6=_0x30ce1e;this[_0x3aaac6(0xdc)]&&(this[_0x3aaac6(0x188)][_0x3aaac6(0x167)][_0x3aaac6(0x13f)](_0x3586dd)[_0x3aaac6(0x151)](this[_0x3aaac6(0xdc)]),this[_0x3aaac6(0xdc)]=null);}[_0x30ce1e(0x15a)](_0x552e3d){const _0x1a5973=_0x30ce1e,_0x5e9c87=_0x552e3d[_0x1a5973(0x156)](_0x289f2f=>_0x289f2f[_0x1a5973(0xab)]());return this[_0x1a5973(0xb9)][_0x1a5973(0xed)](_0x5e9c87);}[_0x30ce1e(0x16a)](_0x41396a,_0xb21acf){const _0x2ba084=_0x30ce1e;return this[_0x2ba084(0xb9)][_0x2ba084(0xb1)](_0x41396a)[_0x2ba084(0x156)]((_0x4dd4bd,_0x5a9f30)=>{const _0x58ebb6=_0x2ba084,_0x22be0c=_0x58ebb6(0xb6)==_0xb21acf[_0x5a9f30][_0x58ebb6(0x149)];if(_0x58ebb6(0x114)==_0x4dd4bd[_0x58ebb6(0x11a)]){const _0x44f2c1=_0x4dd4bd[_0x58ebb6(0x12b)][_0x58ebb6(0x141)];!this[_0x58ebb6(0x95)][_0x58ebb6(0xc4)](_0x44f2c1)&&(this[_0x58ebb6(0x95)][_0x58ebb6(0x10a)](_0x58ebb6(0x11e),_0x44f2c1)[_0x58ebb6(0x12c)]=!0x1);}const _0x7b608a=_0x287a5a[_0x58ebb6(0x126)](_0x4dd4bd,this[_0x58ebb6(0x95)]);return _0x7b608a[_0x58ebb6(0x14c)]=_0x4dd4bd[_0x58ebb6(0x14c)],_0x7b608a[_0x58ebb6(0x122)]=_0x22be0c,_0x7b608a[_0x58ebb6(0xe7)]=_0x22be0c?null:_0xb21acf[_0x5a9f30][_0x58ebb6(0xf9)],_0x7b608a[_0x58ebb6(0xb2)]=_0x58ebb6(0x125)===_0xb21acf[_0x5a9f30][_0x58ebb6(0x149)],_0x7b608a[_0x58ebb6(0xeb)]=_0xb21acf[_0x5a9f30][_0x58ebb6(0xeb)],_0x7b608a;});}[_0x30ce1e(0x183)](){const _0x5b3697=_0x30ce1e;this[_0x5b3697(0xad)]=!0x0,this[_0x5b3697(0x145)]()?this[_0x5b3697(0xe8)]():this[_0x5b3697(0xad)]=!0x1;}[_0x30ce1e(0x145)](){const _0x53e08b=_0x30ce1e,_0x18269f=this[_0x53e08b(0x188)][_0x53e08b(0x167)][_0x53e08b(0x13f)](_0x1fe044)[_0x53e08b(0xff)][_0x53e08b(0x13f)](this[_0x53e08b(0xa1)]);return!this[_0x53e08b(0x188)][_0x53e08b(0x120)]&&!!_0x18269f&&_0x18269f[_0x53e08b(0x9b)]>0x1&&this[_0x53e08b(0xad)];}[_0x30ce1e(0xdf)](){const _0x24c2ec=_0x30ce1e;return this[_0x24c2ec(0x180)][_0x24c2ec(0x9b)]>0x0||this[_0x24c2ec(0x145)]();}}l[_0x30ce1e(0xcc)]=_0x2d7d2b;export default l;class J extends Error{}function Q(_0x41b2ff,_0x37d721){const _0x1267da=_0x30ce1e;for(const _0xb3417b of _0x41b2ff)_0xb3417b[_0x1267da(0xf5)]=_0x37d721++;}class X{constructor(_0x590c40){const _0x20b22c=_0x30ce1e;this[_0x20b22c(0x154)]=_0x590c40,this[_0x20b22c(0x15b)]=new WeakMap();}[_0x30ce1e(0xa3)](_0x6bef1a){const _0x31801d=_0x30ce1e;let _0x3b44b1=_0x6bef1a[_0x31801d(0x9b)];for(;_0x3b44b1--;){const _0x4b5f48=_0x6bef1a[_0x3b44b1];if(!this[_0x31801d(0x154)][_0x31801d(0x118)](_0x4b5f48)){if(!this[_0x31801d(0x15b)][_0x31801d(0x118)](_0x4b5f48)){const _0x329170=_0x1bb004()[_0x31801d(0xac)](0x1,0x12);this[_0x31801d(0x15b)][_0x31801d(0x121)](_0x4b5f48,_0x329170);}return this[_0x31801d(0x15b)][_0x31801d(0x13f)](_0x4b5f48);}}}[_0x30ce1e(0xd6)](_0x2eaadf,_0x252ebc){const _0x1f2fad=_0x30ce1e;if(!_0x252ebc)return;let _0x447c3d=_0x2eaadf[_0x1f2fad(0x9b)];for(;_0x447c3d--;){const _0x49b579=_0x2eaadf[_0x447c3d];this[_0x1f2fad(0x154)][_0x1f2fad(0x118)](_0x49b579)||this[_0x1f2fad(0x15b)][_0x1f2fad(0x121)](_0x49b579,_0x252ebc);}}}